第三章进程管理课后习题答案.doc
《第三章进程管理课后习题答案.doc》由会员分享,可在线阅读,更多相关《第三章进程管理课后习题答案.doc(8页珍藏版)》请在咨信网上搜索。
进程管理习题 1现代操作系统中为什么要引入“进程”概念? 它与程序有什么区别? 答:之所以要引入进程的概念,是因为在一些可以并发的程序段之间,存在着某种相互制约的关系,每个程序段的执行不仅要受到其它程序执行的制约,而且还要动态地依赖系统资源的分配情况,因此每个可以并发执行的程序段就会因外界条件的限制而不能运行,被迫处于阻塞状态。仅用程序的概念无法表示程序的走走停停以及程序运行过程中对资源的竞争现象,因此需要采用一种动态的概念描述并发程序这种走走停停的现象,这就产生了进程的概念。 进程和程序的区别: (1) 进程是程序的执行过程,是动态的过程,属于一种动态概念。程序是一组有序静态指令和数据的集合,用来指示处理机的操作,是一种静态概念. (2) 从结构上看,每个进程实体是由程序段和相应的数据段两部分构成,并且进程结构中还要包含PCB,即进程控制块. (3) 一个进程可以涉及到一个或几个程序的执行;反之,同一程序可以对应多个进程,即同一个程序段可以在不同数据集合上运行,可以构成不同的进程。 (4) 进程能真实地描述并发执行的过程,而程序仅仅是静态指令堆积的序列。 (5) 进程有可创建其他进程的功能,而一般的程序不具有创建其它程序的功能. (6) 每一个程序都是在一个进程现场中运行的。 2叙述进程的并发性和制约性。 答:并发性是进程的重要特征。即多道程序中多个进程同时向前推进的过程,没个进程总是与其它进程并发地执行的。进程的制约性是指一个进程的运行受到另一进程的制约。比如有的进程可能正在等待另一进程的计算结果而无法运行,或者进程所需的资源被别的进程占有而无法运行. 3进程的含义是什么? 如何构造和描述进程? 答:进程是程序的一次执行。进程由“进程控制块+程序+数据”构成,用进程控制块描述进程。 4有三个并发进程,R负责从输入设备读入信息并传送给M,M将信息加工并传送给P,P将打印输出,写出下列条件下的并发程序。 (1) 双缓冲区,每个区大小为K。 (2) 单缓冲区,其大小为K。 答: (1) 双缓冲区,每个区大小为K,信号量初值如下: mutexR=mutexP=1; emptyR=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 begin while true do begin 输入数据data1; P (emptyR); P (mutexR); bufferR(inR):=data1; inR:=(inR+1) mod (k); V(mutexR); V(fullR); end end; procedure M begin while true do begin P(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); end end; procedure P: begin while true do begin P(fullP); P(mutexP) data3:=bufferP(outP); outP:=(outP+1)mod(k); V(mutexP); V(emptyP); 打印 data3; end end; begin seminitinal(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; cobegin R; M; P; coend end. (2)单缓冲区,大小为k var empty,full,ok,mutex : semaphere; inR,outR,inP,outP : integer; buffer : array 0。。k-1 of item; procedure R: begin while true do begin 输入数据 data1; P(empty); P(mutex); buffer(inR):=data1; inR:=(inR+1) mod (k); V(mutex); V(full) end end; procedure M: begin while ture do begin P(full); P(mutex); data2:==buffer(outR); outR:=(outR+1) mod (k); V(mutex); 对data2 加工; P(mutex); buffer(inP):=data2; inP:=(inP+1)mod (k); V(mutex); V(ok); end end; proedure P: begin while ture do begin P(ok); P(mutex); data3:=buffer(outP); outP:=(outP+1) mod(k); V(mutex); V(empty); 打印data3; end; end begin seminitial(empty.v,k;full。v,0;ok.v,0;mutex。v,1); inR:=0;outR:=0; inP:=0;outP:=0; cobegin R; M; P; coend end。 5 在生产者与消费者问题的算法中,交换两个V操作的次序会有什么结果? 交换两P操作的次序呢? 说明理由. 答:交换两P操作的次序有可能造成死锁。例如,当无空缓冲区时,如果此时生产者先做互斥操作,即:P(mutex),然后才做同步操作P(empty),由于此时empty=—1造成生产者被阻塞。当消费者执行到互斥操作P(mutex)时,由于生产者已执行过P(mutex)并未作释放,所以此时mutex=-1,造成消费者也被阻塞,生产者等消费者释放空缓冲区,而消费者则等待生产者释放临界资源的使用权,所以两个进程都无法向前推进而造成死锁。 交换两个V操作的次序不会发生死锁。 6 设有三个进程A、B、C,其中A与B构成一对生产者与消费者(A为生产者,B为消费者),共享一个由n个缓冲块组成的缓冲池;B与C也构成一对生产者与消费者(此时B为生产者,C为消费者),共享另一个由m个缓冲块组成的缓冲池.用P、V操作描述它们之间的同步关系。 答: var mutexA,emptyA,fullA,mutexC,emptyC,fullC : semaphere; i,j,a,b : integer; bufferA : array 0.。n-1 of item bufferC : array 0.。m—1 of item; procedure produceA:生产者进程A begin while ture do begin Produce next product; P(emptyA); P(mutexA); bufferA(i) :=products; i:=(i+1) mod(n) ; V(mutexA); V(fullA) end end procedure consumer_procedurerB: 消费者和生产者进程B begin while ture do begin P(fullA); P(mutexA); Goods:=buffer(j); j:=(j+1)mod(n); V(mutexA); V(emptyA); Consume goods and Produce next product C; P(emptyC); P(mutexC); BufferC(a):=product C; a:=(a+1) mod(m); V(mutexC); V(fullC) end end; procedure consumerC ; 消费者C进程 begin while ture do begin P(fullC); P(mutexC); Goods:=bufferC(b); b:=(b+1) mod(m); V(mutexC); V(emptyC); Consume product; end end; begin Seminitsal(mutexA。v,1;mutexC.v,1; emptyA.v,n;emptyC.v,m;fullA.V,0;fullC。V,0); i:=0;j:=0;a:=0;b:=0; cobegin produce A consumer_procedurerB; consumerC coend end. 7 有一阅览室,共有100个座位.读者进入时必须先在一张登记表上登记,该表为每一座位列一表目,包括座号和读者姓名。读者离开时要消掉登记内容。试用P、V操作描述读者进程的同步结构。 答: var mutex : semaphere; 信号量,用于互斥 full : semaphere; 信号量,用于同步 table : array 0。.n—1 of item; 登记表 procedure reader; 读者进程 begin P(full); P(mutex); Register_name(table); V(mutex); Reading; P(mutex); Delet_name(table); V(mutex); V(full) end; begin seminitsal(mutex。v,1; full。v,100); 初始化 cobegin reader; reader; 。。。 coend end. 8.引入线程的目的是什么? 答:引入线程的目的是提高程序执行的并行度。 9 引入管程的目的是什么? 答:引入管程的目的把分散的临界区集中起来管理,为每个可共享的资源设立一个专门的机构来统一管理各进程对该共享资源的访问。这样使互斥操作更安全,既便于系统管理共享资源,又能保证互斥访问。 10 用管程实现读者与写者关系. 管程部分描述如下: monitor rw; condition wrt; var readcount: integer; procedure entry read _start( ); begin readcount:=readcount+1; end; procedure entry read_finish( ); begin readcount:=readcount-1; if readcount=0 then singal(wrt) end; procedure entry write( ); begin if readcount〉0 then wait(wrt); perform writing; end begin readcount:= 0 end end; 主程序部分: procedure writter: begin repeat rw.write( ); until false; end procedure reader: begin repeat rw.read_start( ); perform reading; rw。read_finish( ); until false; end cobegin reader; writter; coend. 11 何谓进程通信? 答: 进程通信是指进程之间的信息交换。 12 消息通信机制中应设置哪些基本通信原语? 答:应设置send(A)(发送消息)原语,A是原语的参数,表示发送区的起始地址。 receive(B)(接受消息)原语,B是接受进程提供的接收区起始地址。 13何谓死锁?举例说明之。 答:两个以上的进程相互等待一个永远不可能发生的条件而无法向前推进,这种僵局称为死锁。例如:如图所示的单行道上的交通阻塞。 14. 什么是死锁?产生死锁的原因和必要条件是什么? 解: 所谓死锁是指在一个进程集合中的所有进程都在等待只能由该集合中的其它一个进程才能引发的事件而无限期地僵持下去的局面. 产生死锁的原因可以归结为两点:1)竞争资源, 2)各进程之间的推进顺序不当. 产生死锁的必要条件有四个:1)互斥条件, 2)不剥夺条件, 3)请求和保持条件, 4)环路条件。 15。 某系统中有A、B、C三类资源,A资源的数量为17,B资源的数量为5,C资源的数量为20。某时刻系统中有5个进程.在T0时刻系统状态如表所示。 进程 最大资源需求量 A B C 已分配资源数量 A B C P0 5 5 9 2 1 2 P1 5 3 6 4 0 2 P2 4 0 11 4 0 5 P3 4 2 5 2 0 4 P4 4 2 4 3 1 4 剩余资源数 A B C 2 3 3 系统采用银行家算法实施死锁避免策略。 (1) T0时刻是否为安全状态?若是,请给出安全序列. (2) 在T0时刻若进程P2请求资源(0,3,4),是否能实施资源分配?为什么? (3) 在(2)的基础上,若进程P4请求资源(2,0,1),是否能实施资源分配?为什么? (4) 在(3)的基础上,若进程P1请求资源(0,2,0),是否能实施资源分配?为什么? 8- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 进程 管理 课后 习题 答案
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文