- 1
- 0
- 约3.46千字
- 约 4页
- 2021-10-12 发布于湖南
- 举报
操作系统实验二-银行家算法02
操作系统实验二 银行家算法
实验二 银行家算法
一、实验目的:
运用高级语言编写和调试一个系统动态分配资源的简单模拟程序,了解死锁产生的条件和原因,并采用银行家算法有效地避免死锁的发生,以加深对课堂上所讲授的知识的理解。
二、实验内容:
完成银行家算法的模拟实现:设计有m个进程共享n个系统资源的系统,进程可动态的申请和释放资源。系统按各进程的申请动态的分配资源时,采用银行家算法有效地避免死锁的发生。
三、实验准备:
1.相关理论知识: (1)银行家算法的思路
对进程的资源请求进行合法性检查;若请求合法,则进行试分配。试分配后,调用安全性检查算法进行安全性检查。若安全,则满足该进程请求,分配资源;若不安全,则拒绝该进程申请,不分配资源,并恢复系统试分配前的资源状态。
(2)银行家算法中用到的主要数据结构
可利用资源向量 int Available[j] // j为资源的种类。 最大需求矩阵 int Max[i][j] // i为进程的数量。 分配矩阵 int Allocation[i][j]
需求矩阵 int Need[i][j]= Max[i][j]- Allocation[i][j] 申请各类资源数量 int Requesti[j] //i进程申请j资源的数量 工作向量 int Work[x] int Finish[y] (3)银行家算法Bank()
进程i发出请求申请k个j资源,Requesti[j]=k ① 检查申请量是否小于等于需求量:
Requesti[j]=Need[i,j],若条件不符重新输入,不允许申请大于需求量。 ② 检查申请量是否小于等于系统中的可利用资源量:
Requesti[j]=Available[j],若条件不符就申请失败,阻塞该进程,用goto语句跳转至重新申请资源。
③ 若以上两个条件都满足,则系统试探着将资源分配给申请的进程,并修改下面数据结构中的数值:
Available[j]= Available[j]- Requesti[j]; Allocation[i][j]= Allocation[i][j]+ Requesti[j];
1
操作系统实验二 银行家算法
Need[i][j]= Need[i][j]- Request i[j];
④ 试分配后,执行安全性检查,调用Safe()函数检查此次资源分配后系统是否处于安全状态。若安全,才正式将资源分配给进程;否则本次试探分配作废,恢复原来的资源分配状态,让该进程等待。
⑤ 用while循环实现输入字符Y/y判断是否继续请求资源分配。 (4)安全性检查算法(Safe()函数) ① 设置两个向量:
工作向量Work:表示系统可提供给进程继续运行所需的各类资源数目,在执行安全性算法开始时,令Work= Available。
Finish:表示系统是否有足够的资源分配给进程,使之运行完成。开始时先做Finish[i]=false;当有足够的资源分配给进程时,再令Finish[i]=true。
② 在进程集合中查找符合以下条件的进程: 条件1:Finish[i]=0 条件2:Need[i][j]=Work[j]
若找到,则执行步骤③;否则,执行步骤④
③ 当进程获得资源后,可顺利执行,直至完成,并释放出分配给它的资源,故应执行:
Work[j]= Work[j]+ Allocation[i][j] Finish[i]=true 跳至 ②
④ 若所有进程的Finish[i]=true都满足,则表示已找到安全序列,系统处于安全状态,试分配成功;否则,系统处于不安全状态,不予分配。
2.测试数据:
系统有5个进程(p0,p1,p2,p3,p4)和4类资源(A,B,C,D),在T0时刻的资源分配情况如下表所示:(课本P115 22) Process P0 P1 P2 P3 P4 Max 0 0 4 4 2 7 5 0 3 6 10 10 0 9 8 4 0 6 6 10 Allocation 0 0 3 2 1 0 0 0 1 3 5 4 0 3 3 2 0 0 1 4 Need 0 0 1 2 1 7 5 0 2 3 5 6 0 6 5 2 0 6 5 6 Available 1 6 2 2 试问:(1)该状态是否安
您可能关注的文档
- 2021考研英语二小作文训练之邀请信.docx
- 继续履行催告函.docx
- 水力学名词解释.docx
- 鲤鱼风筝教学设计(共8篇).docx
- 《采掘机械与液压传动》考前复习题目解读.docx
- 令人难忘的那些微笑 高一记叙文训练“令人难忘的.docx
- 名人的诚实故事.docx
- 建筑环境测试技术.docx
- 科学《沉与浮》教学设计.docx
- 贵阳18中英语(华麟中学)小升初英语试题(含答案).docx
- 【东吴-2026研报】两会前后的市场节奏和布局.pdf
- 【开源-2026研报】锅圈(02517):公司首次覆盖报告:供应链+数字化为基抢滩下沉,“大店+品类+品牌”拓展迈步第二个万店目标.pdf
- 【开源-2026研报】投资策略专题:开源金股,3月推荐.pdf
- 【国联民生-2026研报】教育行业周报:教育部部署学生身心健康工作,地方推进终身学习.pdf
- 【华创-2026研报】华创交运 低空经济周报(第65期):两会在即,关注低空经济的政策描绘.pdf
- 【华西-2026研报】PB-ROE模型周度仓位观点.pdf
- 【华创-2026研报】华创医药投资观点&研究专题周周谈 · 第164期:海外CXO2025财报总结&2026年展望.pdf
- 【浙商-2026研报】“大展宏图”系列研究二:特朗普如何重构石油美元2.0体系?.pdf
- 【信达-2026研报】光伏组件回收迎来“退役潮”,新国标出台助力行业步入“正规化”.pdf
- 【华创-2026研报】电力及公用事业行业重大事项点评:绿电下游新需求不断涌现,“电力+算力”为绿电打开全新增长空间.pdf
最近下载
- 六年级下册《生命.生态.安全》全册教案(表格式).doc VIP
- JBT 5944-2018 工程机械 热处理件通用技术条件.pdf VIP
- F102050【复试】2024年东北农业大学090201果树学《加试园艺通论》考研复试核心335题(.pdf VIP
- 2025医美行业白皮书.pdf VIP
- 装饰装修施工组织设计完整版.doc
- 六年级下册《生命.生态.安全》全册教案.pdf VIP
- 《大学生毕业论文写作教程》第三章.pptx VIP
- 苏少版四年级下册音乐教案【完整版】(最全).doc VIP
- 湖南省交通事故历年统计数据.docx VIP
- 保险科技驱动下的高质量发展路径:理论框架与实证分析.docx VIP
原创力文档

文档评论(0)