操作系统原理操作系统原理 (29).pdf
《操作系统原理操作系统原理 (29).pdf》由会员分享,可在线阅读,更多相关《操作系统原理操作系统原理 (29).pdf(9页珍藏版)》请在文库网上搜索。
1、 操作系统操作系统原理原理 Operating System PrincipleOperating System Principle 6 6-4 4 哲学家问题哲学家问题 临界资源的抽象 初始条件 正确的P-V操作 同步、互斥的约束条件 1 2 3 4 Semaphore 信号量 DiningDining-Philosophers ProblemPhilosophers Problem (哲学家就餐问题)Classical Problems of Synchronization BoundedBounded-Buffer ProblemBuffer Problem (有限缓冲区问题)Reade
2、rs and Writers ProblemReaders and Writers Problem (读者写者问题)问题描述:哲学家进餐问题(the dining philosophers problem)(由Dijkstra首先提出并解决)5个哲学家围绕一张圆桌而坐,桌子上放着5支筷子,每两个哲学家之间放一支;哲学家的动作包括思考和进餐,进餐时需要同时拿起他左边和右边的两支筷子,思考时则同时将两支筷子放回原处。如何保证哲学家们的动作有序进行?如:不出现相邻者同时进餐;Dining-Philosophers Problem Shared data Semaphore chopStick =ne
3、w Semaphore5;Repeat 思考;取chopSticki;取chopStick(i+1)mod 5;进餐;放chopSticki;放chopStick(i+1)mod 5;Until false;Philosopher(i)Philosopher(i)Philosopher i:while(true)/get left chopstick chopSticki.P();/get right chopstick chopStick(i+1)%5.P();/eat for awhile /return left chopstick chopSticki.V();/return right chopstick chopStick(i+1)%5.V();/think for awhile Dining-Philosophers Problem(Cont.)讨论 可能会出现死锁,五个哲学家每人拿起了他左边的筷子 01 最多允许四个哲学家同时就坐 02 同时拿起两根筷子 03 非对称解决
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
30 文币 0人已下载
下载 | 加入VIP,免费下载 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统原理操作系统原理 29 操作系统 原理 29