- 1、本文档共94页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(2). buffer为堆栈,有界,大小为n 堆栈有一个指针top,被所有的生产者和所有的消费者 使用。 Mutex:所有的生产者和消费者互斥使用top指针; 同步信号量:Empty=n ; full=0 LP: 生产一个产品; Buffer[top]=item; top=top+1 Goto LP; P(empty); P(mutex); V(mutex); V(full); LC: P(full); item =Buffer[top]; top=top-1; 消费一个产品; P(mutex); V(mutex); V(empty); Goto Lc; Buffer top (3). buffer为队列,无界 队列有两个指针in 和out,in被所有的生产者使用, out所有的消费者使用。 Mutex1:所有的生产者互斥使用in指针; Mutex2:所有的消费者互斥使用out指针。 同步信号量:full=0 LP: 生产一个产品; Buffer[in]=item; In=in+1 Goto LP; P(mutex1); V(mutex1); V(full); LC: P(full); item =Buffer[out]; out=out+1; 消费一个产品; P(mutex2); V(mutex2); Goto Lc; Buffer in out (4). buffer为堆栈,无界 堆栈有一个指针top,被所有的生产者和所有的消费者 使用。 Mutex:所有的生产者和消费者互斥使用top指针; 同步信号量:full=0 LP: 生产一个产品; Buffer[top]=item; top=top+1 Goto LP; P(mutex); V(mutex); V(full); LC: P(full); item =Buffer[top]; top=top-1; 消费一个产品; P(mutex); V(mutex); Goto Lc; Buffer top 2.读者-写者问题 m个读者,n个写者,读者可以同时读,读写不能同时进行,写写不能同时进行 今晚有课 明天放假 后天停水 Reading Certainly! May I Read? May I Write? No!! 今晚有课 明天放假 后天停水 元旦 Writing May I Read? May I Write? 进入 读 离开 No!! 进入 写 离开 No!! 如何解决同步与互斥? Readcount=0;mutextr=1; Mutexw=1; 读者: P(mutextr); 读; Readcount=readcount+1; if(readcount==0) P(mutexw); V(mutexr); Readcount=readcount-1; P(mutextr); if(readcount==0) V(mutexw); V(mutexr); 走; 写者: P(mutexw); 写; V(mutexw); 1. I-C-P问题 I是输入进程负责输入数据,C是计算进程,负责进行计算;P是打印进程负责打印结果;Buffer1大小为m ,被I与C共享; Buffer2大小为n,被 C与P共享;buffer1和buffer2均为队列,有界。 四、同步互斥问题实例 2.产品配套问题 A产品和B产品是配套产品 ,要求: nA-nB≤y ,nB-nA≤x ,开始时:A和B数量均为0。如何实现A,B产品的生产过程。 几个信号量?初值分别为多少? 几个同步?几个互斥? Sa Sb =y =x A 产品 P(Sa); 生产一个A; V(Sb); P(Sb); 生产一个B; V(Sa); 开始时:A已有m个,B已有n个。怎么办? 3.吃水果 桌上有一空盘子,允许存放一只水果,爸爸可向盘子中放苹果或橘子,儿子专吃盘子中的橘子,女儿专吃盘子中的苹果,规定当盘子空时一次只能放一只水果,请用P,V操作实现爸爸、儿子、女儿三个并发进程的同步。 几个信号量?初值分别为多少? 几个同步?几个互斥? 爸爸 我要橘子 女儿 我要苹果 三个进程互斥使用一个包含N(N0)个单元的缓冲区,P1每次用produce()生成一个正整数并用put()送入缓冲区的某一空单元中;P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数; P3每次用geteven()从缓冲区中取出一个偶数并用counteven()统计偶数个数;请用信号量机制实现三个进程的同步与互斥,并说明所定义的信号量的含义, 3.7进程通信 一、 引入 进程通信:在进程间传输数据。 根据通信内容分类: 典型实例:终端控制进程和
您可能关注的文档
- 操作系统-五六章.ppt
- 操作系统-处理器管理.ppt
- 操作系统-第三章进程管理.ppt
- 操作系统-第三章进程通信.ppt
- 操作系统ch3进程同步.ppt
- 操作系统chap3复习.ppt
- 操作系统chapter2进程管理.ppt
- 操作系统C第2章进程管理4典型的同步问题.ppt
- 操作系统OS第二章2.ppt
- 操作系统U盘存储结构原理.pptx
- 基于物联网的2025年城市地下综合管廊跨境智能运维设备监测与管理报告.docx
- 2025年城市公共交通领域储能解决方案深度研究报告.docx
- 解读2025年低空经济政策:航空维修市场发展趋势展望.docx
- 小鹏汽车智能化车型安全性能评测分析报告2025.docx
- 景区新能源电动观光车运营维护成本控制策略研究.docx
- 2025年智能制造投资规划:制造企业智能化改造经济效益分析报告.docx
- 2025年半导体设备研发热点:半导体化学气相沉积技术路线分析报告.docx
- 基于物联网的2025年密室逃脱场景沉浸感提升技术探讨.docx
- 二、2025年人工智能交通行业趋势预测报告:智慧交通助力城市升级.docx
- 2025年校园绿色出行解决方案:无人配送车技术深度研究报告.docx
最近下载
- 2025年台湾AI行销趋势报告(繁体版)-Kolr.docx VIP
- 湖北办公楼监控及电子围栏系统施工组织设计.doc VIP
- 围栏(施工组织设计围栏(施工组织设计).doc VIP
- 2024年台湾YouTube年度社群内容趋势报告(繁体版)-Kolr.pptx VIP
- 诺尔起重设备(中国)有限公司RTG&RMG中国福建招商局漳州开发区363105.pdf VIP
- 小区沥青道路设计做法.doc VIP
- 2025年台湾AI行销趋势报告(繁体版)-Kolr.pdf VIP
- 防雷安全知识试题及答案.doc VIP
- 智能体协议:MCP、A2A、ANP-智能体互联网的黎明之前.docx
- 国有企业收购合同协议.docx VIP
文档评论(0)