操作系统实习报告

实验一哲学家进餐问题一、 实验目的实验目的:通过实现哲学家进餐问题的同步深入了解和掌握进程同步和互斥 的原理。二、 实验要求设计要求:哲学家有5个,也定全体到齐后开始讨论:在讨论的间隙哲学家进 餐,每

实验一哲学家进餐问题 一、实验目的 实验目的:通过实现哲学家进餐问题的同步深入了解和掌握进程同步和互斥的原 理。 二、实验要求 5 设计要求:哲学家有个,也定全体到齐后开始讨论:在讨论的间隙哲学家进餐, 每人进餐时都需使用刀、叉各一把,所有哲学家刀和叉都拿到后才能进餐。哲学家的 人数、餐桌上的布置自行设定,实现刀和叉的互斥使用算法的程序实现。 三、实验过程 1 、设计思想: 哲学家的生活就是思考和吃饭,即思考,饿了就餐,再思考,循环往复。要求是: 每一个哲学家只有在拿到位于他左右的刀叉后,才能够就餐;哲学家只能先拿一把刀 或叉,再去拿另一把刀或叉,而不能同时去抓他旁边的两把餐具,也不能从其他哲学 家手中抢夺餐具;哲学家每次就餐后必须放下他手中的两把餐具后恢复思考,不能强 抓住餐具不放。 2 、实验代码: #include<windows.h> ● include<iostream> ● include<process.h> #include<cstdlib> #include<ctime> #include<string> usingnamespacestd; 〃线程函数 unsignedint_stdcallphilosopher(void*);

腾讯文库操作系统实习报告