哲学家的生活就是思考和吃饭,即思考,饿了就餐,再思考,循环往复。要求是: 每一个哲学家只有在拿到位于他左右的筷子后,才能够就餐;哲学家只能先拿左边的筷子,再去拿右边的筷子,而不能同时去抓他两边的筷子,也不能从其他哲学家手中抢夺筷子;哲学家每次就餐后必须放下他手中的两把筷子后恢复思考,不能强抓住餐具不放。设计一个程序,能够显示当前各哲学家的状态和桌上餐具的使用情况,并能无死锁的推算出下一状态各哲学家的状态和桌上餐具的使用情况。即设计一个能安排哲学家正常生活的程序。 3.2 问题描述 可能出现死锁问题,因为当五个哲学家都饥饿时,都拿着一支筷子,这样就可能五个哲学家都用不上餐。 3.3 解决方案(以下解决方案均可,实现一种) 3.3.1 最多允许4个哲学家同时坐在桌子周围。 3.3.2 给所有哲学家编号,奇数号的哲学家必须首先拿左边的筷子,偶数号的哲学家则反之。 3.3.3 为了避免死锁,把哲学家分为三种状态,思考,饥饿,进食,仅当一个哲学家左右两边的筷子都可用时,才允许他拿筷子,并且一次拿到两只筷子,否则不拿。
2021-06-14 22:05:32 82KB 死锁和饥饿 哲学家就餐
1
操作系统实验,使用vc,实现混合索引文件系统! 支持创建文件目录,查找文件和目录,显示目录内容!显示文件和目录所在盘块! 操作系统实验,使用vc,实现混合索引文件系统! 支持创建文件目录,查找文件和目录,显示目录内容!显示文件和目录所在盘块! 操作系统实验,使用vc,实现混合索引文件系统! 支持创建文件目录,查找文件和目录,显示目录内容!显示文件和目录所在盘块!
2021-06-14 19:39:11 11KB 混合索引文件系统
1
东南大学操作系统实验报告,里面有同学关于自己做实验的过程及心得
2021-06-14 18:26:52 714KB Operating System
1
吉林大学软件学院操作系统实验源代码,成绩为优,需要的同学可以参考一下。 (4)死锁环路判定的系统资源分配图约简算法的设计与实现 功能要求 ①系统资源分配图输入(界面) 按资源分配图的形式定义,输入进程名字、资源类名字及其个数、申请/占有边。 ②运行结果(界面) ●以图形的形式输出原资源分配图; ●以图形的形式动态输出原资源分配图约简过程。 实现方式: ①图的描述:定义资源类结点和进程结点的数据结构,以指针方式表示结点之间边的关系(可限定最多指针个数); ②按算法对描述的资源分配图进行约简,同时动态图形显示约简过程;约简结束后,给出资源分配图是否可完全约简的提示信息。
1
实验一 进程调度 实验二 银行家算法 实验三 动态分区分配方式的模拟 实验四 仿真各种磁盘调度算法 没有bug 而且完美契合老师给的实验要求,全部用C语言写的,在VS上运行
1
三、实验内容 (1) 通过随机数产生一个指令序列,共320条指令。指令的地址按下述原则生成: 1. 50%的指令是顺序执行的; 2. 25%的指令是均匀分布在前地址部分; 3. 25%的指令是均匀分布在后地址部分; 具体的实施方法是: 1. 在[0,319]的指令地址之间随机选取一起点m; 2. 顺序执行一条指令,即执行地址为m+1的指令; 3. 在前地址[0,m+1]中随机选取一条指令并执行,该指令的地址为m’; 4. 顺序执行一条指令,其地址为m’+1; 5. 在后地址[m’+2, 319]中随机选取一条指令并执行; 6. 重复上述步骤1~5,直到执行320次指令。 (2) 将指令序列变换
1
操作系统实验
2021-06-10 17:05:56 759KB 操作系统 实验 Vue 算法
1
(1)编程实现本实验的程序,要求: [1]. 建立进程的进程控制块,进程控制块至少包括: a) 进程名称; b) 进程需要执行时间; c) 进入就绪队列时间; d) 进程执行开始时间 e) 进程执行结束时间 [2]. 编程实现调度算法。 [3]. 进程及相关信息的输入。这些信息可以直接从键盘上输入,也可以从文件读 取。 [4]. 时间片与时间流逝的模拟。本实验需要对算法的执行计时,程序应该提供计 算时间的方法。一种最简单的方法是使用键盘,比如每敲一次空格代表一个 2 时间片的流逝。另一种方法是使用系统时钟。 [5]. 一组进程序列执行完毕,打印出结果信息。程序需要计算出每个进程的开始 执行时间、结束时间、周转时间和带权周转时间,并为整个进程序列计算平 均周转时间和平均带权周转时间。程序将计算结果按一定的格式显示在计算 机屏幕上或输出到文件中。打印出进程调度顺序图。 [
2021-06-10 15:36:14 6KB 操作系统
1
仿照unix操作系统中的find命令,在实现一个myfind命令。myfind命令从指定的目录下开始,递归地查找指定文件。其命令格式如下: myfind PATH -option 参数 [-print] [-exec 命令 {} \;] PATH:查找的起始目录。 -option 参数:用来控制搜索方式,具体如下(以下只给我常用的): -name "文件":指定要查找的文件名,可以有通配符?*等。 -prune 目录:指出搜索时不搜索该目录。 -mtime +n或-n:按时间搜索,+n:表示n天之前修改过的文件;-n:表示今天到n天前之间修改过的文件。 -ctime +n或-n:也是按时间查找,+n:表示n天之前创建的文件;-n:表示今天到n天前之间创建的文件。 -print:将搜索结果输出到标准输出。 可选的实验1:实现-exe选项。 -exec:对查找到的每一个结果实行指定的程序。格式如下: -exec 程序名
2021-06-10 09:01:32 7KB myfind 操作系统 实验
1
操作系统实验(6个小实验)的报告,帝都某理工科985可以参考
2021-06-09 16:05:48 5.43MB 教义
1