操作系统哲学家就餐问题实验报告.docxVIP

  • 95
  • 0
  • 约5.56千字
  • 约 11页
  • 2020-07-23 发布于安徽
  • 举报
湖南商学院—课程论文 1、实验目的: (1)、掌握基本的同步互斥算法,理解哲学家就餐模型。 (2)、了解 windows 2000/XP 中多线程的并发执行机制,线程间的同步和互斥。 (3)、学习使用 windows 2000/XP 中基本的同步对象,掌握相应的 API。 2、实验要求 有五个哲学家共用一张放有五把椅子的餐桌, 每人坐在一把椅子上, 桌子上 有五个碗和五只筷子, 每人两边各放一只筷子。 哲学家们是交替思考和进餐, 饥 饿时便试图取其左右最靠近他的筷子。条件: (1) 、只有拿到两只筷子时,哲学 家才能吃饭。 (2) 、如果筷子已被别人拿走,则必须等别人吃完之后才能拿到筷 子。(3) 、任意一个哲学家在自己未拿到两只筷子吃饭前,不会放下手中拿到的 筷子。 3、实验环境 硬件:CPU:AMD QL64内存:2GB显卡:ATI 4570 硬盘:日立 250G 软件:Windows 2000/XP。开发工具: VC++6.0 4、实验内容 1)实现原理 1、利用记录型信号量解决哲学家进餐问题; 2、临界区互斥编程原理。 2 )程序结构(流程图) 开始 定义信号量 tools[5] 定义哲学家类对象 P1-P5 哲学家的状态发生改变; P1.change();P2.change();P3.cha nge();P4.change();P5.change() 输出当前状态 否 停

文档评论(0)

1亿VIP精品文档

相关文档