操作系统进程实验报告.doc
《操作系统进程实验报告.doc》由会员分享,可在线阅读,更多相关《操作系统进程实验报告.doc(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、操作系统进程实验报告 #武汉工程大学实验报告专业班级:姓名:学号:课程名称:操作系统实验成绩:指导教师::实验名称:进程控制与进程间通信一、实验目的:1、掌握进程的概念,明确进程和程序的区别。2、认识和了解并发执行的实质。3、了解什么是信号。4、熟悉LINU_系统中进程之间软中断通信的基本原理。二、实验内容:1、进程的创建编写一段程序,使用系统调用fork()创建两个子进程,在系统中有一个父进程和两个子进程活动。让每个进程在屏幕上显示一个字符;父进程显示字符“a”,子进程分别显示字符 “b”和“ c”。试观察记录屏幕上的显示结果,并分析原因。# in cludemain () int p1,
2、p2;while(p 1= fork()= = -1);if(p1= =0)putchar( b#;);else while(p2=fork()= =-1); if(p2= =0) putchar( c#;);elseputchar(a#;); 2、修改已编写的程序,将每个进程的输出由单个字符改为一句话,再观察程序执行时屏幕上 出现的现象,并分析其原因。# in clude main () int p1, p2, i;while(p 1= fork()= = -1);if(p1= =0) for(i=0;i#include#include#include#include #include in
3、t wait_mark;void waiting(),s();void main()int p1, p2; signal(SIGINT,s);while(p1=fork()=-1);if(p10) /_在父进程中 _/ while(p2=fork()=-1);If(p20) /_在父进程中 _/ wait_mark=1; waiting(0); kill(p1,10); kill(p2,12); wait( );wait( );printf(“parent process is killed!n”);e_it(0); else /_在子进程 2 中 _/wait_mark=1;signal(1
4、2,s);waiting();lockf(1,1,0);printf(“child process 2 is killed by parent!n”);lockf(1,0,0);e_it(0);else /_在子进程 1 中_/wait_mark=1;signal(10,s);waiting();lockf(1,1,0);printf(“child process 1 is killed by parent!n”);lockf(1,0,0);e_it(0);void waiting()while(wait_mark!=0);void s()wait_mark=0;三、实验要求运行程序并分析结果
5、。四、实验结果及分析第一题:代码1#includ亡丈stdio?h_main()4561#includ亡丈stdio?h_main()4567B9101112131415int pbp2;while pl=fork ()=-】); if(pl=G)putchar(#;b1);h I e( (p2=fork( )=1);1J(p2=?)piitchar #;c#;);lseputchar(ba1);运行结果abootdulletchplost+toundmntprocbindevduli.chomelibmediaoptrootrootlocalhost /# gicc dull.c _o du
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 进程 实验 报告
限制150内