第二章-进程管理PPT课件.pptVIP

  1. 1、本文档共241页,可阅读全部内容。
  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文档。上传文档
查看更多
第二章-进程管理PPT课件

* 第二章 进程管理 * 读者: while (1) { P(mutex); readcount ++; if (readcount==1) P(w); V(mutex); 读 P(mutex); readcount --; if (readcount==0) V(w); V(mutex); }; 写者: while (1) { P(w); 写 V(w); }; * 第二章 进程管理 * 读者写者问题的解法(信号量集方法) 增加一个限制条件:同时读的“读者”最多R个 wmutex 表示“允许写”,初值是1 rcount 表示“允许进入的读者数目”,初值为R * 第二章 进程管理 * 写者: while(1) { Swait(wmutex,1,1; rcount,R,0); 写; Ssignal(wmutex,1); } 读者: while(1) { Swait(rcount,1,1; wmutex,1,0); 读; Ssignal(rcount,1); } 无人写 无人读 读者写者问题的解法(信号量集方法) 无人写 正在读的读者小于R * 第二章 进程管理 * 经典问题:睡眠理发师问题 问题描述 一把理发椅,N把等待座位 理发师为理发椅上的顾客理发,没有顾客就在理发椅上睡觉 有一个顾客时需要叫醒理发师 多个顾客时需要在等待座位上等候 * 第二章 进程管理 * 互斥关系分析 理发椅上只能有一位顾客 等待座位是有限缓冲区 同步关系分析 只要存在顾客,理发师就不能睡觉 信号量设计 互斥信号量:实现对共享变量“等待顾客数(waiting)”的互斥(mutex) 同步信号量1:记录正在等候顾客的理发师数,实现理发师“睡眠”和“工作”的同步(barber) 同步信号量2:记录等候理发的顾客数(customer) 睡眠理发师问题的信号量解法 * 第二章 进程管理 * barber进程 While(TRUE) { P(customer); P(mutex); waiting = waiting – 1; V(barber); V(mutex); cut_hair(); } customer进程 While(TRUE) { P(mutex); if(waiting CHAIRS) { waiting= waiting + 1; V(customer); V(mutex); P(barber); cut_hair(); } else {V(mutex);} } #define CHAIRS N typedef int semph semph customer = 0; semph barber = 0; semph mutex = 1; int waiting = 0; 是否有等候的顾客 理发师开始理发 无空椅子则离开 有空椅子则等候的顾客数加1 * 第二章 进程管理 * P,V 操作讨论 1) 信号量的物理含义: S0表示有S个资源可用 S=0表示无资源可用 S0则| S |表示S等待队列中的进程个数 P(S):表示申请一个资源 V(S)表示释放一个资源。信号量的初值应该大于等于0 2) P,V操作必须成对出现,有一个P操作就一定有一个V操作 当为互斥操作时,它们同处于同一进程 当为同步操作时,则不在同一进程中出现 如果P(S1)和P(S2)两个操作在一起,那么P操作的顺序至关重要,一个同 步P操作与一个互斥P操作在一起时同步P操作在互斥P操作前 而两个V操作无关紧要 * 第二章 进程管理 * P,V操作的优缺点 P,V操作优点: 简单,而且表达能力强(用P,V操作可解决任何同步互斥问题) 缺点: “不够安全;P,V操作使用不当会出现死锁;遇到复杂同步互斥问题时实现复杂 * 第二章 进程管理 * 有三个进程PA、PB和PC合作解决文件打印问题:PA将文件记录从磁盘读入主存的缓冲区1,每执行一次读一个记录;PB将缓冲区1的内容复制到缓冲区2,每执行一次复制一个记录;PC将缓冲区2的内容打印出来,每执行一次打印一个记录。缓冲区的大小等于一个记录的大小。请用PV操作来保证文件的正确打印。 【课后练习题

文档评论(0)

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

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

1亿VIP精品文档

相关文档