- 36
- 0
- 约1.01万字
- 约 22页
- 2017-06-09 发布于浙江
- 举报
【2017年整理】银行家算法课程设计
操作系统课程设计
题目:
院 (系):
专 业:
班 级
学 生:
学 号:118
指导教师:
2015年12月28
目录
摘 要 2
1 绪论 1
1.1前言 1
1.2研究意义 1
2 需求分析 3
2.1题目描述 3
2.2银行家算法 3
2.3基本要求 3
2.4目的 3
3 概要设计 5
3.1算法思路: 5
3.2银行家算法步骤 5
3.3安全性算法步骤 5
3.4数据结构: 6
4 详细设计 8
4.1主要函数的核心代码: 8
4.2系统主要过程流程图 8
4.3银行家算法流程图 9
5 测试与分析 10
5.1测试数据 10
5.2银行家算法的演示 10
5.3分配资源由于大于可利用资源则失败。 11
5.4 增加一个作业得到不安全序列。 11
5.5分配资源由于大于最大资源则失败。 12
附录 源程序清单 15
1 绪论
1.1前言
Dijkstra (1965)提出了一种能够避免死锁的调度算法,称为银行家算法。
它的模型基于一个小城镇的银行家,他向一群客户分别承诺了一定的贷款额度每个客户都有一个贷款额度,银行家知道不可能所有客户同时都需要最大贷款额,所以他只保留单位的资金来为客户服务,而不是单位。
这里将客户比作进程,贷款比作设备,银行家比作系统。
客户们各自做自己的生意,在某些时刻需要贷款。在某一时刻客户已获得的贷款和可用的最大数额贷款称为与资源分配相关的系统状态。一个状态被称为是安全的,其条件是存在一个状态序列能够使所有的客户均得到其所的贷款如果忽然所有的客户都申请,希望得到最大贷款额,而银行家无法满足其中任何一个的要求,则发生死锁。不安全状态并不一定导致死锁,因为客户未必需要其最大贷款额度,但银行家不敢抱这种侥幸心理。
银行家算法就是对每一个请求进行检查,检查如果满足它是否会导致不安全状态。若是,则不满足该请求;否则便满足。
检查状态是否安全的方法是看他是否有足够的资源满足一个距最大需求最近的客户。如果可以,则这笔投资认为是能够收回的,然后接着检查下一个距最大需求最近的客户,如此反复下去。
如果所有投资最终都被收回,则该状态是安全的,最初的请求可以批准。
1.2程在运行过程中因争夺资源而造成的一种僵局(DeadlyEmbrace),当进程处于这种状态时,若无外力作用,他们都无法在向前推进。
要预防死锁,有摒弃“请求和保持”条件,摒弃“不剥夺”条件,摒弃“环路等待”条件等方法。
但是,在预防死锁的几种方法之中,都施加了较强的限制条件;而在避免死锁的方法中,所施加的限制条件较弱,有可能获得令人满意的系统性能。在该方法中把系统状态分为安全状态和不安全状态,便可避免死锁的发生。
而最具代表性的避免死锁的算法,便是Dijkstra的银行家算法。
利用银行家算法,我们可以来检测CPU为进程分配资源的情况,决定CPU是否响应某进程的的请求并为其分配资源,从而很好避免了死锁的产生。
2 需求分析
描述
要解释银行家算法,必须先解释操作系统的安全状态和不安全状态。
所谓安全状态,是指系统能按照某种进程顺序{P1,P2,…,Pn}(称{P1,P2,…,Pn }序列为安全序列),来为每个进程Pi分配其所需资源,直至满足每个进程对资源的最大需求,使每个进程都可以顺利完成。安全状态一定没有死锁发生。
如果系统无法找到这样一个安全序列,则称系统处于不安全状态。
那么,什么是安全序列呢?
如果对每一个进程Pi(1in),它以后尚需要的资源量不超过系统当前可利用的资源量与所有的进程Pj(jn)所占有的资源量之和,则称此进程序列{P1,P2,…,Pn}是安全的,称作安全序列。
2.2银行家算法
我们可以把操作系统看做是银行家,操作系统管理的资源相当于银行家管理的资金,进程向操作系统请求资源相当于客户向银行家贷款。
操作系统按银行家制定的规则为进程分配资源,当进程首次申请资源时,要测试该进程尚需求的资源量,若是系统现存的资源可以满足它尚需求的资源量,则按当前的申请量来分配资源,否则就推迟分配。
当进程在执行中继续申请资源时,先测试该进程申请的资源量是否超过了它尚需的资源量。若超过则拒绝分配,若没有超过则再测试系统尚存的资源是否满足该进程尚需的资源量,若满足即可按当前的申请量来分配,若不满足亦推迟分配。
2.3基本要求
(1)设计用来保存:可利用资源向量Available、最大需求矩阵 Max、分配矩阵 Allocation 、需求矩阵 Need。(2)编写银行家算法,安全性检测算法。要求在不安全时输出错误信息。
(3)编写输出函数,能对进程申请后的系统状态进行输出。
2.4目的
根据设计题目的要求,充分地分析和
您可能关注的文档
- 【2017年整理】铁路内燃司机考试题库(规、通用、专业)简答题--综合题--答案.doc
- 【2017年整理】钻井工程设计(石油、煤层气).ppt
- 【2017年整理】铁路安全技术交底大全.doc
- 【2017年整理】钳工课题11装配.ppt
- 【2017年整理】铁路电力变配电所综合自动化系统.ppt
- 【2017年整理】铁路牵引变电所施工工法.doc
- 【2017年整理】铁路站场及枢纽试题一篇.doc
- 【2017年整理】铁路轨道工程施工方案.doc
- 【2017年整理】钳工技术基础.ppt
- 【2017年整理】铁塔室分设计及施工规范.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- 【花生十三】25公务员考试资料分析速算练习册及速算过程.pdf VIP
- mst2016说明书.pdf VIP
- 口腔科课件洁治.pptx
- 2025兴安盟公安局招聘165名留置看护警务辅助人员备考试题及答案解析.docx VIP
- 35KV变电站毕业设计(完整版).doc VIP
- AP微观经济学 2012年真题 (选择题+问答题) AP Microeconomics 2012 Released Exam and Answers (MCQ+FRQ).pdf VIP
- 上海师范大学天华学院公共课《大学计算机基础》期末试卷A(有答案).docx VIP
- 高中生对AI 技术应用的态度与认知调查问卷.docx VIP
- 2025年度”五个方面“专题组织生活会个人对照检查发言材料.docx VIP
- 南方医科大学各专业实习大纲汇编.pdf VIP
原创力文档

文档评论(0)