电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

操作系统专业课程设计哲学家进餐问题样本

操作系统专业课程设计哲学家进餐问题样本_第1页
1/22
操作系统专业课程设计哲学家进餐问题样本_第2页
2/22
操作系统专业课程设计哲学家进餐问题样本_第3页
3/22
操作系统专业课程设计哲学家进餐问题目录1 .设计题目与要求 .................................1.............................................1 初始条件 ....................................12 总体设计思想及相关知识 ..........................2.............................................2 临界区互斥编程原理 ..........................3.............................................33 数据结构与模块说明 ...............................4 数据结构 ....................................4.............................................5 主程序模块 .............................5 状态改变模块 ...........................6 返回哲学家状态模块 .....................7 返回餐具状态模块 .......................84. 源程序代码 ....................................95. 测试及结果 ....................................146. 课设总结 ......................................16参考文献.........................................171.设计题目与要求实验目的:通过实现哲学家进餐问题的同步深化了解和掌握进程同步和互斥的原理。设计要求:哲学家有 N 个,也定全体到齐后开始讨论:在讨论的间隙哲学家进餐,每人进餐时都需使用刀、叉各一把,所有哲学家刀和叉都拿到后才能进餐。哲学家的人数、餐桌上的布置自行设定,实现刀和叉的互斥使用算法的程序实现。 初始条件(1)操作系统:windows(2)程序设计语言:C++(3)设定圆桌上有六个哲学家,三对刀叉,如下图摆放:图 1-1 哲学家进餐问题设定图2 总体设计思想及相关知识哲学家的生活就是思考和吃饭,即思考,饿了就餐,再思考,循环往复。要求是:每一个哲学家只有在拿到位于他左右的刀叉后,才能够就餐;哲学家只能先拿一把刀或叉,再去拿另一把刀或叉,而不能同时去抓他旁边的两把餐具,也不能从其他哲学家手中抢夺餐具;哲学家每次就餐后必须放下他手中的两把餐具后恢复思考,不能强抓住餐具不放。设计一个程序,能够显示当前各哲学家的状态和桌上餐具的使用情况,并能无死锁的推算出下一状态各哲学家的状态和桌上餐具的使用情况。即设计一个能安排哲学家正常生活的程序。为哲学家设计 3 种状态,即“等待”“进餐”“思考”。每个哲学家重复进行“等待”->“进餐”->“思考”的行动循环。其中:“等待”->“进餐”:只有一个...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

操作系统专业课程设计哲学家进餐问题样本

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部