哲学家进餐问题是荷兰学者Dijkstra 提出的经典问题之一,它是一个信号量机制问题的应用,在操作系统文化史上具有非常重要的地位。对该问题的剖析有助于学生深刻地理解计算机系统中的资源共享、进程同步、死锁等问题,并能熟练地应用信号量来解决生活中的控制流程,即将生活中的控制流程用形式化的方式表达出来。 假设有5个哲学家,他们花费一生中的时光思考和吃饭。这些哲学家共用一个圆桌,每个哲学家都有一把椅子。在桌子中央是一碗通心面,在桌子上放着5只筷子。(如图所示)当一个哲学家思考时,他与其他同事不交互。时而,哲学家会感到饥饿,并试图拿起与他相近的两只筷子(他与邻近左、右之间的筷子)。一个哲学家一次只能拿起一只筷子。显然,他不能从其他哲学家手里拿走筷子。当一个饥饿的哲学家同时有两只筷子时,他就不能不用释放他的筷子而自己吃了。当吃完后,他会放下两只筷子,并再次开始思考。 规定奇数号哲学家先拿他左边的筷子,然后再去拿右边的筷子;而偶数号哲学家则相反。按此规定,将是1、 2号哲学家竞争1号筷子;3、4号哲学家竞争3号筷子。即五位哲学家都先竞争奇数号筷子,获得后,再去竞争偶数号筷子,最后总会有一位哲学家能获得两只筷子而进餐。
上传时间: 2014-01-23
上传用户:teddysha
银行家算法是避免死锁的一种重要方法,本实验要求用高级语言编写和调试一个简单的银行家算法程序。加深了解有关资源申请、避免死锁等概念,并体会和了解死锁和避免死锁的具体实施方法
上传时间: 2015-11-12
上传用户:lixinxiang
ATMEL AVR单片机小马软件下熔死设置的抓图,相信你也和我一样经常忘记熔丝位该怎么选择吧? 有了它你下次忘记时不用再满天漫地的去找资料了
上传时间: 2014-01-13
上传用户:凌云御清风
01引论 02进程的描述 03进程的控制 04进程的同步 05经典同步问题与管程 06进程的通信 07线程与编程 08处理机调度 09实时调度 10处理机死锁 11死锁+多处理机 12程序装入与内存连续分配 13连续分配与分页管理 14分页与分段内存管理 15虚拟存储和请求分页 16页面置换算法 17页面置换与请求分段 18I-O系统 19缓冲管理与设备分配 20设备分配与设备处理 21磁盘管理 22文件系统与结构 23目录与空间管理
上传时间: 2015-11-14
上传用户:woshiayin
防Listview控件源码,传哦
上传时间: 2015-11-18
上传用户:sclyutian
C#高级编程(第三版),顶死你们。。 。up
标签: 高级编程
上传时间: 2013-11-28
上传用户:zhouchang199
的爱迪生发生的发生的发生的发达阿道夫撒 爱上发大水打法啊啊安防案发
上传时间: 2013-12-18
上传用户:l254587896
AT89C5X,看门狗程序,可以防止程序进入死循环.
上传时间: 2014-02-21
上传用户:gaome
银行家算法是避免死锁的算法,是最经典的,欢迎下载
上传时间: 2015-11-23
上传用户:lepoke
本文介绍了LOTUS防垃圾邮件设置 有需要的可以查看下
标签: LOTUS
上传时间: 2014-12-06
上传用户:cuibaigao