- 57
- 0
- 约3.57千字
- 约 9页
- 2016-12-10 发布于江苏
- 举报
实验四 银行家算法实习内容
加深了解有关资源申请、避免死锁等概念体会和了解死锁和避免死锁的具体实施方法。
实习目的
银行家算法是避免死锁的代表性算法。本实习旨在加深了解有关资源申请、避免死锁、状态安全性等概念,并体会和运用避免死锁的具体实施方法。然后依照本实习,自行设计模拟程序。
实习操作系统按照银行家制定的规则为进程分配资源,当进程首次申请资源时,要测试该进程对资源的最大需求量,如果系统现存的资源可以满足它的最大需求量则按当前的申请量分配资源,否则就推迟分配。当进程在执行中继续申请资源时,先测试该进程已占用的资源数与本次申请的资源数之和是否超过了该进程对资源的最大需求量。若超过则拒绝分配资源,若没有超过则再测试系统现存的资源能否满足该进程尚需的最大资源量,若能满足则按当前的申请量分配资源,否则也要推迟分配。
安全状态:如果存在一个由系统中所有进程构成的安全序列P1,…,Pn,则系统处于安全状态。安全状态一定是没有死锁发生。
不安全状态:不存在一个安全序列。不安全状态一定导致死锁。
实习
基本思想为:在分配资源之前,判断系统是否是安全的;若安全,才分配。它是最具代表性的死锁算法,具体算法如下表示:
假设进程P提出请求Request[i],则银行家算法按如下步骤进行判断:
如果Request[i] Need[i],则转向2);否则出错。
如果Request[i] Available
原创力文档

文档评论(0)