电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

Linux进程管理-实验报告

Linux进程管理-实验报告_第1页
1/4
Linux进程管理-实验报告_第2页
2/4
Linux进程管理-实验报告_第3页
3/4
《Linux 操作系统设计实践》实验一:进程管理实验目的:(1)加深对进程概念的理解,明确进程和程序的区别.(2)进一步认识并发执行的实质.(3)学习通过进程执行新的目标程序的方法。(4)了解Linux 系统中进程信号处理的基本原理.实验环境:Red Hat Linux实验内容:(1)进程的创建编写一段程序,使用系统调用fork()创建两个子进程,当此进程运行时,在系统中有一个父进程和两个子进程活动,让每一个进程在屏幕上显示一个字符,父进程显示字符“a”;子进程分别显示字符“b"和字符“c”,试观察记录屏幕上的显示结果,并分析原因。程序代码:#includeint main(){int p1 ,p2 ;while((p1=fork())==—1); if(p1==0) putchar(’b’);else{while((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,父进程得到的返回值是新子进程的进程 ID(正整数);接下来推断 P2==0,子进程 P2符合条件,输出“c”,接下来父进程输出“a”,程序结束。(2)进程的控制①修改已编写的程序,将每个进程输出一个字符改为每个进程输出一句话,在观察程序执行时屏幕上出现的现象,并分析原因。程序代码:#includeint main(){ int p1,p2;while((p1=fork())==—1);if(p1==0)printf("Child1 is running!\n");else{while((p2=fork())==-1);if(p2==0)printf("Child2 is running!\n");elseprintf("Father is running!\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()函数一次,子进程 P...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

Linux进程管理-实验报告

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部