【精品】linux实验进程管理

【精品】linux实验进程管理

ID:45554958

大小:123.91 KB

页数:8页

时间:2019-11-14

【精品】linux实验进程管理_第1页
【精品】linux实验进程管理_第2页
【精品】linux实验进程管理_第3页
【精品】linux实验进程管理_第4页
【精品】linux实验进程管理_第5页
资源描述:

《【精品】linux实验进程管理》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、成绩评阅人评阅日期计算机科学与技术系实验报告课程名称:计算机操作系统实验名称:进程管理班级:学号:姓名:2011年11月21日实验二进程管理3.1实验目的•加深对进程概念的理解,明确进程和程序的区别。•进一步认识并发执行的实质。•分析进程争用资源的现彖,学习解决进程互斥的方法。3.2实验内容3.2.1进程创建编写一段程序,利川系统调用fork()创建两个进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“a”;子进程分别显示字符“b”和字符“c”。3.2.2进程

2、控制修改已经编号的程序,将每个进程输出一个字符改为每个进程输出一句话,在观察程序执行吋屏幕上出现的现彖,并分析原因。如果在程序中使用系统调用lockfO来给每一个进程加锁,可以实现进程Z间的互斥,观察并分析出现的现彖。3.2.3参考程序#includemain()intpl,p2;while((pl=fork())==-l);If(pl==O)putcharCb9);else{while((p2=fork())==-1);if(p2==0)putcharCc9);elseputcharCa^);)}分

3、析:从进程并发执行來看,输出bac,acb或bca都有可能。原因:fo「k()创建进程所需要的时间要多于输出一个字符的时间,因此在主进程创建进程2的同时,进程1就输出了5”,而进程2和主程序的输出次序是有随机性的,所以会岀现多种可能结果。进程控制源程序:#includcMain(){Intpl,p2;While((pl=fork()==-l);If(pl==0)For(i=0;i<50;i++)PrinlfCtchild%d,,,i);ElseWhile((p2=fork()==-1);If(p2

4、==0)For(i=0;i<50;i++)Printff

5、考程序3:#include#includemain(){intpl,p2,I;while((pl=fork()==-l);讦(pl==0){Lockf(1,1,0);for(i=0;i<50;i++)prin(f(“child%drT,i);Lockf(1,0,0);)Else{While((p2=fork()==-l);If(p2==0){Lockf(1,1,0);for(i=0;i<50;i++)printf(*son%d,,,i);Lockf(1,0,0);)ElseL

6、ockf(1,1,0);for(i=0;i<50;i++)printf(<4daughter%d,,,i);Lockf(1,0,0);3.3背景知识1、fork()创建一个新进程intfork()其屮返[h]int取值意义如下:0:创建了进程,从了进程返回的id值大于0:从父进程返回的子进程id值・1:创建失败2、lockf(files,function,size):用作锁定文件的某些段或者整个文件,本函数适用的头文件为:#include参数定义:intlockf(files,function,

7、size)intfiles,function;longsize;其中:files是文件描述符:function是锁定和解锁;1表示锁定,0表示解锁。size是锁定和解锁的字节数,若用0,表示从文件的当前位置到文件尾。实验代码1.源代码:#includemain(){intpl,p2;while((pl=fork())==-l);if(pl==O)putchar('b');else{while((p2=fork())==-1);if(p2==0)putchar('c');elseputchar('a')

8、;}}2.源代码:#includemain(){intpl,p2;while((pl=fork())==-l);if(pl==O)for(i=0;i<50;i++)printf("child%d,r,i);elseWhile((p2=fork())==-1);讦(p2==0)for(i=0;i<50;i++)

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

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

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