操作系统实验报告 (理工类)课程名称: 银行家算法 专业班级:计算机科学与技术统 2 学生学号:40 学生姓名: 林荣 所属院部:计算机工程学院 指导老师: 李莉 2 0 1 5 ——20 1 6 学年 第 1 学期 金陵科技学院教务处制ﻬ银行家算法一、 背景知识在系统运行过程中,对进程发出得每一个系统能够满足得资源申请进行动态检查,并根据检查结果决定就是否分配资源,若分配后系统可能发生死锁,则不予分配,否则予以分配
在分配资源时推断就是否会出现死锁,如不会死锁,则分配资源
死锁检测算法保存资源得请求与分配信息,利用某种算法对这些信息加以检查,以推断就是否存在死锁
主要就是检查就是否有循环等待、1 系统安全状态1)安全状态所谓系统就是安全得,就是指系统中得所有进程能够根据某一种次序分配资源,并且依次地运行完毕,这种进程序列{ P1 ,P2 …Pn}就就是安全序列
假如存在这样一个安全序列,则系统就是安全得
2)安全状态之例进程最大需求已分配可用P 1P2P 31 0495223安全序列:P 2 àP1à P3不安全序列:P 1 à… P 3à… P 2 àP3à P1 3)由安全状态向不安全状态得转换2 利用银行家算法避开死锁1)银行家算法中得数据结构① 可利用资源向量 Avai l able
② 最大需求矩阵M a x
③ 分配矩阵 A l l oc ation④ 需求矩阵 Need2)银行家算法① 一个银行家拥有一定数量得资金,有若干个客户要贷款,每个客户须在一开始就声明她所需贷款得总额,若该客户贷款总额不超过银行家得资金总额,银行家可以接受客户得要求
客户贷款就是以每次一个资金单位(如 1 万 R M B 等)得方式进行得,客户在借满所需得全部单位款额之前可能会等待,但银行家须保证这种等待就是有限得,可完成得
② 安全性算法利用安全性算法进行检查,假如分配就是安全得,