操作系统实验 预防进程死锁的银行家算法
一、 需求分析:
1、 实验目的:
通过这次实验,加深对进程死锁的理解,进一步掌握进程
资源的分配、死锁的检测和安全序列的生成方法。
2、 问题描述:
设计程序模拟预防进程死锁的银行家算法的工作过程。假
设系统中有 n 个进程 P
1
, … ,P
n
,有 m 类可分配的资源 R
1
,
… ,R
m
,在 T
0
时刻,进程 P
i
分配到的 j 类资源为 Allocation
ij
个,它还需要 j 类资源 Need
ij
个,系统目前剩余 j 类资源
Work
j
个,现采用银行家算法进行进程资源分配预防死锁的
发生。
3、 程序要求:
1)判断当前状态是否安全,如果安全给出安全序列;如果
不安全给出理由。
2 ) 对 于 下 一 个 时 刻 T
1
, 某 个 进 程 P
k
会 提 出 请 求
Request(R
1
, … ,R
m
),判断分配给 P
k
进程请求的资源之后系
统是否安全。
3)输入:进程个数 n,资源种类 m,T
0
时刻各个进程的资
源分配情况(可以运行输入,也可以在程序中设置);
4)输出:如果安全,输出安全的进程序列,不安全则提示
信息。