- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
- 实现企业利润最大化目标.ppt
- 单元习作《我的小伙伴》.ppt
- 地下采矿课件第三章矿床开拓.ppt
- 容器检验师考试辅导PPT课件-焊工考核资格.ppt
- 土地类型的分布规律.ppt
- 力的存在第二课时.ppt
- 基础中医学教学资料-气的运动与气化.ppt
- 小学三年级《清洁伴我行》主题班会.ppt
- 基层医疗卫生机构工会组织建设情况.ppt
- 关爱自己健康一生.ppt
- 2025年广西中考地理二轮复习:专题四+人地协调观+课件.pptx
- 2025年广西中考地理二轮复习:专题三+综合思维+课件.pptx
- 2025年中考地理一轮教材梳理:第4讲+天气与气候.pptx
- 第5讲+世界的居民课件+2025年中考地理一轮教材梳理(商务星球版).pptx
- 冀教版一年级上册数学精品教学课件 第1单元 熟悉的数与加减法 1.1.6 认识1-9 第6课时 合与分.ppt
- 2025年中考一轮道德与法治复习课件:坚持宪法至上.pptx
- 2025年河北省中考一轮道德与法治复习课件:崇尚法治精神.pptx
- 八年级下册第二单元+理解权利义务+课件-2025年吉林省中考道德与法治一轮复习.pptx
- 精品解析:湖南省娄底市2019-2020学年八年级(上)期中考试物理试题(原卷版).doc
- 2025年中考地理一轮教材梳理:第10讲+中国的疆域与人口.pptx
文档评论(0)