实验项目二进程管理(实用收藏)_第1页
实验项目二进程管理(实用收藏)_第2页
实验项目二进程管理(实用收藏)_第3页
实验项目二进程管理(实用收藏)_第4页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验项目二进程管理实验项目二进程管理一、 实验目的1. 理解进程的概念,掌握父、子进程创建的方法。2. 认识和了解并发执行的实质,掌握进程的并发及同步操作。二、 实验内容1. 编写一语言程序,实现在程序运行时通过系统调用frk( )创建两个子进程,使父、子三进程并发执行,父亲进程执行时屏幕显示“ m father,儿子进程执行时屏幕显示“Iamson”,女儿进程执行时屏幕显示“ m dauhtr。2. 多次连续反复运行这个程序,观察屏幕显示结果的顺序,直至出现不一样的情况为止。记下这种情况,试简单分析其原因.3. 修改程序,在父、子进程中分别使用wat()、eit()等系统调用“实现”其同步推

2、进,并获取子进程的ID号及结束状态值。多次反复运行改进后的程序,观察并记录运行结果。三、 源程序及运行结果源程序1:iclude dio。h#ncly/typehincd intma() pi_pid; char a; num;pntf(”strtng:n”); id fk(); (pid =1) prif(faie); exit(1); ele f (pid = 0) a am on; lse a = Iam fher; pd = fork(); i (pi -1) prit(faid); xit(1); ese if (pd=0) a= I m daugter; or(um3;num0;m

3、) puts(a); slep(1); ei(0);运行结果:源程序2:#incudes/tpes.hiclud uistd。hincud sti.hiclue tdlib.hinclude sy/wi。hnman() pi_t d; char messae; it n; ntexit_cod; prntf(forkstarting.。.n”);pd = fork(); f (pid = 1) printf(”orfaild!); xit(1); else i (pd=) mesae =”I am son; = 3; eit_code 99; else essae = I fahr”; =3;

4、 xitcode ; id =fork(); if (pid = -1) printf(”forkfaed!); ext(1); elsei (i= ) mesage = I a agter”; n = 3; ex_code = 10; or (;n;n-) ts(messag); slep(1); f(d !=0) int tue; pd_d_pi; child_pid = wait(statue); printf(This i the childrenprocess: id dn,cild_pi); if(WIFXTE(tatue) pin(”child exitdwith codedn,

5、WETSATUS(statue); else rintf(chil terinated anormaly!); exit(exit_coe);运行结果:四、 实验分析与总结1. 实验内容运行结果为什么无固定顺序,fk()函数创建进程是如何并发执行的。2. 实验内容3是如何实现父子进程的同步执行的。答:1.因为利用for()函数创建的三个进程抢占pu不同,从而导致三个进程被cu调用执行的顺序不同,从而输出的结果无固定顺序;rk()函数调用成功后,子进程与父进程并发执行相同的代码,但由于子进程也继承了父进程的程序指针,所以子进程是从f()后的语句开始执行,另外fork在子进程和父进程中的返回值是不

6、同的,在父进程中返回子进程的PID,而在子进程中返回0,使父进程和子进程执行不同的分支,从而实现了进程的并发执行。2. 该程序段主要使用了函数ai()和exit(),这是因为父进程必须等待两个子进程终止后才终.在父进程中调用wait()函数,则父进程被阻塞,进入等待队列,等待子进程结束。子进程终止时执行exit()向父进程发终止信号,当接到信号后,父进程提取子进程的结束状态值,从wa()返回继续执行原程序,从而实现了父、子进程的同步推进.总结:通过这次实验,我加深对进程概念的理解,进程是程序在一个数据集合上运行的过程,是系统进行资源分配和调度的一个独立单位,进程有如下特征:(1)结构特征:可并发执行(2)动态性:是进程实体的一次执行过程(3)并发性:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论