操作系统课程设计哲学家进餐问题报告
《操作系统课程设计哲学家进餐问题报告》由会员分享,可在线阅读,更多相关《操作系统课程设计哲学家进餐问题报告(17页珍藏版)》请在毕设资料网上搜索。
1、 课程设计报告课程设计报告 (本科(本科/专科)专科) 课程: 操作系统课程设计 学号: 姓名: 班级: 教师: 时间: 2012.12.7 -2013.1.7 计算机科学与技术系 1 设计名称: 哲学家进餐问题 设计内容、目的与要求: 实验目的: 通过实现哲学家进餐问题的同步深入了解和掌握进程同步和互斥的原 理。 内容和要求: 哲学家有 N 个,也定全体到达后开始讨论:在讨论的间隙哲学家 进餐, 每人进餐时都需使用刀、 叉各一把, 所有哲学家刀和叉都拿到后才能进餐。 哲学家的人数、 餐桌上的布置自行设定, 实现刀和叉的互斥使用算法的程序实现。 计划与进度安排: 2 1:设置初始条件(12 月
2、 17 号) (1)操作系统:windows (2)程序设计语言:C+ (3)设定圆桌上有六个哲学家,三对刀叉。 2:详细设计: (12 月 18 号至 1 月 6 号) (1) :设计一个程序,能够显示当前各哲学家的状态和桌上餐具的使用情况,并 能无死锁的推算出下一状态各哲学家的状态和桌上餐具的使用情况。 即设计一个 能安排哲学家正常生活的程序。 (2) :为哲学家设计 3 种状态,即“等待” “进餐” “思考” 。每个哲学家重复进 行“等待”-“进餐”-“思考”的行动循环。 (3) :确定程序模块。 (4) :编写程序。 (5) :调试修改。 (6) :结果分析。 设计过程、步骤(可加页)
3、 : 3 1. 分工:汤正愿:课题分析,模块设计,主函数的编写; 洪志飞:课题分析,模块设计,子函数的编写。 2.确定数据结构 Philosopher -number:int -status:int +Philosopher(in num:int) +find() const:int +getinfo() const:int +Change():void 图 3-1 哲学家类的 UML 图 程序中定义一个哲学家类,包含两个私有对象和四个公有对象。 Number 对象:报讯哲学家的编号。 Status 对象:用于保存当前该哲学家的状态,0 表示正在等待(即处于饥饿状态) 1 表示得到餐具正在吃饭
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中设计图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 课程设计 哲学家 进餐 问题 报告
