哲学家进餐问题(操作系统)ppt课件.ppt
《哲学家进餐问题(操作系统)ppt课件.ppt》由会员分享,可在线阅读,更多相关《哲学家进餐问题(操作系统)ppt课件.ppt(13页珍藏版)》请在三一办公上搜索。
1、哲学家进餐问题,主讲人:次仁桑珠,问题描述,设有五个哲学家,共用一张放有五把椅子的餐桌,每人坐在一把椅子上,桌子上有五个碗和五只筷子,每人两边各放一只筷子。哲学家们是交替思考和进餐,饥饿时便试图取其左右最靠近他的筷子。,(1) 只有拿到两只筷子时,哲学家才能吃饭。(2) 如果筷子已被别人拿走,则必须等别人吃完之后才能拿到筷子。,怎样才能保证哲学家不被饿死呢?,摘要:解决“哲学家进餐”问题首先要找出对应的控制关系,设定相应的控制信号量。避免死锁也是解决该类问题的关键。关键词:进程同步;信号量;临界资源;临界区; 死锁,算法 A,void philosopher(int i) /*i:哲学家编号,
2、从0 到4*/ while (TRUE) think( ); /*哲学家正在思考*/ take_fork(i); /*取左侧的筷子*/ take_fork(i+1) % N); /*取右侧筷子;为取模运算*/ eat( ); /*吃饭*/ put_fork(i); /*把左侧筷子放回桌子*/ put_fork(i+1) % N); /*把右侧筷子放回桌子*/ ,算法分析:,当出现以下情形,在某一个瞬间,所有的哲学家都同时启动这个算法,拿起左侧的筷子,而看到右侧筷子不可用,又都放下左侧筷子,等一会儿,又同时拿起左侧筷子如此这样永远重复下去。对于这种情况,所有的哲学家都吃不上饭。,算法改善:,至多
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 哲学家 进餐 问题 操作系统 ppt 课件
链接地址:https://www.31ppt.com/p-1298317.html