死锁的检测与解除c语言代码

上传人:ji****n 文档编号:48160654 上传时间:2018-07-11 格式:DOCX 页数:8 大小:236.56KB
返回 下载 相关 举报
死锁的检测与解除c语言代码_第1页
第1页 / 共8页
死锁的检测与解除c语言代码_第2页
第2页 / 共8页
死锁的检测与解除c语言代码_第3页
第3页 / 共8页
死锁的检测与解除c语言代码_第4页
第4页 / 共8页
死锁的检测与解除c语言代码_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《死锁的检测与解除c语言代码》由会员分享,可在线阅读,更多相关《死锁的检测与解除c语言代码(8页珍藏版)》请在金锄头文库上搜索。

1、实验名称:实验名称: 死锁的检测与解除死锁的检测与解除 姓姓 名:名: 杨秀龙杨秀龙 学学 号:号: 1107300432 专业班级:专业班级: 创新实验班创新实验班 111 指导老师:指导老师: 霍林霍林 实验题目实验题目死锁的检测与解除实验目的实验目的为了更清楚系统对死锁是如何检测和当死锁发生时如何解除死锁设计思想设计思想首先需要建立和银行家算法类似的数组结构,先把孤立的进程(没有占用资源的进程)放入一个数组中,根据死锁原理,找出既不阻塞又非独立的进程结点,使之成为孤立的结点并放入孤立数组中,再释放该进程的占用资源,继续寻找下一个孤立结点,如果所有进程都能放入孤立数组中,则系统不会发生死锁

2、,如果有进程不能放入,则系统将发生死锁,并进行死锁解除,撤消所有的死锁进程,释放它们占用的资源。主要数据结构主要数据结构和银行家算法类似,需要建立相应的数组int allocationMM;int requestMM;int availableM;int lineM; /管理不占用资源的进程int noM; /记录造成死锁的进程int workM;流程图流程图开始结束输入总进程 数输入资源数输入 Request 矩阵输入 Allocation 矩阵是否发生死锁死锁解除否是输入 available 矩阵运行结果运行结果图(1)不会发生死锁时图(1)当发生死锁时附录附录源代码如下:源代码如下:#

3、include “stdio.h“ # define M 50 int allocationMM; int requestMM; int availableM; int lineM; int noM; int n,m,i,j,f,a=0; main() void check();void remove();void show();printf(“输入进程总数:“);scanf(“%d“, printf(“输入资源种类数量:“);scanf(“%d“, printf(“输入进程已占用的资源 Allocation:n“);for(i=0;iworkj)f=0;if (f=1) /找到满足条件的进程 linei=1; for (j=0;j0);void remove() /死锁解除 for(i=0;i0) break; printf(“%2d“,availablej); printf(“n“);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号