网站大量收购独家精品文档,联系QQ:2885784924

实时操作系统同步、互斥与通信.pptVIP

  1. 1、本文档共10页,可阅读全部内容。
  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文档。上传文档
查看更多

读者和写者问题Procedurewriter;beginP(wrt);writingisperforming;V(wrt);end;Procedurereader;beginP(mutex);Readcount=readcount+1;ifreadcount=1thenP(wrt);V(mutex);readingisperfoming;P(mutex);Readcount=readcount-1;ifreadcount=0thenV(wrt);V(mutex);简单理发店问题理发室椅子入口出口等候室简单理发店问题一个理发店由一个有几张椅子的等候室、一个放有一张理发椅的理发室和一个理发师组成。若没有要理发的顾客,则理发师就去睡觉;若一顾客走进理发店且所有的椅子都被占用了,则该顾客就离开理发店;若理发师正在为人理发,则该顾客就找一张空椅子坐下等待;若理发师在睡觉,则顾客就唤醒他。理发室椅子入口出口等候室简单理发店问题理发室分析只有当顾客坐上理发椅,理发师才开始理发—同步当正在理发的顾客理好发,等待的顾客才能理发—同步同一时刻只有一个顾客能理发——互斥同一时刻只有有限的顾客能在等待室等待——互斥资源与信号量对于理发师:坐上理发椅的顾客,信号量barber=0对于理完发的顾客:是否有顾客等待,信号量wait=0对于进入的顾客:是否有人在理发,及等候室是否已满,变量count=0保证对共享变量count的互斥访问的信号量:entry=1椅子入口出口等候室简单理发店问题//共享数据结构:

varbarber,wait:semaphore;(初始值=0)

entry:semaphore; (初始值=1)

couter:integer; (初始值=0)//关于理发师的代码段:

whiletruedo{

P(barber);

“Shave”

}理发室椅子入口出口等候室简单理发店问题//关于顾客的代码段:P(entry);

ifcount=nthen

{V(entry);exit;

} count:=count+1;

ifcount1then{V(entry);

P(wait);}elseV(entry);V(barber);

“Shave”

P(entry);

count:=count–1;

ifcount0thenV(wait);

V(entry);理发室椅子入口出口等候室barber信号量队列wait信号量队列entry信号量队列理发师理发师P(barber)PP(entry)P(entry)count=0=1v(entry)唤醒count=1v(entry)Count=2P(wait)V(barber)理发师barber信号量队列wait信号量队列entry信号量队列P(entry)count=5V(entry)P(entry)count=5count=4V(entry)V(wait)V(barber)信号量机制的主要数据结构SCB1SCB2…………信号量控制块count信号量名字或IDTask1Task2……任务等待列表信号量机制的主要数据结构信号量控制块:管理所有创建的信号量,内核在系统运行时动态分配和回收信号量控制块互斥和二值信号量控制块结构:Binary_Semaphore_Control_Blockwait_queue 任务等待队列attributes 信号量属性 lock_nesting_behavior试图嵌套获得时的规则wait_discipline 任务等待信号量的方式 priority_ceiling 优先级天花板值lock 是否被占有holder 拥有者nest_count 嵌套层数1计数信号量控制结构Counting_Semaphore_Control_Block

文档评论(0)

189****6885 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档