- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
进程同步与互斥习题课最新
进程同步与互斥习题课 河北工业大学 计算机学院 李建伟 利用信号量实现进程间的互斥 由于各进程要求共享资源,而有些资源需要互斥使用,因此各进程间竞争使用这些资源,进程的这种关系为进程的互斥 临界资源:critical resource 系统中某些资源一次只允许一个进程使用,称这样的资源为临界资源或互斥资源或共享变量 互斥例题2 典型同步互斥问题之一: 读者与写者问题(ReaderWriter Problems) 读者-写者模型是现代操作系统中典型的进程同步互斥问题,以客户服务器模式为代表的多进(线)程通信系统应用都可以抽象为该模型的不同形式。因此,该模型的算法在这些领域具有重要的应用价值。 多个进程共享一个文件,其中只读文件进程称为读者,只写文件进程称为写者.多个读者和多个写者在某个时间段内对该文件资源异步进行读写.为避免文件数据出现丢失修改和读脏数据的情况,对读者和写者的读写操作限制如下. (1)写-写互斥,即不允许多个写者同时对文件 进行写操作. (2)读-写互斥,即不允许读者和写者同时对文 件分别进行读写操作. (3)读-读允许,即允许多个读者同时对文件进 行读操作. 读者优先方案 设计思想:读者优先意味着以下两条要求. (i)除非有写者正在写文件,否则读者不需要等待; (ii)仅当无读者时才允许写者使用文件. 读者优先算法实现: PReader(读者进程) P(mutexReaderCount) ReaderCount++ If(ReaderCount==1) P(mutexShareFile) V(mutexReaderCount) …从文件读信息… P(mutexReaderCount) ReaderCount-- If(ReaderCount==0) V(mutexShareFile) V(mutexReaderCount) 读者-写者公平竞争方案 设计思想:读者-写者公平竞争的要求读者-写者完全按照先来先服务的原则使用文件资源,一旦有写者到达,后续的读者都必须等待。不允许出现后来者超越先来的等待资源者插队的现象。 PReader(读者进程) P(mutexRegister) P(mutexReaderCount) ReaderCount++ If(ReaderCount== P(mutexShareF V(mutexReaderCount) V(mutexRegister) …从文件读信息… P(mutexReaderCount ReaderCount-- If(ReaderCount==0) V(mutexShareFile) V(mutexReaderCount) 算法分析 限制条件(1)~(3)均可以得到满足,新的互斥信号量mutexRegister的引入使得在有写者处于等待状态的情况下,后来的读者进程会由于同写者进程对注册标记的竞争尝试失败而不得不挂起,从而实现了读者-写者间的先来先服务的公平竞争方案. 写者优先方案 设计思想:写者优先有以下两条要求. (i)仅当无写者时才允许读者使用文件; (ii)唤醒时优先考虑写者. 算法分析 在满足限制条件(1)~(3)的前提下,以写者进程为优先考虑对象,如果有写请求发出,则它会在被允许的最快时间内得到响应.其好处是在一个由很多客户端以读权限访问的服务器(如一般的公众服务器)上,如果管理员对服务器的某些内容或配置进行修改的话,那么它的及时性可以得到满足。 总结 可由一类进程多次访问,而不同类的进程必须 互斥访问资源的控制,是进程控制中常见的一类问 题. 读者-写者模型正是这类问题中的一个典型, 它给出了对于这类资源的控制方法,即采用一个资 源计数变量进行控制,把对于该资源的访问控制变 成对变量的访问.同时,资源计数变量作为新的临界资源,也需要用新的信号量对其进行互斥访问控制. 练习题1 桌子有一空盘,允许存放一个水果。爸爸可向盘中放苹果,也可以向盘中放桔子,儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。规定当盘空时一次只能放一只水果供吃者取用,请用P、V原语实现爸爸、儿子、女儿3个并发进程的同步。 练习题2 设有三个进程A、B、C,其中A与B构成一对生产者与消费者(A为生产者,B为消费者),共享一个由n个缓冲块组成的缓冲池,B与C也构成一对生产者与消费者(此时B为生产者,C为消费者),共享另一个由m个缓冲块组成的缓冲池。用P、V操作描述它们之间的关系。 练习题3 把学生和监考老师都看作进程,学生有N人,教师1人。考场门口每次只能进出一个人,进考场原则是先来先进。当
您可能关注的文档
最近下载
- 外研版(2024)Unit 5 Reading课件 2024-2025学年七年级英语上册.pptx VIP
- 糖尿病诊疗指南2024.pptx VIP
- 【新教材】北师大版(2024)七年级上册数学第四章 基本平面图形 综合素质评价测试卷(Word版,含答案).docx
- 2024年在线网课学习课堂《Entrepreneur Growth Plan(辽宁大学 )》单元测试考核答案.pdf
- 公安专业知识 易混易错知识点法律和公专(讲义+笔记)(辅警系统班).pdf
- 核心素养下的大单元教学培训心得(通用).pptx
- 二年级上册美术教案与反思-第6课 下雨了 ▏人美版 .pdf VIP
- 2024年华医网继续教育临床静脉用药质量管理与风险防范答案.docx VIP
- NAD T757 A&V 环绕声接收器用户手册.pdf
- 新能源汽车的品牌推广.pptx
文档评论(0)