操作系统信号量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)? ?? ? 当图书馆中没有座位时,后到的读者不等待,立即回家。 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)解 设信号量 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, 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)??当水果盘空时,父亲可以放香蕉或者母亲可以放苹果,但盘中已有水果时,就不能放,父母等待。当盘中有香蕉时,女儿可吃香蕉,否则,女儿等待;当盘中有苹果时,儿子可吃,否则,儿子等待。 解 设信号量:SE=1 (空盘子);SA=0 (放了苹果的盘子);SB=0 (放了香蕉的盘子) 父亲 REPEAT 剥香蕉 P(SE) 放香蕉 V(SB) UNTIL FALSE 母亲 REPEAT 削苹果 P(SE) 放苹果 V(SA) UNTIL FALSE 儿子 P(SA) 拿苹果 V(SE) 吃苹果 女儿 P(SB) 拿香蕉 V(SE) 吃香蕉 (2) 把(1)改为:儿子要吃苹果时,请母亲放苹果,女儿要吃香蕉时,请父亲放香蕉,(还是盘子为空时才可以放)。 (2)解:再增加两个信号量:SF=0, SM=0 父亲 REPEAT P(SF) 剥香蕉 P(SE) 放香蕉 V(SB) UNTIL FALSE 母亲 REPEAT P(SM) 削苹果 P(SE) 放苹果 V(SA) UNTIL FALSE 儿子 V(SM) P(SA) 拿苹果 V(SE) 吃苹果 女儿 V(SF) P(SB) 拿香蕉 V(SE) 吃香蕉(五)有一个超市,最多可容纳N个人进入购物,当N个顾客满

文档评论(0)

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

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

1亿VIP精品文档

相关文档