[操作系统] 银行家算法操作系统实验报告 实验目标 1. 理解银行家算法。 2. 掌握进程安全性检查的方法及资源分配的方法。 3. 加深了解有关资源申请、避免死锁等概念。 4. 体会和了解死锁和避免死锁的具体实施方法。 实验要求 编写和调试一个系统动态分配资源的简单模拟程序,观察死锁产生的条件,并采用银行 家算法,有效的防止和避免死锁的发生。 设计思路 1.银行家算法 在避免死锁的方法中,如果施加的限制条件较弱,有可能获得令人满意的系统性能。在 该方法中把系统的状态分为安全状态和不安全状态,只要能使系统始终都处于安全状态 ,便可以避免发生死锁。 基本思想为:在分配资源之前,判断系统是否是安全的;若安全,才分配。它是最具代 表性的死锁算法,具体算法如下表示: 假设进程P提出请求Request[i],则银行家算法按如下步骤进行判断: 1) 如果Request[i] <=Need[i],则转向2);否则出错。 2) 如果Request[i] <=Available[i],则转向3);否则出错。 3) 系统试探分配相关资源,修改相关数据: Available[i]=Available[i]-R
2022-06-23 09:04:07
443KB
文档资料