操作系统实验报告
报告人 ***
准考证号***** 工大上机号***
联系方式*****************
日期年月日
实验二银行家算法
一目的和要求
银行家算法是避免死锁的一种重要方法本实验要求用高级语言编写和调试一个简单的银行家算法程序加深了解有关资源申请避免死锁等概念并体会和了解死锁和避免死锁的具体实施方法
二实验内容
设计进程对各类资源最大申请表示及初值确定
设定系统提供资源初始状况
设定每次某个进程对各类资源的申请表示
编制程序依据银行家算法决定其申请是否得到满足
三说明
数据结构
假设有M个进程N类资源则有如下数据结构
MAX[M*N] M个进程对N类资源的最大需求量
AVAILABLE[N] 系统可用资源数
ALLOCATION[M*N] M个进程已经得到N类资源的资源量
NEED[M*N] M个进程还需要N类资源的资源量
银行家算法
设进程I提出请求Request[N]则银行家算法按如下规则进行判断
()如果Request[N]<=NEED[IN]则转();否则出错
()如果Request[N]<=AVAILABLE则转();否则出错
()系统试探分配资源修改相关数据
AVAILABLE=AVAILABLEREQUEST
ALLOCATION=ALLOCATION+REQUEST
NEED=NEEDREQUEST
[] [] [] [] [] []