计算机操作系统第2章.处理器管理.pptVIP

  1. 1、本文档共110页,可阅读全部内容。
  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文档。上传文档
查看更多

第二章处理器管理内容提要:2.1程序的顺序执行和并发执行2.2进程的概念2.3进程控制2.4进程调度2.5进程互斥2.6进程同步2.7进程通信2.8死锁2.1程序的顺序执行和并发执行2.1.1程序的顺序执行2.1.2程序的并发执行2.2进程的概念2.2.1进程的定义2.2.2进程的基本状态和转换2.2.3进程控制块2.2.4进程队列2.3进程控制2.3.1进程创建2.3.2进程撤消2.3.3进程阻塞与唤醒2.4进程调度2.4.1进程调度的功能2.4.2进程调度的时机2.4.3进程调度的算法2.4.4进程调度算法的选择2.5进程互斥2.5.1与时间有关的错误2.5.2临界区2.5.3进程的互斥2.5.3.1信号量与PV操作2.5.3.2用PV操作实现进程互斥2.6进程同步2.6.1同步的概念2.6.2用PV操作实现进程的同步2.6.3生产者—消费者问题2.6.4读者—写者问题2.6.5时间同步问题2.7进程通信2.7.1进程通信的类型2.7.2直接通信2.7.3间接通信2.8死锁2.8.1死锁的原因2.8.2死锁的必要条件2.8.3死锁的预防2.8.4死锁的避免2.8.5死锁的检测2.8.6死锁的解除生产者和消费者并发执行时,用PV操作作为同步机制可按如下方式管理: buffer:integer; SP,SG:integer; SP:=1;SG:=0; cobegin procedureproducer begin L1:[produceaproduct]; P(SP); buffer:=product; V(SG); gotoL1; end; procedureconsumer begin L2:P(SG); [Takeaproductfrombuffer]; V(SP); [Consume]; end;coend;如果一个生产者和一个消费者共享的缓冲器容量为可以存放n件物品(n1),那么只要把信号量SP的初值定为“n”,SG的初值仍为“0”。当缓冲器中没有放满n件物品时,生产者调用P(SP)后都不会成为等待状态而可以把生产出来的物品存入缓冲器。但当缓冲器中已经有n件物品时(此时SP已经为“0”),生产者再想存入一件物品将被拒绝。生产者每存入一件物品后,由于调用V(SG)发送消息,故SG的值表示缓冲器中可供消费的物品数。只要SG≠0,消费者调用P(SG)后总可以去取物品,每取走一件物品后调用V(SP),便增加了一个可以用来存放物品的位置。但是,要提醒注意的是,如果PV操作使用不当的话,仍会出现与时间有关的错误。例如,有p个生产者和q个消费者,它们共享可存放n件物品的缓冲器;为了使它们能协调工作,必须使用一个互斥信号量S(初值为1),以限制它们对缓冲器互斥地存取;另外,仍用两个信号量SP(初值为n)和SG(初值为0)来保证生产者不往满的缓冲器中存放物品,消费者不从空的缓冲器中取出物品。B:array[0…n-1]ofinteger;k,t:integer;SP,SG:integer;S:integer;k:=0;t:=0;SP:=n;SG:=0;S:=1;cobegin procedureproduceri(i=1,2,…,p) beginL1:[produceaproduct]; P(SP); P(S); B[k]:=product; k:=(k+1)modn; V(SG); V(S); gotoL1;end;procedureconsumerj(j=1,2,…,q) begin L2:P(SG); P(S); [TakeaproductfromB[t]]; t:=(t

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档