网站大量收购独家精品文档,联系QQ:2885784924

[习题解答第4章.docVIP

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[习题解答第4章

习题第四章 并发进程的同步与互斥 1、进程间同步和互斥的含义是什么? 答: 同步:并发进程之间存在的相互制约和相互依赖的关系。   互斥:若干进程共享一资源时,任何时刻只允许一个进程使用。 2、用文字描述银行家算法的基本思想? 答: 银行家算法的基本思想是:将系统中的所有资源比做银行家的资金,每进行 一次资源的分配,银行家都要从当前的资源分配情况出发,计算这种分配方案的 安全性,如果是安全的,则进行分配,否则选择其它可能的分配方案。这样,每 次分配都计算安全性,从而可以避免死锁的发生。 3、简述死锁的防止与死锁的避免的区别。 答: 死锁的防止是系统预先确定一些资源分配策略,进程按规定申请资源,系统按预先规定的策略进行分配,从而防止死锁的发生。 而死锁的避免是当进程提出资源申请时系统测试资源分配,仅当能确保系统安全时才把资源分配给进程,使系统一直处于安全状态之中,从而避免死锁。 试说明资源的静态分配策略能防止死锁的原因。 资源静态分配策略要求每个进程在开始执行前申请所需的全部资源,仅在系统为之分配了所需的全部资源后,该进程才开始执行。这样,进程在执行过程中不再申请资源,从而破坏了死锁的四个必要条件之一“占有并等待条件”,从而防止死锁的发生。有三个进程P1,P2和P3并发工作。进程P1需用资源S3和S1;进程P2需用资源S1和S2;进程P3需用资源S2和S3。回答:   (1)若对资源分配不加限制,会发生什么情况?为什么?   (2)为保证进程正确工作,应采用怎样的资源分配策略?为什么? .(1)可能会发生死锁  例如:进程P1,P2和P3分别获得资源S3,S1和S2后再继续申请资源时都要等待(2分),这是循环等待。  (或进程在等待新源时均不释放已占资源)  (2)可有几种答案:  A.采用静态分配由于执行前已获得所需的全部资源,故不会出现占有资源又等待别的资源的现象(或不会出现循环等待资源现象)。   或B.采用按序分配   不会出现循环等待资源现象。   或C.采用银行家算法  因为在分配时,保证了系统处于安全状态。某车站售票厅,任何时刻最多可容纳20名购票者进入,当售票厅中少于20名购票者时,则厅外的购票者可立即进入,否则需在外面等待。若把一个购票者看作一个进程,请回答下列问题:   (1)用PV操作管理这些并发进程时,应怎样定义信号量,写出信号量的初值以及信号量各种取值的含义。   (2)根据所定义的信号量,把应执行的PV操作填入,以保证进程能够正确地并发执行。  COBEGIN PROCESS PI(I=1,2,……)       begin        ;          进入售票厅;          购票;          退出;       end;  COEND (3)若欲购票者最多为n个人,写出信号量可能的变化范围(最大值和最小值)。 .(1)定义一信号量S,初始值为20。   意义:   S0 S的值表示可继续进入售      票厅的人数   S=0 表示售票厅中已有20名顾      客(购票者)   S0 |S|的值为等待进入售票      厅的人数  (2)P(S) 进入售票厅;          购票;          退出; V(S)    (3)S的最大值为20     S的最小值为20-n    注:信号量的符号可不同(如写成t),但使用时应一致(即上述的s全应改成t)。 假定系统有三个并发进程read, move和print共享缓冲器B1和B2。进程read负责从输入设备上读信息,每读出一个记录后把它存放到缓冲器B1中。进程move从缓冲器B1中取出一记录,加工后存入缓冲器B2。进程print将B2中的记录取出打印输出。缓冲器B1和B2每次只能存放一个记录。要求三个进程协调完成任务,使打印出来的与读入的记录的个数,次序完全一样。 请用PV操作,写出它们的并发程序。 begin SR,SM1,SM2,SP:semaphore; B1,B2:record; SR:=1;SM1:=0;SM2:=1;SP:=0 cobegin process read X:record; begin R: (接收来自输入设备上一个记录) X:=接收的一个记录; P(SR); B1:=X; V(SM1); goto R; end; Process move Y:record; begin M:P(SM1); Y:=B1; V(SR) 加工 Y P(SM2); B2:=Y; V(SP); goto M; end; Process print Z:record; begin P:P(SP); Z:=B2; V(SM2) 打印Z goto P; end; coend; end; 某系统中有10台打印机,有三

文档评论(0)

saity3 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档