- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8.1 互斥和同步 8.2 实现互斥的方法讨论 8.2.1 实现互斥的硬件方法 8.3 信号量与P、V操作 8.3.1 信号量与P、V操作定义 8.3.2 用P、V操作实现互斥 8.3.3 用P、V操作实现同步 8.3.4 用P、V操作实现资源分配 8.3.5 管程 8.4 互斥、同步的样例分析 8.4.1 读者-写者问题 8.4.2 哲学家就餐问题 8.4.3 理发师理发问题 8.5 高级进程通信 8.5.1 消息缓冲通信 8.5.2 信箱通信 . 理发师程序barber()的代码描述如下: barber() { while(TRUE) { *P(custs); /* 是否有顾客等待理发 */ P(mutex); waiting=waiting-1; V(mutex); cut_hair(); /* 调用理发子程序完成理发 */ **V(barbs); } } . 顾客程序customer()的代码描述如下: customer() { P(mutex); if(waitingn) { waiting=waiting+1; *V(custs); V(mutex); **P(barbs); get_haicut(); } else V(mutex); } 功能是在custs上做P操作,判定是否有顾客等待理发。只有通过这个P操作,才表示有顾客理发,于是进入由信号量mutex控制的临界区,确保对变量waiting操作的互斥。然后调用理发子程序cut_hair(),完成理发后,在信号量barbs上做V操作,表示又有一理发师在等待工作。 顾客到达后,执行顾客程序customer(),功能是进入mutex控制的临界区,在有座椅的情况下,对信号量custs做V操作,记录等待理发的顾客数。退出mutex临界区后,对信号量barbs做P操作,申请一位理发师为顾客理发。若k个理发师现在都忙,顾客就阻塞在信号量barbs上;否则调用子程序get_haicut(),得到理发师提供的理发服务。 . . . barber()中注有“*”号的P(custs),与customer()中注有“*”号的V(custs)是相互呼应的一对同步信号量操作;barber()中注有“**”号的V(barbs),与customer()中注有“**”号的P(barbs)是相互呼应的又一对同步信号量操作。 返回目录 . 用P、V操作实现的通信,称为进程间的低级通信。为使进程间能真正交换数据,操作系统设计有高级通信命令,提供给用户在程序一级使用。只要准备好所需的参数,直接调用它们就能在进程间传递大量信息。 消息缓冲通信是一种直接通信方式,基本思想是消息发送者在自己的消息发送区形成消息,向系统申请消息缓冲区,把数据从消息发送区移到消息缓冲区中。通过发送命令,把这个消息缓冲区直接发送到消息接收者的消息队列里。接收者从自己的消息队列上摘下消息缓冲区,把里面的数据移到自己的消息接收区里,释放消息缓冲区。 . . 为实现消息缓冲通信,要解决如下问题: 开辟消息缓冲区,每个消息缓冲区的构成是:发送消息的进程名或标识name;发送消息的长度size;发送消息的正文内容text;下一个消息缓冲区的指针nPtr。 (1) (2) 系统要提供发送消息和接收消息的系统调用命令。比如发送命令为Send,接收命令为Receive。 (3) 进程PCB中增设管理消息队列的内容,它们是:消息队列的队首指针 hPtr;mutex——在发送和接收中,Send和Receive都要操作,保证对进程消息队列进行互斥操作的信号量mutex ,初值为1。 * * 8.5.2 信箱通信 第8章 并发性:互斥和同步 8.1 互斥和同步 8.1.1 互斥和临界区 8.1.2 同步 8.2 实现互斥的方法讨论 8.2.1 实现互斥的硬件方法 8.2.2 实现互斥的软件方法 8.3 信号量与P、V操作 8.3.1 信号量与P、V操作定义 8.3.2 用P、V操作实现互斥 8.3.3 用P、V操作实现同步 8.3.4 用P、V操作实现资源分配 8.3.5 管程 8.4 互斥、同步的样例分析 8.4.1 读者-写者问题 8.4.2 哲学家就餐问题 8.4.3 理发师理发问题 8.5 高级进程通信 8.
您可能关注的文档
- 彩色电视机原理与维修—高职电子信息—刘俊起王俊 第6章 中频通道的原理与检修.ppt
- 成功社交培训教程 教学课件 作者 杨秋平 21 自信心提升训练1.ppt
- 柴油发动机电控系统检测与修复 教学课件 作者 张西振 张义 学习情境一 3.ppt
- 财务管理 教学课件 作者 曹忠军 林玉辉主编 财务管理课件(27486).ppt
- 柴油发动机电控系统检测与修复 教学课件 作者 张西振 张义 学习情境一 4.ppt
- 彩色电视机原理与维修—高职电子信息—刘俊起王俊 第7章 高频通道电路的原理.ppt
- 成功社交培训教程 教学课件 作者 杨秋平 22 故事 口才故事会.ppt
- 财务管理 教学课件 作者 陈金龙 李四能 第1 2章.ppt
- 柴油发动机电控系统检测与修复 教学课件 作者 张西振 张义 学习情境一.ppt
- 成功社交培训教程 教学课件 作者 杨秋平 23 2分钟演说到计时器.ppt
- 浙江衢州市卫生健康委员会衢州市直公立医院高层次紧缺人才招聘11人笔试模拟试题参考答案详解.docx
- 浙江温州泰顺县退役军人事务局招聘编外工作人员笔试备考题库及参考答案详解一套.docx
- 江苏靖江市数据局公开招聘编外工作人员笔试模拟试题及参考答案详解.docx
- 广东茂名市公安局电白分局招聘警务辅助人员40人笔试模拟试题带答案详解.docx
- 江苏盐城市大丰区住房和城乡建设局招聘劳务派遣工作人员4人笔试模拟试题带答案详解.docx
- 浙江舟山岱山县东沙镇人民政府招聘笔试模拟试题及参考答案详解1套.docx
- 最高人民检察院直属事业单位2025年度公开招聘工作人员笔试模拟试题含答案详解.docx
- 浙江金华市委宣传部、中共金华市委网信办所属事业单位选调工作人员笔试备考题库及答案详解1套.docx
- 广东深圳市党建组织员招聘40人笔试模拟试题及答案详解1套.docx
- 江苏南京水利科学研究院招聘非在编工作人员4人笔试模拟试题及参考答案详解.docx
最近下载
- 2025年4月20日四川省事业单位考试《公共基础知识》试题及答案解析参考.pdf
- 中层竞聘面试题目答案.doc VIP
- 电力系统优化与调度软件:PLEXOS二次开发_(4).电力系统优化理论.docx VIP
- 传染病、消毒知识测试题及答案.docx VIP
- 2025年解放军联勤保障部队第960医院医护人员招聘备考试题及答案解析.docx VIP
- 2021年版国家免疫规划疫苗儿童免疫程序相关知识考核试题含答案.docx VIP
- 电力系统优化与调度软件:Xpress二次开发_(3).电力系统优化问题的数学建模.docx VIP
- 中建钢筋精算管理操作手册.pdf VIP
- 电商仓库主管月工作总结.pptx
- 预防接种工作规范(2023版)试题.docx VIP
文档评论(0)