- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机操作系统PV操作例题
问题1 一个司机与售票员的例子
在公共汽车上,为保证乘客的安全,司机和售票员应协调工作:
停车后才能开门,关车门后才能行车。用PV操作来实现他们之间的协调。
S1:是否允许司机启动汽车的变量
S2:是否允许售票员开门的变量
driver()//司机进程
{
while (1)//不停地循环
{
P(S1);//请求启动汽车
启动汽车;
正常行车;
到站停车;
V(S2); //释放开门变量,相当于通知售票员可以开门
}
}
busman()//售票员进程
{
while(1)
{
关车门;
V(S1);//释放开车变量,相当于通知司机可以开车
售票
P(S2);//请求开门
开车门;
上下乘客;
}
}
注意:busman() driver() 两个不停循环的函数
?
?
?
问题2 ?图书馆有100个座位,每位进入图书馆的读者要在登记表上登记,退出时要在登记表上注销。要几个程序?有多少个进程?(答:一个程序;为每个读者设一个进程)
?
(1)?????? 当图书馆中没有座位时,后到的读者在图书馆为等待(阻塞)
(2)?????? 当图书馆中没有座位时,后到的读者不等待,立即回家。
?
解(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;
问题3? 有一座东西方向的独木桥;用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)相同。
?
问题4 有一个俱乐部,有甲乙两个服务员,当顾客有请求时,甲负责送烟,乙负责送火,无顾客请求时,服务员睡眠。顾客自己不能带烟和火,当顾客要抽烟时,可请求服务员送烟和火,烟和火还未送到时,顾客必须等待。
设信号量: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)?
抽烟
?
问题5一家四人父、母、儿子、女儿围桌而坐;桌上有一个水果盘;
(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)改为:儿子要吃苹果时,请母亲放苹果,女儿要吃香蕉时,请父亲放香蕉,(还是盘子为空时才可以放)
您可能关注的文档
最近下载
- Unit 1 I love sports Part 1 (课件)2025-2026学年度外研版(三起)英语四年级上册.pptx VIP
- 高血压指南最新版2025完整版原文.docx VIP
- 四川开放大学《演讲与口才》终结性考核-95分.doc VIP
- HACCP过敏原控制程序.pdf VIP
- 浙江省温州市乐成寄宿中学2022-2023学年高一上学期语文期初月考试卷(含答案).docx VIP
- QBT 2623.4-2003 肥皂试验方法 肥皂中水分和挥发物含量的测定 烘箱法.docx VIP
- 地理信息安全在线培训考试题目完整版答案.docx
- 新代说明书.doc VIP
- 水泥混凝土路面“白改黑”施工工艺.pdf VIP
- 中考语文名著导读《红星照耀中国》专项练习题(含答案)1.doc VIP
文档评论(0)