Linux进程管理-实验报告(共4页).doc
《Linux进程管理-实验报告(共4页).doc》由会员分享,可在线阅读,更多相关《Linux进程管理-实验报告(共4页).doc(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上Linux 操作系统设计实践实验一:进程管理实验目的:(1) 加深对进程概念的理解,明确进程和程序的区别。(2) 进一步认识并发执行的实质。(3) 学习通过进程执行新的目标程序的方法。(4) 了解Linux 系统中进程信号处理的基本原理。实验环境:Red Hat Linux 实验内容:(1)进程的创建编写一段程序,使用系统调用fork()创建两个子进程,当此进程运行时,在系统中有一个父进程和两个子进程活动,让每一个进程在屏幕上显示一个字符,父进程显示字符“a”;子进程分别显示字符“b”和字符“c”,试观察记录屏幕上的显示结果,并分析原因。程序代码:#includein
2、t main()int p1 ,p2 ;while(p1=fork()=-1); if(p1=0) putchar(b);elsewhile(p2=fork()=-1); if(p2=0) putchar(c);else putchar(a); return 0;运行结果:bca分析:第一个while里调用fork() 函数一次,返回两次。子进程P1得到的返回值是0,父进程得到的返回值是新子进程的进程ID(正整数);接下来父进程和子进程P1两个分支运行,判断P1=0,子进程P1符合条件,输出“b”;接下来else里面的while里再调用fork()函数一次,子进程P2得到的返回值是0,父进程得
3、到的返回值是新子进程的进程ID(正整数);接下来判断P2=0,子进程P2符合条件,输出“c”,接下来父进程输出“a”,程序结束。(2)进程的控制修改已编写的程序,将每个进程输出一个字符改为每个进程输出一句话,在观察程序执行时屏幕上出现的现象,并分析原因。程序代码:#includeint main() int p1,p2;while(p1=fork()=-1);if(p1=0)printf(Child1 is running!n);elsewhile(p2=fork()=-1);if(p2=0)printf(Child2 is running!n);elseprintf(Father is ru
4、nning!n);return 0;运行结果:Child1 is running!Child2 is running!Father is running!分析:本实验和上一个实验一样,只是将每个进程输出一个字符改为每个进程输出一句话。第一个while里调用fork() 函数一次,返回两次。子进程P1得到的返回值是0,父进程得到的返回值是新子进程的进程ID(正整数);接下来父进程和子进程P1两个分支运行,判断P1=0,子进程P1符合条件,输出“Child1 is running!”;接下来else里面的while里再调用fork()函数一次,子进程P2得到的返回值是0,父进程得到的返回值是新子进
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 进程 管理 实验 报告
限制150内