操作系统信号,PV操作问题.docVIP

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

(一)? ?图书馆有100个座位,每位进入图书馆的读者要在登记表上登记,退出时要在登记表上注销。要几个程序?有多少个进程?(答:一个程序;为每个读者设一个进程) (1)? ?? ? 当图书馆中没有座位时,后到的读者在图书馆为等待(阻塞) (2)? ?? ? 当图书馆中没有座位时,后到的读者不等待,立即回家。 设信号量 S=200;MUTEX=1; P(S) P(MUTEX) 登记 V(MUTEX) 阅读 P(MUTEX) 注销 V(MUTEX) V(S) (2) 设信号量 MUTEX=1; 整型变量 S=200; P(MUTEX) IF(S==0) { V(MUTEX) RETURN } ELSE{ COUNT=COUNT-1; 登记 V(MUTEX) 阅读 P(MUTEX) COUNT=COUNT+1; 注销 V(MUTEX) RETURN } 解(1 ) 设信号量:S=100;??MUTEX=1 P(S) P(MUTEX) 登记 V(MUTEX) 阅读 P(MUTEX) 注销 V(MUTEX) V(S) ? 解(2) 设整型变量 COUNT=100; 信号量:MUTEX=1; P(MUTEX); IF (COUNT==0) { V(MUTEX); ? ?RETURN; } COUNT=COUNT-1; 登记 V(MUTEX); 阅读 P(MUTEX); COUNT=COUNT+1; V(MUTEX); RETURN; (二)??有一座东西方向的独木桥;用P,V操作实现: (1)? ?? ? 每次只允许一个人过桥; (2)? ?? ? 当独木桥上有行人时,同方向的行人可以同时过桥,相反方向的人必须等待。 (3)? ?? ? 当独木桥上有自东向西的行人时,同方向的行人可以同时过桥,从西向东的方向,只允许一个人单独过桥。(此问题和读者与写者问题相同,东向西的为读者,西向东的为写者)。 (1) 设信号量S=1 P(S) 过桥 V(S) (2) 设 信号量 S=1 EW=1;(东向西互斥计数量) WE=1;(西向东互斥计数量) 整型变量 CE =0;(东向西桥上人数) CW=0;(西向东桥上人数) 东向西: P(EW) IF(CE==0) { P(S) } CE++; V(EW) 过桥 P(EW) CD--; IF(CD==0){ V(S) } V(EW) (1)解 设信号量 MUTEX=1 P (MUTEX) ??过桥 V (MUTEX) (2)解 设信号量: MUTEX=1 (东西方互斥) ? ?? ?MD=1? ? (东向西使用计数变量互斥) ? ?MX=1? ? (西向东使用计数变量互斥) 设整型变量: CD=0??(东向西的已上桥人数) ? ?? ???CX=0??(西向东的已上桥人数) 从东向西: P (MD) IF (CD=0) {P (MUTEX)??} CD=CD+1 V (MD) 过桥 P (MD) CD=CD-1 IF (CD=0) {V (MUTEX)??} V (MD) 从西向东: P (MX) IF (CX=0) {P (MUTEX)??} CX=CX+1 V (MX) 过桥 P (MX) CX=CX-1 IF (CX=0) {V (MUTEX)??} V (MX) (3) 解:从东向西的,和(2)相同;从西向东的和(1)相同。 (三) 有一个俱乐部,有甲乙两个服务员,当顾客有请求时,甲负责送烟,乙负责送火,无顾客请求时,服务员睡眠。顾客自己不能带烟和火,当顾客要抽烟时,可请求服务员送烟和火,烟和火还未送到时,顾客必须等待。 设置信号量 SY=0;SH=0;DY=0;DH=0; 甲服务员:A; 乙服务员:B; 顾客:S; A: P(DY) 送烟 V(SY) GOTO A B: P(DH) 送火 V(SH) GOTO B S: V(DY) V(DH) P(SY) P(SH) 抽烟 设信号量:SY, SH,CY,CH:初值都为0 甲服务员 REPEAT P(SY) 送烟 V(CY) UNTIL FALSE 乙服务员 REPEAT P(SH) 送火 V(CH) UNTIL FALSE 顾客 V(SY)??/*(请求送烟)*/ V(SH)??/*(请求送火)*/ P(CY)??/* (等烟)??*/ P(CH)??/* (等火)??*/ 抽烟 (四)一家四人父、母、儿子、女儿围桌而坐;桌上有一个水果盘; (1)??当水果盘空时,父亲可以放香蕉或者母亲可以放苹果,但盘中已有水果时,就不能放,父母等待。当盘中有香蕉时,女儿可吃香蕉,否则,女儿等待;当盘中有苹果时,儿子可吃,否则,儿子等待。 设置信号量 S=1; SB=0; SA=0; F:父亲 M:母亲

文档评论(0)

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

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

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档