欢迎来到天天文库
浏览记录
ID:18763078
大小:47.00 KB
页数:6页
时间:2018-09-22
《进餐-哲学家进餐问题》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、-------------------------------------------------------精选财经经济类资料----------------------------------------------进餐-哲学家进餐问题-----------------------------------------------最新财经经济资料----------------感谢阅读-----------------------------------~6~-----------------------------------
2、--------------------精选财经经济类资料----------------------------------------------进餐-哲学家进餐问题-----------------------------------------------最新财经经济资料----------------感谢阅读-----------------------------------~6~-------------------------------------------------------精选财经经济类资料------
3、---------------------------------------- 哲学家进餐问题。哲学家进餐问题是由荷兰学者Dijkstra提出的经典的同步问题之一。 中文名,哲学家进餐问题。进餐产生背景,一大类并发控制问题的典型例子。约束条件,只有拿到两只筷子哲学家才能吃饭。进餐信号量机制,筷子是临界资源。 产生背景。由荷兰学者Dijkstra提出的哲学家进餐问题是经典的同步问题之一。 哲学家进餐问题是一大类并发控制问题的典型例子。涉及信号量机制。管程机制以及死锁等操作系统中关键问题的应用。在操作系统文化史上具有非常重要
4、的地位。对该问题的剖析有助于深刻地理解计算机系统中的资源共享。进程同步机制。死锁等问题。并能熟练地将该问题的解决思想应用于生活中的控制流程。 问题描述。n哲学家进餐问题描述有五个哲学家。 他们的生活方式是交替地进行思考和进餐。n哲学家们共用一张圆桌。分别坐在周围的五张椅子上。在圆桌上有五个碗和五支筷子。n平时哲学家进行思考。饥饿时便试图取其左。右最靠近他的筷子。只有在他拿到两支筷子时才能进餐。n进餐完毕。放下筷子又继续思考。约束条件只有拿到两只筷子时。哲学家才能吃饭。如果筷子已被别人拿走。则必须等别人吃完之后才能拿到筷子。任一
5、哲学家在自己未拿到两只筷子吃饭前。 不会放下手中拿到的筷子。信号量机制筷子是临界资源。一段时间只允许一位哲学家使用。为了表示互斥。用一个信号量表示一只筷子。五个信号量构成信号量数组。本文中算法用类C语言描述伪码算法。算法描述如下:n用五支筷子的信号量构成信号量数组:Semaphorechopstick={1。l。1。l。1};p;p%5]);进餐;v;v%5]);思考;当哲学家饥饿时。总是先去拿他左边的筷子。执行wait。 成功后。再去拿他右边的筷子。执行wait;成功后便可进餐。进餐毕。先放下他左边的筷子。然后再放下右边的筷
6、子。当五个哲学家同时去取他左边的筷子。每人拿到一只筷子且不释放。即五个哲学家只得无限等待下去。引起死锁。 死锁问题。破坏请求保持条件利用原子思想完成。 即只有拿起两支筷子的哲学家才可以进餐。否则。一支筷子也不拿。解法一:利用AND机制实现第1位哲学家的活动描述为:philosopher-----------------------------------------------最新财经经济资料----------------感谢阅读-----------------------------------~6~----------
7、---------------------------------------------精选财经经济类资料----------------------------------------------{while{思考;swait]%5。chopstick);进餐;Ssignal%5]);}}解法二:利用记录型信号量机制实现在初始化中增加一个信号量定义:semaphoremutex=1:第1位哲学家的活动描述:philosopher{while{思考;wait;wait;wait%5]);Signal;进餐;signal;Sign
8、al%5]);}}该方法将拿两只筷子的过程作为临界资源。 一次只允许一个哲学家进入。破坏环路等待条件在上述死锁问题中。哲学家对筷子资源的申请构成了有向环路。如图2所示。图2环路等待解法一:奇数号哲学家先拿他左边的筷子。偶数号哲学家先拿他右边的筷子
此文档下载收益归作者所有