欢迎来到毕设资料网! | 帮助中心 毕设资料交流与分享平台
毕设资料网
全部分类
  • 毕业设计>
  • 毕业论文>
  • 外文翻译>
  • 课程设计>
  • 实习报告>
  • 相关资料>
  • ImageVerifierCode 换一换
    首页 毕设资料网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    操作系统课程设计哲学家进餐问题报告

    • 资源ID:1442309       资源大小:521.50KB        全文页数:17页
    • 资源格式: DOC        下载积分:100金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: QQ登录
    下载资源需要100金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

    操作系统课程设计哲学家进餐问题报告

    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 表示得到餐具正在吃饭

    4、,2 表示正在思考 Philosopher(int num)方法:哲学家类构造函数,参数 num表示哲学家编号 find() const 方法:返回该哲学家编号 getinfo() const 方法:返回哲学家当前状态 Change()方法:根据题目要求改变哲学家的状态(等待-进餐-思考-等 待) 另外,程序中包含一个公有对象,bool类型数组 tools6,用来保存 6 把餐当前 状态:true 表示该餐具当前空闲,false 表示该餐具当前正被使用。 程序中还包含两个公有函数:print 和 toolstatus。Print 用来返回一个哲学家的状 态,toolstatus 用来返回一个餐

    5、具的状态。 3.模块分析。 (1)主程序模块: 4 (2)状态改变模块: 5 (3)返回哲学家状态模块: 6 (4)返回餐具状态模块: 7 结果与分析(可以加页) : 8 程序运行开始界面 9 哲学家状态:1 号,3 号,5 号哲学家进入等待状态,2 号,4 号哲学家进入就餐状态, 6 号哲学家进入思考状态,只有 4 号,5 号餐具空闲。 10 哲学家状态:1 号, 3 号,6 号哲学家进入等待状态,2 号, 4 号哲学家进入思考状态, 5 号哲学家进入就餐状态,只有 3 号,4 号餐具在使用。 退出程序 结果分析: 状态 1:1 号,3 号,5 号哲学家进入就餐状态,其他哲学家仍然等待,6

    6、把用餐工具 都在使用。 状态 2:1 号,3 号,5 号哲学家进入思考状态,6 号哲学家进入就餐状态, 只有 4 号,5 号餐具在使用。 状态 3:1 号,3 号,5 号哲学家进入等待状态,2 号,4 号哲学家进入就餐状态,6 号 哲学家进入思考状态,只有 4 号,5 号餐具空闲。 状态 4:1 号,3 号,6 号哲学家进入等待状态,2 号,4 号哲学家进入思考状态,5 号 哲学家进入就餐状态,只有 3 号,4 号餐具在使用。 分析:程序能够实现哲学家的思考,就餐,等待状态的转换,餐具能够实现互斥。 11 设计体会与建议: 经过了前后共 2 周的时间,我完成了这次课程设计。 通过这次课程设计, 我学到了许多课本上学不到的知识, 注意到了许多课本上没有提到 的东西。 而且,通过这次设计,我得到了一个很好的理论联系实际的机会,锻炼了通过理论解决 实际问题的能力。正所谓“实践出真知” ,有些代码看上去没什么问题,但是实际运行起来 就是不出正确结果。 代码内部可能存在逻辑或语法等方面我们平时不会注意到的小问题, 通 过这次课程设计,我积累了不少这样小问题的解决


    注意事项

    本文(操作系统课程设计哲学家进餐问题报告)为本站会员(毕***)主动上传,毕设资料网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请联系网站客服QQ:540560583,我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们
    本站所有资料均属于原创者所有,仅提供参考和学习交流之用,请勿用做其他用途,转载必究!如有侵犯您的权利请联系本站,一经查实我们会立即删除相关内容!
    copyright@ 2008-2025 毕设资料网所有
    联系QQ:540560583