第三章进程管理课后习题答案(共9页).doc
《第三章进程管理课后习题答案(共9页).doc》由会员分享,可在线阅读,更多相关《第三章进程管理课后习题答案(共9页).doc(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上进程管理习题1现代操作系统中为什么要引入“进程”概念? 它与程序有什么区别? 答:之所以要引入进程的概念,是因为在一些可以并发的程序段之间,存在着某种相互制约的关系,每个程序段的执行不仅要受到其它程序执行的制约,而且还要动态地依赖系统资源的分配情况,因此每个可以并发执行的程序段就会因外界条件的限制而不能运行,被迫处于阻塞状态。仅用程序的概念无法表示程序的走走停停以及程序运行过程中对资源的竞争现象,因此需要采用一种动态的概念描述并发程序这种走走停停的现象,这就产生了进程的概念。 进程和程序的区别:(1) 进程是程序的执行过程,是动态的过程,属于一种动态概念。程序是一组有
2、序静态指令和数据的集合,用来指示处理机的操作,是一种静态概念。(2) 从结构上看,每个进程实体是由程序段和相应的数据段两部分构成,并且进程结构中还要包含PCB,即进程控制块。(3) 一个进程可以涉及到一个或几个程序的执行;反之,同一程序可以对应多个进程,即同一个程序段可以在不同数据集合上运行,可以构成不同的进程。(4) 进程能真实地描述并发执行的过程,而程序仅仅是静态指令堆积的序列。(5) 进程有可创建其他进程的功能,而一般的程序不具有创建其它程序的功能。(6) 每一个程序都是在一个进程现场中运行的。2叙述进程的并发性和制约性。答:并发性是进程的重要特征。即多道程序中多个进程同时向前推进的过程
3、,没个进程总是与其它进程并发地执行的。进程的制约性是指一个进程的运行受到另一进程的制约。比如有的进程可能正在等待另一进程的计算结果而无法运行,或者进程所需的资源被别的进程占有而无法运行。3进程的含义是什么? 如何构造和描述进程? 答:进程是程序的一次执行。进程由“进程控制块+程序+数据”构成,用进程控制块描述进程。4有三个并发进程,R负责从输入设备读入信息并传送给M,M将信息加工并传送给P,P将打印输出,写出下列条件下的并发程序。(1) 双缓冲区,每个区大小为K。(2) 单缓冲区,其大小为K。答: (1) 双缓冲区,每个区大小为K,信号量初值如下:mutexR=mutexP=1;emptyR=
4、emptyP=k;fullR= fullP=0;变量的初值如下:inR=outR=inP=outP=0;用类Pascal编写程序如下:var mutexR,mutexP,emptyR,fullR,emptyP,fullP: semaphere;inR,outR,inP,outP: integer;buffer: array 0.k-1 of item;bufferP: array 0.k-1 of item;procedure R beginwhile true dobegin输入数据data1;P (emptyR);P (mutexR);bufferR(inR):=data1;inR:=(i
5、nR+1) mod (k);V(mutexR);V(fullR);endend;procedure M beginwhile true do beginP(fullR);P(mutexR);data2:=bufferR(outR);outR:=(outR+1)mod (k);V(mutexR);V(emptyR);对data2进行加工;P(emptyP);P(mutexP);bufferP(inP):=data2;inP:=(inP+1)mod (k);V(mutexP);V(fullP);endend;procedure P:beginwhile true do beginP(fullP);
6、P(mutexP)data3:=bufferP(outP);outP:=(outP+1)mod(k);V(mutexP);V(emptyP);打印 data3;end end;beginseminitinal(mutexR.v,1;mutexP.v,1;emptyR.v,k;fullR.v,0;emptyP.v,k;fullP.v,0);inR:=0;outR:=0;inP:=0;outP:=0;cobeginR;M;P;coendend.(2)单缓冲区,大小为kvarempty,full,ok,mutex: semaphere;inR,outR,inP,outP: integer;buffe
7、r: array 0.k-1 of item;procedure R:beginwhile true dobegin输入数据 data1;P(empty);P(mutex);buffer(inR):=data1;inR:=(inR+1) mod (k);V(mutex);V(full)endend;procedure M:beginwhile ture do beginP(full);P(mutex);data2:=buffer(outR);outR:=(outR+1) mod (k);V(mutex);对data2 加工;P(mutex);buffer(inP):=data2;inP:=(i
8、nP+1)mod (k);V(mutex);V(ok);endend;proedure P:begin while ture dobeginP(ok);P(mutex);data3:=buffer(outP);outP:=(outP+1) mod(k);V(mutex);V(empty);打印data3;end;endbeginseminitial(empty.v,k;full.v,0;ok.v,0;mutex.v,1);inR:=0;outR:=0;inP:=0;outP:=0;cobeginR;M;P;coendend.5 在生产者与消费者问题的算法中,交换两个V操作的次序会有什么结果?
9、交换两P操作的次序呢? 说明理由。 答:交换两P操作的次序有可能造成死锁。例如,当无空缓冲区时,如果此时生产者先做互斥操作,即:P(mutex),然后才做同步操作P(empty),由于此时empty=-1造成生产者被阻塞。当消费者执行到互斥操作P(mutex)时,由于生产者已执行过P(mutex)并未作释放,所以此时mutex=-1,造成消费者也被阻塞,生产者等消费者释放空缓冲区,而消费者则等待生产者释放临界资源的使用权,所以两个进程都无法向前推进而造成死锁。 交换两个V操作的次序不会发生死锁。6 设有三个进程A、B、C,其中A与B构成一对生产者与消费者(A为生产者,B为消费者),共享一个由n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 进程 管理 课后 习题 答案
限制150内