java

位置:IT落伍者 >> java >> 浏览文章

十大题型算法全实现——(十)死锁检测算法[1]


发布日期:2020年12月01日
 
十大题型算法全实现——(十)死锁检测算法[1]

模拟死锁检测算法

输入

资源分配表文件每一行包含资源编号进程编号两项(均用整数表示并用空格分隔开)记录资源分配给了哪个进程

进程等待表文件每一行包含进程编号资源编号两项(均用整数表示并用空格分隔开)记录进程正在等待哪个资源

下面是一个示例

资源分配表

进程等待表

处理要求

程序运行时首先提示请输入资源分配表文件的文件名;再提示请输入进程等待表文件的文件名

输入两个文件名后程序将读入两个文件中的有关数据并按照死锁检测算法进行检测

输出要求

第一行输出检测结果有死锁 或 无死锁

第二行输出进程循环等待队列即进程编号(如果有死锁)

文件名约定

提交的源程序名字resourceXXXc或者resourceXXXcpp(依据所用语言确定)

输入文件名字可由用户指定

结果输出到resultXXXtxt中

其中XXX为账号

死锁检测算法当任一进程Pj申请一个已被其他进程占用的资源ri时进行死锁检测检测算法通过反复查找进程等待表和资源分配表

来确定进程Pj对资源ri的请求是否导致形成环路若是便确定出现死锁

测试说明测试教师将事先准备好一组文件(格式为*txt)从中为每个程序随机指定一至三个作为输入文件

(被测试者需从键盘输入指定文件的文件名)并查看程序输出结果

本程序包括:死锁检测算法

[] [] [] [] []

               

上一篇:十大题型算法全实现——(十)死锁检测算法[2]

下一篇:操作系统:实时调度算法的分类