- 1、本文档共78页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Condition Signal Consider the released process (from the signaled condition) and the process that signals. There are two processes executing in the monitor, and mutual exclusion is violated! There are two common and popular approaches to address this problem: The released process takes the monitor and the signaling process waits somewhere. The released process waits somewhere and the signaling process continues to use the monitor. Operating System Concepts Semaphore vs. Condition Operating System Concepts Monitor With Condition Variables Operating System Concepts Operating System Concepts Producer-Consumer with Monitors Operating System Concepts Dining Philosophers Example monitor dp { enum {thinking, hungry, eating} state[5]; condition self[5]; void pickup(int i) // following slides void putdown(int i) // following slides void test(int i) // following slides void init() { for (int i = 0; i 5; i++) state[i] = thinking; } } Operating System Concepts Dining Philosophers void pickup(int i) { state[i] = hungry; test[i]; if (state[i] != eating) self[i].wait(); } void putdown(int i) { state[i] = thinking; // test left and right neighbors test((i+4) % 5); test((i+1) % 5); } Operating System Concepts Dining Philosophers void test(int i) { if ( (state[(i + 4) % 5] != eating) (state[i] == hungry) (state[(i + 1) % 5] != eating)) { state[i] = eating; self[i].signal(); } } Operating System Concepts Monitor Implementation Using Semaphores Variables semaphore mutex; // (initially = 1) semaphore next; // (initially = 0) int next-count = 0; Each external procedure F will be replaced by wait(mutex); … body of F; … if (next-count 0) signal(next) else signal(mutex); Mutual exclusion within a monitor is ensured. Operating System Concepts Monitor Implementation For each condition variable x, we have: semaphore x-sem; // (initially = 0) int x-count = 0; Th
您可能关注的文档
- 第3章.7频率计(630KB).ppt
- 第3章.7水的三态变化(4375KB).ppt
- 第3章.7总结我们的天气观察精品课件(1023KB).ppt
- 摆的研究1章节(415KB).ppt
- 第3章.7总结我们的天气观察优质课课件(4476KB).ppt
- 第3章.8超声波式传感器(327KB).ppt
- 第3章.8小狗包弟课件5人教版必修1章节(968KB).ppt
- 第3章.8字信号发生器(923KB).ppt
- 操作系统原理2章节(988KB).ppt
- 第3章.9逻辑分析仪(922KB).ppt
- 小学数学教学中注意力培养的策略探讨教学研究课题报告.docx
- 小学生数学学习动机及其影响因素探讨教学研究课题报告.docx
- 高中生生涯规划与情绪管理能力的培养研究教学研究课题报告.docx
- 心理创伤对未成年人心理健康的长期影响研究教学研究课题报告.docx
- 高中数学教育中渗透心理健康教育的探索教学研究课题报告.docx
- 素质档案对学生学业规划的影响案例教学研究课题报告.docx
- 有效教学反馈在高中数学学习中的作用教学研究课题报告.docx
- 2025至2030年中国分子共振射频刀数据监测研究报告.docx
- 2025年钢铁材料项目可行性研究报告.docx
- 2025至2030年中国前掌数据监测研究报告.docx
最近下载
- 4篇 2025年专题民主生活会个人对照发言材料(四个带头).doc VIP
- 船舶驾驶员实用英语口语.doc
- 公路桥梁小修保养工程常用表格式样.doc
- 南京邮电大学2020-2021学年第1学期《线性代数》期末考试试卷(A卷)及标准答案.docx
- 泌尿科内镜随访制度.docx
- 大学英语综合教程(高级)(华中农业大学)中国大学MOOC(慕课)章节测验试题(答案).pdf
- 江苏海洋大学2023-2024学年第1学期《高等数学(上)》期末考试试卷(B卷)附参考答案.pdf
- 初中物理-内能知识点.doc VIP
- 《语文新课程改革研究》课程考试题库文学类专业(2023年)完整版.doc VIP
- 2023年新版征信报告详细版征信报告模板-Word-可编辑-有水印.docx VIP
文档评论(0)