《2023年安徽工业大学操作系统实验报告.docx》由会员分享,可在线阅读,更多相关《2023年安徽工业大学操作系统实验报告.docx(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、操作系统教程实验报告书专业班级 物141班学号姓名程裕博指导教师郭玉华安徽工业大学计算机属性的指针2. BOO L bl n it i al Own e r 代表布尔 bln i t i a 1 Ow n e r3. L PC T STR 1 pNam e 代表 LPCTSTR 类型 IpNam e2 ) Create S e mapho r e中有几个参数,各代表什么含义,信号量的初值在 第几个参数中。四个:Ip Semaphore A t tri b u t e s S ECUR I TY_ATTRIBUTE S ,指定一个 S ECU R I TY_AT T RIBUTES结构,或传递室
2、值一一表达采用不允许继承的默认 描述符。该参数定义了信号机的安全特性;1I n i tial Count Lon g ,设立 信号机的初始计数。可设立零到IMa x imumCoun t之间的一个值;Maxi mumCo u nt L ong,设立信号机的最大计数;1 pN a me Str i ng,指定信号机 对象的名称。3)程序中P、V原语所相应的实际W i ndows AP I函数是什么,写出这几条 语句。HANDLE Mutex;HANDLE Ful 1 Semap h ore; HAND L E Empty S e ma p hore;DWORD WIN A P T Prod uc
3、er(LPV OID) ; DWORD WINAPI Consume r (LPVO I D);4) C r ea t eMutex能用CreateSem a p h o re替代吗?尝试修改程序3 1, 将信号量Mut e x完全用C r ca t cS e maphorc及相关函数实现。写出要修改的语 句:可以Mut e x=C r ea t e S e maph o re (NULL, fals e , f a Ise, NULL );(2).读者写者问题根据实验(1)中所熟悉的P、V原语相应的实际W i n dow s API函数,并 参考教材中读者、写者问题的算法原理,尝试运用Win
4、dows API函数实现第一类读者写者问题(读者优先)。3、 实验结论将信号量看作生产或消费的一个对象,对信号量的生成和销毁操作如同P 操作和v操作同样,生成者消费者问题模拟的就是对信号量的生成和销毁,其中 牵涉了信号量的同步,这也是该问题为什么称为同步的经典问题的因素。实验四存储管理实验目的(1)通过对Windows 2 0 23 “任务管理器”、“计算机管理”、“我的电脑”属性、“系统信息”、“系统监视器”等程序的应用,学习如何察看和调整W i nd ows的内存性能,加深对操作系统存储管理、虚拟存储管理等理论 知识的理解。(2) 了解Wi n d o ws 202 3的内存结构和虚拟内存
5、的管理,理解进程的虚拟内 存空间和物理内存的映射关系。1、 实验内容和环节(1)观测和调整Windows 2 023/XP的内存性能。环节1 :阅读“背景知识。请回答:1)什么是“分页过程”?一分页就是将信息从本内存移动到磁盘进行临时存储的过程2)什么是“内存共享”?一应用程序经常需要彼此通信和共享信息。一3) 什么是“未分页合并内存”和“分页合并内存”?Window s 2023中,未分页合并内存的最大限制是多少?分页合并内存是存储迟早需要的可分页代码或数据的内存部分。未分页合并内存包含必须驻留在内存中的占用代码或数据。4 ) Windows 2 0 2 3分页文献默认设立的最小容量和最大容
6、量是多少? Windows 2 0 2 3使用内存数量的1. 5倍作为分页文献的坡小容量,这 个最小容量的两倍作为最大容量。环节 2 :登录进入 Win d ow s 2 02 3 Pro fess i on al环节3:查看包含多个实例的应用程序的内存需求。1)启动想要监视的应用程序,例如Word。2)右键单击任务栏以启动“任务管理器二3)在“W i ndow s任务管理器”对话框中选定“进程”选项卡。4) 向下滚动在系统上运营的进程列表,查找想要监视的应用程序。请在表4- 3中记录:表4-3 实验记录映像名称PIDCPUCPU时间内存使用WINWORD368000:00: 382 3.4
7、40“内存使用”列显示了该应用程序的一个实例正在使用的内存数量。5)启动应用程序的另一个实例并观测它的内存需求。请描述使用第二个实例占用的内存与使用第一个实例时的内存对比情况:印像名称:Explorer. E X E pi d : 1 6 52_cpu: 0 : 00: 2 6 内存使用:29, 0 28环节4:未分页合并内存。估算未分页合并内存大小的最简朴方法是使用“任务管理器”。未分页合并 内存的估计值显示在“任务管理器”的“性能”选项卡的“核心内存”部分。总数(K) : 82 0 76分页数:34900。未分页(K):471 7 6还可以使用“任务管理器”查看一个独立进程正在使用的未分页
8、合并内存数 量和分页合并内存数量。操作环节如下:1)单击“W i ndows任务管理器”的“进程”选项卡,然后从“查看”菜 单中选择“选择列”命令,显示“进程”选项卡的可查看选项。2)在“选择列”对话框中,选定“页面缓冲池”选项和“非页面缓冲池”选 项旁边的复选框,然后单击“拟定”按钮。返回Windows 2023 ”任务管理器”的“进程”选项卡时,将看到其中增长显 示了各个进程占用的分页合并内存数量和未分页合并内存数量。仍以刚才打开观测的应用程序(例如Word)为例,请在表4-4中记录:表4-4 实验记录映像名称PID内存使用页面缓冲池非负囿缓冲 池WINWORD3 6 82 3.63853
9、 01 6从性能的角度来看,未分页合并内存越多,可以加载到这个空间的数据就越 多。拥有的物理内存越多,未分页合并内存就越多。但未分页合并内存被限制为 256MB,因此添加超过这个限制的内存对未分页合并内存没有影响。环节5:提高分页性能。在Windows 2 0 2 3的安装过程中,将使用连续的磁盘空间自动创建分 页文献(page f i le.s y s )。用户可以事先监视变化的内存需求并对的配置分页 文献,使得当系统必须借助于分页时的性能达成最高。虽然分页文献一般都放在系统分区的根目录下面,但这并不总是该文献的最 佳位置。要想从分页获得最佳性能,应当一方面检查系统的磁盘子系统的配置,以了解
10、它是否有多个物理硬盘驱动器。I)在“开始”菜单中单击“设立”-“控制面板”命令,双击“管理工具” 图标,再双击“计算机管理”图标。2)在“计算机管理”窗口的左格选择“磁盘管理”管理单元来查看系统的 磁盘配置。假如系统只有一个硬盘,那么建议应当尽也许为系统配置额外的驱动器。这 是由于:Windows 202 3最多可以支持在多个驱动器上分布的1 6个独立的分 页文献。为系统配置多个分页文献可以实现对不同磁盘I /O请求的并行解决, 这将大大提高I/O请求的分页文献性能。请在表4 5中记录:表4-5 实验记录卷布局类型文献系统容量状态C:磁盘分 区基本FAT3248.82G状态良好(系 统)D:磁
11、盘分 区基本FAT3 224. 5 0G状态良好(页 面文献)L E NEVO_P A RT磁盘分 区基本FAT3230 5 MB状态良好(EISA配置)环节6:计算分页文献的大小。要想更改分页文献的位置或大小配置参数,可按以下环节进行:1)右键单击桌面上的“我的电脑”图标并选定“属性”。2)在“高级”选项卡上单击“性能选项”按钮。3)单击对话框中的“虚拟内存”区域中的“更改”按钮。请记录:所选驱动器(C:)的页面文献大小:驱动器:_C: WI NXP _。可用空间:2 32 9 8MB。初始大小(MB) :1 5 24。最大值(MB): 3 04 8所选驱动器(D:)的页面文献大小:(假如有
12、的话)。驱动器:D: SOFTT W A RE。可用空间:12925 MB所有驱动器页面文献大小的总数:。允许的最小值:2MB推荐:15 2 2 MB。当前已分派:15 2 4MB4)要想将另一个分页文献添加到现有配置,在“虚拟内存”对话框中选定 一个还没有分页文献的驱动器,然后指定分页文献的初始值和最大值(以兆字节 表达),单击“设立”,然后单击“拟定二5)要想更改现有分页文献的最大值和最小值,可选定分页文献所在的驱动 器。然后指定分页文献的初始值和最大值,单击“设立”按钮,然后单击“拟定” 按钮。6)在“性能选项”对话框中单击“拟定”按钮。7)单击“拟定”按钮以关闭“系统特性”对话框。环节
13、7:使用任务管理器。可以使用“任务管理器”来简朴地检查分页文献是否配置了对的容量。这样 可以实时提供系统正在使用分页文献的方式以及其他重要系统信息的准确描述。通过右键单击任务栏运营“任务管理器”,选定“性能”选项卡查看实时的 系统记录数据。与分页文献大小最有关的信息位于“认可用量”区域。这一区域 显示了认可“峰值”是否达成或超过了认可“限制”,以及它是否超过了系统上 的物理内存数量。认可“峰值”是指系统迄今为止向进程分派的最大物理内存和虚拟内存数量。请记录:物理内存(K)。总数: 1 0 397 2 4可用数:517 644。系统缓存:5 01940认可用量(K)总数: 8 595 7 2。限
14、制:25 0 0 780。峰值:1 2 389 5 6当系统碰到分页活动增长的情况时,提交的内存数量(“认可总数”)就会 增长。一旦它达成了 “认可限制”值,系统就需要扩展分页文献。“认可限制” 值指出在不必扩展分页文献的情况下可以向内存提交的虚拟内存数量。由于目的 是避免扩展分页文献,所以必须保持“认可总数”和“认可限制”值相差较大。 假如这两个值接近了,那么系统必须动态增长分页文献的大小。“任务管理器”的“认可用量”区域显示的信息还说明了系统的主内存是否 足以满足系统执行的任务。假如认可“总数”值经常超过系统中的内存数量,那 么系统的物理内存也许局限性。(2) 了解和检测进程的虚拟内存空间
15、。环节1 :创建一个“Win3 2 Consol A p plicat i on”工程,然后拷贝清 单4T中的程序,编译成可执行文献。环节2:在VC的工具栏单击“Execu t e P r o g ram(执行程序)按钮, 或者按Ct rl + F5键,或者在“命令提醒符”窗口运营环节1中生成的可执 行文献。范例:E:课程o s课os实验、程序o s 1 1 d e b u g o s 41(假设编译生成的可执行文献是os41. exe)环节3:根据运营结果,回答下列问题虚拟内存每页容量为:4 . 0 OK B最小应用地址:0x0 0 010 0 00最大应用地址:0x7f fe f f ff
16、当前可供应用程序使用的内存空间为:1 .99GB当前计算机的实际内存大小为:0.99GB理论上每个W i n d ows应用程序可以独占的最大存储空间是:0 .99G B提醒:可供应用程序使用的内存空间事实上已经减去了开头与结尾 两个6 4 KB的保护区。虚拟内存空间中的6 4KB保护区是防止编程错 误的一种W i ndow s方式。任何对内存中这一区域的访问(读、写、 执行)都将引发一个错误陷阱,从而导致错误并终止程序的执行。按com mitted、r eser v ed f r ee等三种虚拟地址空间分别记录实验数据。其中“描述”是指对该组数据的简朴描述,例如,对下列一组数据:0 0()
17、1 ()000 - ()001202 3 8.00B C omm i tted,READWRIT E,Pr i v a t e可描述为:具有READ WR I TE权限的已调配私有内存区。将系统当前的自由区(free)虚拟地址空间填入表46中。表4-6实验记录地址大小虚拟 地址 空间 类型访问权限描述0 0015 6 .0KBfreeNOACC E SS()0 0 260.0 KBf reeN 0 AC C E SS00 1 352.0KBf reeNOACCE SS0 02740.0 KBfre eNOACCES S0 02c 100 0 -002d 000 060. 0KBfreeNOAC
18、CESS0 03 160. 0KBfr e eNO ACCESS00324 0.0KBf reeNO ACCESS00 3 760. 0KBfreeN 0 A C CES S()()391000- 0 0 3 a 0 0 0060 . 0KBf r eenoacce s s0 0 3 a 1000-0 0 3b0 00060.0KBfr e eNO ACC ESS0 0 3c3 0 0()-()()3d()()()052.()KBfr e eNOACCE ss003e1 28KBf reeNOAC C ESS0 0 4844. 0KBfreeNOACCESS005532. 0K Bfre eN
19、O A CC E SS0 06652. 0K Bf reeNOACC ESS00970() 0 0- 6 2 c 2 0 2301 . 53GBfre eN O ACCE SS6 2 c 29 0 0 0 -73fa 00 0 02 7 5MBf r eeNOACCESS7 40 0 b34.9 MBfr e eN O A CCESS7 6 3 1 dOO 0 - 7 7beOO 002 4. 7MBf r eeNOACCESS7 7c 3 800 0 - 7 7dl 0 ()0()864 K BfreeNO ACCESS77 e 4900 0 -7 7 e 5000028.0KBfre eN
20、OACCESS77 e e 2 0 23-77ef00005 6. 0KBfreeNOACC ESS77f3 9000-77f400002 8 .0KBf r eeNOA CCES S77f b 600 0 - 7 7f c 00004 0.0K BfreeN OA C C E SS77fdl 0 0 0-7 c 8000 0072.1 MBfreeN O AC CESS提醒:具体记录实验数据在实验活动中是必要的,但想想是否可以简 化记录的办法?将系统当前的已调配区(committed)虚拟地址空间填入表4 7中。表4-7实验记录实验一 WIN DOWS进程初识地址大小虚拟地址 空间类型访问权
21、限描述0 0018.00KBc ommi t tedREA D WR I TE,P r i v a te0 0 024.00KBcommit t edREADWRITE,Pr i va t e()01 2 c() 0 0- 0 012 d 0004. 00KBcommittedG UARD, R E ADWRITE,Pri v a te()0 12d12.0KBcom mi t tedREADWR I TE,P r iv a te001420.0KBcomm i t t e dREA D WRITE,P r ivate002424 .0KBc omm i tiedREADWR I TE,Pri
22、 v a t e00251 2.0K Bc ommit t edR EADWRITE,Ma p p e d0 0 2 688 . 0KBcomm i t t e dR EADON LY,Mapped00280 0 00- 0 0 2 cl 0002 6 0KBcommittedREADON L Y,Mapp e d00 2d260KBcommitte dREADONLY,Ma p p ed0 03224 . 0KBcom m i ttedREADON LY,Mapped00332 60KBcomm itte dRE ADONLY,M 叩pe d00 3 83 2.0K Bcomm i t t
23、edR E ADWRITE,Pr i v at e00 3 94.00c o mmit tREADW RITE,Pri v a te1、 实验目的(1)学会使用VC编写基本的Win32 Con s o 1 Applic a tio n (控制(2)台应用程序)。(3)掌握W I NDOWS API的使用方法。(4)编写测试程序,理解用户态运营和核心态运营。2、 实验内容和环节(1)编写基本的 Win 3 2 Consol Applicati o n环节1:登录进入Wi n d ows,启动VC+ 6. 0。环节2:在“FI LE”菜单中单击“NEW”子菜单,在“proj ect s ”选项卡
24、中选择Win32 Co n s o 1 Applicati o n”,然后在P r o ject n a me”处输 入工程名,在“Location”处输入工程目录。创建一个新的控制台应用程序 工程。环节3:在“FILE”菜单中单击“NEW”子菜单,在“F i les”选项卡中选择 “C+ Sou r c e File”,然后在“File”处输入C/C+源程序的文献名。环节4:将清单17所示的程序清单复制到新创建的C/C+源程序中。编译 成可执行文献。环节5:在“开始”菜单中单击“程序”- “附件”-“命令提醒符”命令, 进入Windows ”命令提醒符”窗口,然后进入工程目录中的debu g
25、子目录, 执行编译好的可执行程序:E:课程 o s 课os 实验程序osll de b ughe 1 1 o. ex e运营结果(假如运营不成功,则也许的因素是什么?):KBed00 3 a 0 0 0 0-003 a1 00 04 .0 0KBc 0mmittedREA DWR I TE,P r iva t e0() 3 bOOOO- 0 03b400 016.0 KBc om m iltedREADWRITE,Priva t e0 03 c 0 0 0 0-003c300012.0K Bc o mmi t tedREADONLY,Map ped0 0 3d 0 000- 0 0 3 d3
26、00 012. 0 KBcomm i ttedR E ADWRITE,P r i vate00 4 04 . 00 KBc omm i t tedREADONLY,I mag e , M o du 1 e: l.e x e0 0 404 44K Bc o mmittedEX E CUTE _RE AD,Ima g e0 04732 .0KBcommit t e dREADONLY,I m a ge0 0 4 7 800 0 - 0 047b00012. 0 KBc o mmi t te dR E ADWR I TE,Im a ge0047b 0 0 0 -004 7 d0008 .0 0 KB
27、c ommi t tedWR ITECOPY,I mage004 7 d16 .0KBc om m i t te dREA D WR I TE,Image004816.0K BcommittedREADONLY,Ima g e将系统当前的保存区(rese rved)虚拟地址空间填入表4-8中。表4-8实验记录地址大小虚拟地 址 空间类 型访问权限描述0 0 03 0 0 00- 0 0 10.9 8r e s e rvR E ADON L Y,Private2 c 00()MBe d0 0 140.98MBr e s e rvedREA D ONLY,P r i vate0 0 244 0.0
28、KBres e rvedREA D 0 N L Y,Pr i v a te0 0 2 55 2.0KBres e rvedREADONLY,M a ppe d0 0 3832.0K Br e serv e dreadonly,Pr i v a te0 0 3 b 4 00 0 -OO3cO 0 004 8 .0KBreservedREADONLY,P r i v at e00 3(130 0 0 -0 0 3e00 0()52. 0KBr e serve dREADONLY,Private004974 4KBres e r v edREADON L Y,Ma p ped00 5 524 . 0
29、 KBreservedREAD 0 NLY,M a p pe d0 0 6f2 .49MBre s erv e dR EADON L Y,Mapped7f6f70 0 0-7f7f0000996 K Bre servcdREADONLY,M a pped7 f fel()00-7 f ffO 0 0 06 ().0KBreserv e dNO ACC ESS,Pri v ate3.实验结论:简朴描述wind o ws进程的虚拟内存管理方案:虚拟地址是将逻辑地址映射到物理地址的一种手段,管理方案有:请求分页、 请求分段和请求段页虚拟存储管理。请求分页:将进程的信息副本存放在辅助存 储器中,当它被
30、调度投入运营时,并不把程序和数据所有装入主存,仅装入当前使 用的页面,进程在执行过程中访问到不在主存的页时,再把所需的信息动态的装 入。请求分段:把作业的所有分段的副本都存放在辅助存储器上,当作业被调度 投入运营时,一方面把当前需要的段装入主存,在执行过程中访问到不在主存的段 时再将其动态装入。请求段页式虚拟存储管理:对段式存储和页式存储的优点结 合。运 营 成 功, 截 图Hello, Win32 Consol Application Press any key to continue.(2)计算进程在核心态运营和用户态运营的时间环节1:按照(1)中的环节创建一个新的“Win 3 2 C o
31、 nsol Ap p lie a t i。n”工程,然后将清单1-2中的程序拷贝过来,编译成可执行文献。环节2:在创建一个新的“Win32 Con s ol A p p licatio n ”工程,程 序的参考程序如清单1 3所示,编译成可执行文献并执行。环节3 :在“命令提醒符”窗口中运营环节1中生成的可执行文献,测试环节 2中可执行文献在核心态运营和用户态运营的时间。E: 课程 o s 课os 实验、程序os 1 2debugtime T E ST. exe环节4:运营结果(假如运营不成功,则也许的因素是什么?):process ID: 371 6 ,EXE fi 1 e: 3 . e x
32、e,% d i n Ker n e 1 m o de: 60环节5:分别屏蔽Whil e循环中的两个for循环,或调整两个fo r循环的次 数,写出运营结果。屏蔽i循环:p r o c es s ID :1 41 2 ,EX E f ile:3.exe, %d i n K e rn e 1 mode: 62屏蔽j循环:proc e s s ID: 1 8 1 6,E XE fi 1 e: 3.exe,% d in Kernel mode: 3 4调整循环变量i的循环次数:process I D: 2616, E XE f ile: 3 . e xe, %d in Ke rn el mod e:
33、 6 4 调整循环变量j的循环次数:p r oc e s s I D: 1868, EX E file:3. ex e ,%d in Kern e 1 m o de: 5 0实验结论对 Win3 2 Consol Appl i c a t i on 有进一步的结识,WIN32 API 也就是Wi ndows 32 平台的应用程序编程接口。用户态运营和核心态运营,核 心态就是一个是直接的代码运营,即 win32cons ol Application下代码 运营;而用户态是在DOS下运营的,对编译好的程序进行的运营,核心态速度较 快,没有太多的约束,而用户态的运营需要时间较长,由于有相应的约束。实
34、验二进程管理1、实验目的1)通过创建进程、观测正在运营的进程和终止进程的程序设计和调试操 作,进一步熟悉操作系统的进程概念,理解w i ndow s进程的“一生二2 )通过阅读和分析实验程序,学习创建进程、观测进程、终止进程以及 父子进程同步的基本程序设计方法。2、实验内容和环节(1) .创建进程本实验显示了创建子进程的基本框架。该程序只是再一次地启动自身,显示 它的系统进程ID和它在进程列表中的位置。环节1 :创建一个“Win 3 2 Consol Ap p 1 i cation 工程,然后拷贝 清单2 1中的程序,编译成可执行文献。环节2:在“命令提醒符”窗口运营环节1中生成的可执行文献。
35、运营结果: 范例:E:课程os课o s实验程序osl 1 d e b u gos2 1(假设编译生成的可执行文献是。s 2 1 . exe)Pro c e s s ID: 3 0 1 2, Cl o n e I D: 0Process I D: 2 748, C 1 o ne I D : 1Process ID:404 4, Clone ID: 2Proc ess ID: 2 8 9 6 , Clone I D :3Process I D : 1588, Clone 1D:4Pro cess ID:2144, Clone ID:5按下c trl+alt+del,调用wind o ws的任务管理
36、器,记录进程相关的行为属性:Cppl. exe Cppl.exe Cppl.exe Cppl.exe Cppl.exe Cppl.exeK K K K K K2 4 2 2 2 25 4 5 5 5 5 1A 11 1A 11 oo 1AAdmini strator Admini strator Admini strator Admini strator Adm ini strator Administrator环节3:在“命令提醒符”窗口加入参数重新运营生成的可执行文献。运营结果:范例:E: 课程os 课。s 实验程序 os 1 1 d e b u gos21 3(假设编译生成的可执行文献是
37、os2L exe)Process ID:31 1 2, Clone I D:3P r o ce s s ID: 1380, Clone ID:4Process ID:35 7 6, Clone ID: 5按下c t rl+a 1 t+de 1 ,调用wind o ws的任务管理器,记录进程相关的行为属cmd. exe30720004, 756 KCppl.exe1572000848 KCppl.exe2020000I, 148 KCppl.exe3264000I. 140 K性:环节4:修改清单2 7中的程序,将n Clone的定义和初始化方法按程序注 释中的修改方法进行修改,编译成可执行文献
38、(执行前请先保存已经完毕的工 作)。再按环节2中的方式运营,看看结果会有什么不同样。运营结果:P r oce ss ID: 3112, CloneID:3Pr o c e ss ID:1 3 80, C 1 o ne ID: 4Process ID: 35 76, Clone ID:5Cppl. exe13800001 152 KCppl.exe31120001, 144 KCppl. exe357600064K病你可以得面什么结论:一nClone的作用:控制ID的起始值,并控制其输出窗口的数量。变量的定义和初始化方法(位置)对程序的执行结果有影响吗?为什么?有影响, 变量的定义影响了程序的结
39、果数目,还影响了 I D的其实位置,由于变量的初始 化使程序的循环次数发生改变,直接改变了结果,所以结果由变量的不同而不同。(2) .父子进程的简朴通信及终止进程环节1:创建一个“W i n32Conso 1 Application 工程,然后拷贝清单2- 2中的程序,编译成可执行文献。环节2:在VC的工具栏单击“Execute Prog r a m(执行程序)按钮, 或者按Ctrl + F5键,或者在“命令提醒符”窗口运营环节1中生成的可执行文 献。运营结果:范例:E:课程os课 o s实验、程序 os 1 ldeb ugo s 22(假设编译生成的可执行文献是。s 22. exe)c C:
40、Documents and SettingsAdministratorffiDebugCpp1 .exeCreating the child process.Te Hing the child process to quit.Child waiting for suicide instructions.环节3:按源程序中注释中的提醒,修改源程序2 -2,编译执行(执行前请先保 存已经完毕的工作)。运营结果:死循环在程序中加入跟踪语句,或调试运营程序,同时参考MSDN中的帮助文献Cr eateP r。ces s ()的使用方法,理解父子进程如何传递参数。给出程序执行过程 的大约描述:产生的应用程
41、序的名称(木EXE文献), 告诉其.行为像个了进程的标志,不 继承句柄,使用新的控制台,新的环境,启动信息,返回的进程信息。环节4:填空Create Proc e ss () 函数有8个核心参数?本实验程序中设立的各个参数的值是:a . s z File n ame;b . s z Cm d Line.;c. NULL;d.NU LL;e. FALSE;f.CREAT E NEW CONSOLE;g. NULL;NUL Lo环节5:按源程序中注释中的提醒,修改源程序22,编译执行。运营结果:c C:Documents and SettingsAdministratorffiDebugCpp1
42、.exeCreating the child process.Telling the child process to quit.环节 6:参考 MS DN 中的帮助文献 C r eateMutex。、OpenMutex() R e lea s eMut ex ()和Wai t Fo r S i n g Ie 0 bject ()的使用方法,理解父子进程如 何运用互斥体进行同步的。给出父子进程同步过程的一个大约描述: 一方面,进程创建一个互斥体,打开互斥体,如碰到互斥,则进行解决,解决完后, 释放互斥体,下面便是进程等待下一个要解决的项目。3、实验结论每个进程都从调用 Cr e a t eP
43、r o c e s s () API函数开始,该函数的任务是在 对象管理器子系统内初始化进程对象。每一进程都以调用ExitPro cess ()或 T e rm i nateP r。c e s s () AP I函数终止。通常应用程序的框架负责调用 ExitProce s s()函数。进程都是有始有终,其中有中断,尚有解决进程间互斥的函 数,已达成进程的完毕后自然终止。实验三进程同步的经典算法1、实验目的1)回顾系统进程、线程的有关概念,加深对Wind ows 2023线程的理解。2) 了解互斥体对象,通过对生产者消费者等进程间同步与互斥经典算法的 实现,加深对P、V原语以及运用P、V原语进行
44、进程间同步与互斥操作的理解。2、实验内容和环节(1).生产者消费者问题环节1:创建一个“Wi n32 Consol Application 工程,然后拷贝清单3T 中的程序,编译成可执行文献。环节2:在“命令提醒符”窗口运营环节1中生成的可执行文献。运营结果: 范例:E:课程os课o s实验程序 o s 1 1 debugos 3 1(假设编译生成的可执行文献是os3L e x e)D:shiyan3_lDebugshiyan3_lProducing 1 . SucceedAppending a product . SucceedProducing 2 SucceedAppending a product . Succeed二:1 -生产 一消费1: 2Taking a 2i: 0 1 : 2 一 Consuming Taking a :0 :0t t 一 c - c odu产费-odu产 河生消1厚生. SucceedSucceed. Succeed-消费Consuming 2 Succeed环节3 :仔细阅读源程序,找出创建线程的WINDOWS API函数,回答