操作系统习题全解 .pdfVIP

  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文档。上传文档
查看更多

操作系统复习题

考试必备!

进程同步1

进程P1和进程P2并发执行时满足一定的时序关系,P1的代码段S1执行完后,才能执行P2

的代码段S2.为描述这种同步关系,:试设计相应的信号量,:给出信号量的初始值,:给出进

程P1和P2的结构

解答:信号量变量申明为

Typedefstruct{

intvalue;//信号量中的值,表示资源的数量

structPCB*L;//等待该信号量的队列

}semaphore;

设信号量semaphoresynch;

初始值为:synch.value=0

进程P1和P2的结构为

P1:{P2:{

⋮⋮

S1wait(synch);

signal(synch);S2

⋮⋮

}}

进程同步2

问题描述:(理发店问题)一个理发店有一间配有n个椅子的等待室和一个有理发椅的理发室。如

果没有顾客,理发师就睡觉;如果顾客来了二所有的椅子都有人,顾客就离去;如果理发师在忙

而有空的椅子,顾客就会坐在其中一个椅子;如果理发师在睡觉,顾客会摇醒他。

①给出同步关系

②设计描述同步关系的信号量;

③给出满足同步关系的进程结构(请完成满足同步关系的进程结构)。

解答:顾客customer应满足的同步关系为:

a:顾客来时要等空的椅子,否则不进理发室

b:座椅上的顾客要等理发椅空才有可能与别的顾客竞争理发椅,如果顾客坐上

理发椅,就要腾空其座椅给新来顾客,同时叫理发师给其理发。

c:一旦顾客理发完,就要让别的等待顾客有机会理发。

理发师应满足的同步关系为:一旦顾客唤醒,就给顾客理发,之后进入睡觉。

信号量定义如下:

Typedefstruct{

intvalue;//信号量中的值,表示资源的数量

structPCB*L;//等待该信号量的队列

}semaphore;

互斥信号量定义如下:

Typedefstruct{

boolflag;

structPCB*L;

}binary_semaphore;

理发店问题的解决需要信号量和互斥信号量为:

semaphorechair;binary_semaphorebarber_chair,hair_cut;

它们的初始值为:

chair.value=n;barber_chair.flag=1;hair_cut.flag=0;

顾客和理发师进程分别为:

customer{barber{

wait(chair);do{

waitinginthechair;wait(hair_cut);

wait(barber_chair);cuttin

文档评论(0)

. + 关注
官方认证
文档贡献者

专注于职业教育考试,学历提升。

版权声明书
用户编号:8032132030000054
认证主体社旗县清显文具店
IP属地河南
统一社会信用代码/组织机构代码
92411327MA45REK87Q

1亿VIP精品文档

相关文档