进程管理实验报告

进程管理实验报告

ID:35237918

大小:330.00 KB

页数:10页

时间:2019-03-22

进程管理实验报告_第1页
进程管理实验报告_第2页
进程管理实验报告_第3页
进程管理实验报告_第4页
进程管理实验报告_第5页
资源描述:

《进程管理实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、软件学院计算机课程实验报告册课程名称计算机操作系统实验学期2011年至2012年第2学期学生所在院(系)软件学院年级11软件专业班级软工(1)班学生姓名朱水云学号1115114034指导教师陈自刚实验最终成绩软件学院实验室制2012年4月第10页共10页实验报告(一)分数:实验教师:实验名称:进程管理实验时间:2012年4月11号实验性质一、实验目的及要求:(1)加深对进程概念的理解,明确进程和程序的区别。(2)进一步认识并发执行的实质。(3)分析进程竞争资源现象,学习解决进程互斥的方法。(4)了解Linux系统中进程通信的

2、基本原理。二、实验内容与分析设计:(1)进程的创建编写一段源程序,使系统调用fork()创建两个子进程,当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“a”;子进程分别显示字符“b”和字符“c”。试观察纪录屏幕上的显示结果,并分析原因。(2)进程的控制修改已编写的程序,将每个进程输出一个字符改为每个进程输出一句话,在观察程序执行时屏幕出现的现象,并分析原因。如果在程序中使用调用lockf()来给每一个子进程加锁,可以实现进程之间的互斥,观察并分析出现的现象。(3)①编写

3、一段程序,使其现实进程的软中断通信。要求:使用系统调用fork()创建两个子进程,再用系统调用signal()让父进程捕捉键盘上来的中断信号(即按DEL键);当捕捉到中断信号后,父进程用系统调用Kill()向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止:ChildProcessllisKilledbyParent!ChildProcessl2isKilledbyParent!父进程等待两个子进程终止后,输出如下的信息后终止ParentProcessisKilled!②在上面的程序中增加语句signal(SIG

4、NAL,SIG-IGN)和signal(SIGQUIT,SIG-IGN),观察执行结果,并分析原因。(4)进程的管道通信编制一段程序,实现进程的管理通信。使用系统调用pipe()建立一条管道线;两个子进程P1和P2分别向管道中写一句话:Child1issendingamessage!Child2issendingamessage!而父进程则从管道中读出来自于两个子进程的信息,显示在屏幕上。要求父进程先接收子进程P1发来的消息,然后再接收子进程P2发来的消息。三、实验步骤与调试过程:1,启动计算机并运行linux系统2,打开中

5、断进行程序书写3,根据Linux系统的gcc自带编译器进行运行编译4,分析运行出现的问题第10页共10页5,观察运行结果,并思考6,退出中断并写出实验报告调试过程:根据编译提示的错误进行修改四、实验结果:1,进程的创建运行结果:acb2,进程的控制<程序一>运行结果:parent….son…grandchild…grandchild…或grandchild…son…grandchild…son…parent进程的控制<程序二>运行结果:3,软中断运行结果:(1)childprocess2iskilledbypraent;ch

6、ildprocess1iskilledbyprent;prentprocessiskilled;(2)4,进程的管道通信运行结果:延迟5秒后显示:child1processissendingmessage!第10页共10页再延迟5秒:child2processissendingmessage!五、疑难与小结:1,进程创建分析:从进程执行并发来看,输出abc的排列都是有可能的。原因:fork()创建进程所需的时间虽然可能多于输出一个字符的时间,但各个进程的时间片的获得却不是一定是顺序的,所以输出abc的排列都是有可能的。2,进

7、程的控制分析:<程序一>由于函数printf()输出的字符串之间不会被中断,因此,每个字符串内部的字符顺序输出时不变。但是,由于进程并发执行时的调度顺序和父子进程的抢占处理机问题,输出字符串的顺序和先后随着执行的不同而发生变化。这与打印单字符的结果相同。<程序二>因为上述程序执行时,lockf(1,1,0)锁定标准输出设备,lockf(1,0,0)解锁标准输出设备,在lockf(1,1,0)与lockf(1,0,0)中间的for循环输出不会被中断,加锁与不加锁效果不相同。3,软中断分析:不做任何操作等待五秒钟父进程回在子进程

8、县推出后退出,并打印退出的顺序;或者点击ctrl+C后程序退出并打印退出的顺序。4,进程的管道通信分析:连接一个读进程和一个写进程实现他们之间通信的一个共享六、主要算法和程序清单1,进程的创建#includemain(){intp1,p2;if(p1=fork())/*子

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。