- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验三死锁的检测和解除
南华大学计算机科学与技术学院
实 验 报 告
课程名称 操作系统I
姓 名
学 号
专业班级
任课教师
日 期
实验内容
死锁的检测与解除
实验目的
掌握操作系统的进程管理与资源分配原理,掌握对操作系统安全性检验和死锁的解除的原理和方法。
实验题目
系统中有 m 个同类资源被 n 个进程共享,每个进程对资源的最大需求数分别为 S1,S2,…,Sn,且 Max(Si)=m, (i=1,2,…n)。进程可以动态地申请资源和释放资源。编写一个程序,实现银行家算法,当系统将资源分配给某一进程而不会死锁时,就分配之。否则,推迟分配,并显示适当的信息。
分别使用检测“进程—资源循环等待链”的方法和 Coffman 的算法来检测进程的死锁状态。对于相同的进程资源分配、占用次序,比较两个算法的结果。
四、设计思路和流程图
1.输入系统进程数量n和资源类型数量m。
2.输入每类资源的数量。
3.输入每个进程每类资源的最大需求量和已获资源量。
4.检验系统的安全。
5.若检测结果为系统不安全,可以对死锁进行解除,直到安全为止再检测。
6.重复5操作,直到所有进程运行完毕。
主要数据结构及其说明
int Max[100][100]={0}; //各进程所需各类资源的最大需求;
int Available[100]={0}; //系统可用资源;
char Name[100]={0}; //资源的名称;
int Allocation[100][100]={0}; //系统已分配资源;
int Need[100][100]={0}; //还需要资源
int Request[100]={0}; //请求资源向量;
int Temp[100]={0}; //存放安全序列;
int Work[100]={0}; //存放系统可提供资源;
bool Finish[100]={0};//存放已完成的序列
源程序并附上注释
#include stdafx.h
#includeiostream
#define False 0
#define True 1
using namespace std;
int Max[100][100]={0}; //各进程所需各类资源的最大需求;
int Available[100]={0}; //系统可用资源;
char Name[100]={0}; //资源的名称;
int Allocation[100][100]={0}; //系统已分配资源;
int Need[100][100]={0}; //还需要资源
int Request[100]={0}; //请求资源向量;
int Temp[100]={0}; //存放安全序列;
int Work[100]={0}; //存放系统可提供资源;
bool Finish[100]={0};
int M=100; //作业的最大数
int N=100; //资源的最大数
int l=0;//记录安全进程的TEMP下标
void ShowData()//初始化资源矩阵
{
int i,j;
cout系统可用资源[Available]:endl;
for(i=0;iN;i++)
coutName[i] ;
coutendl;
for(j=0;jN;j++)
coutAvailable[j] ;//显示可分配的资源
coutendl;
cout Max Allocation Needendl;
cout进程名 ;
for (j=0;j3;j++)//MAX ALLOCATION NEED 共列
{
for (i=0;iN;i++)
{
coutName[i] ;
}
cout ;
} coutendl;
for(i=0;iM;i++){
cout i ;//输出进程名
for(j=0;jN;j++)
coutMax[i][j] ;//输出最大
cout
您可能关注的文档
最近下载
- 网络预约出租汽车企业安全生产责任制和事故报告制度.pptx
- SY-T 5051-2009 钻具稳定器-石油天然气行业标准.pdf VIP
- 22G101-3 混凝土结构施工图平面整体表示方法制图规则和构造详图(独立基础、条形基础、筏形基础、桩基础).docx
- 模板支架验收记录表.doc
- 标准个人租房合同模板.pdf VIP
- 2024年全国疾控系统大学习实验室质量控制规范答案.docx VIP
- 2024-2025学年初中道德与法治七年级(全一册)统编版(五四学制)(2024)教学设计合集.docx
- 小学劳动教育五年级下册第五单元2《维修凳子》教学设计.docx
- 北师大版五年级数学上册第五单元《分数的意义》(大单元教学设计).docx VIP
- 简易呼吸球囊.ppt
文档评论(0)