




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验名称: 死锁的检测与解除 姓 名: 杨秀龙 学 号: 1107300432 专业班级: 创新实验班111 指导老师: 霍林 实验题目死锁的检测与解除实验目的为了更清楚系统对死锁是如何检测和当死锁发生时如何解除死锁设计思想首先需要建立和银行家算法类似的数组结构,先把孤立的进程(没有占用资源的进程)放入一个数组中,根据死锁原理,找出既不阻塞又非独立的进程结点,使之成为孤立的结点并放入孤立数组中,再释放该进程的占用资源,继续寻找下一个孤立结点,如果所有进程都能放入孤立数组中,则系统不会发生死锁,如果有进程不能放入,则系统将发生死锁,并进行死锁解除,撤消所有的死锁进程,释放它们占用的资源。主要数据结构和银行家算法类似,需要建立相应的数组int allocationMM;int requestMM;int availableM;int lineM; /管理不占用资源的进程int noM; /记录造成死锁的进程int workM;开始结束输入总进程数输入资源数输入Request矩阵输入Allocation矩阵是否发生死锁死锁解除否是输入available矩阵流程图运行结果图(1)不会发生死锁时图(1)当发生死锁时附录源代码如下:# include stdio.h# define M 50int 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, &n); printf(输入资源种类数量:); scanf(%d, &m); printf(输入进程已占用的资源Allocation:n); for(i=0;in;i+) for(j=0;jm;j+) scanf(%d, &allocationij); printf(输入进程的请求矩阵request:n); for(i=0;in;i+) for(j=0;jm;j+) scanf(%d,&requestij); printf(输入系统可利用资源available:n); for (j=0;jm;j+) scanf(%d, &availablej); show(); check(); f=1;for(i=0;in;i+)if(linei=0)f=0;noa+=i;/记录死锁序号 if(f=0) printf(该系统将发生死锁!n); printf(造成死锁的进程为:); for(i=0;in;i+) printf(%2d,noi); printf(n); remove(); show();elseprintf(不会发生死锁!n); void check()/死锁检测 int k,;int x;int workM;for(i=0;in;i+)linei=0;for(i=0;in;i+) /(2) x=0;for(j=0;jm;j+)if(allocationij=0)x+;if(x=m)linei=1;for(j=0;jm;j+)/(3)workj=availablej;k=n;do for (i=0;in; i+) if(linei=0) f=1; /空置条件是否满足 for (j=0;jworkj) f=0; if (f=1) /找到满足条件的进程 linei=1; for (j=0;j0);void remove() /死锁解除for(i=0;in;i+)if(linei=0)for(j=0;jm;j+)availablej+=allocationij;allocationij=0;requestij=0; printf(死锁解除!n); void show()printf(进程);printf( );printf(allocation);printf( );printf(request); printf( );printf(available);printf(n); for (i=0;in; i+) printf(%2d,i); printf( ); for(j=0;jm; j+) printf(%2d,allocationij); printf( ); for(j=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 服装制版师理论学习手册练习试题及答案
- 木材削片工技能测试题库及答案
- 包装设计师公司招聘笔试题库及答案
- 轻有色金属冶炼人员职业技能模拟试卷含答案
- 环己酮(醇酮)装置操作工安全教育培训手册
- 驯马工上岗证考试题库及答案
- 前厅服务员应急处置分析及对策
- 木材制品制作人员职业技能模拟试卷含答案
- 液化天然气操作工安全教育培训手册
- 电机制造工安全技术操作规程
- 垃圾焚烧 vs. 垃圾填埋了解它们的区别和影响
- 四年级口算题大全1000题
- 设计文件质量检查报告-3
- 110届广交会照明类采购商信息
- 在口腔影像科轮转出科小结
- GB/T 18849-2023机动工业车辆制动器性能和零件强度
- 高中历史教学中如何渗透爱国主义教育
- 社区网格员笔试考试模拟试题
- 中国古代文学史PPT完整PPT完整全套教学课件
- 子宫内膜多发性息肉-疾病研究白皮书
- 新疆阜康市面向社会公开招考56名社区工作者、到村工作大学生模拟预测(共500题)笔试参考题库+答案详解
评论
0/150
提交评论