假定系统有三个进程P1,P2,P3,共有12台磁带机。进程P1总共要求10台磁带机,P2和P3分别要求4台和9台。设在T0时刻进程P1,P2,P3已分别获得5,2,2台,尚有3台空余未分,请给出资源分配的安全序列。
时间: 2023-12-20 19:04:50 浏览: 104
根据银行家算法,先计算出每个进程还需要几台磁带机,得到:
- P1 需要 5 台磁带机
- P2 需要 2 台磁带机
- P3 需要 7 台磁带机
然后假设先分配剩余的 3 台磁带机给 P2,得到:
- P1 需要 5 台磁带机
- P2 需要 2 台磁带机,已分配 3 台磁带机
- P3 需要 7 台磁带机
此时 P2 可以运行,返回一台磁带机,得到:
- P1 需要 5 台磁带机
- P2 需要 1 台磁带机,已分配 4 台磁带机
- P3 需要 7 台磁带机
然后可以分配一台磁带机给 P3,得到:
- P1 需要 5 台磁带机
- P2 需要 1 台磁带机,已分配 4 台磁带机
- P3 需要 6 台磁带机,已分配 1 台磁带机
此时 P3 可以运行,返回 2 台磁带机,得到:
- P1 需要 5 台磁带机
- P2 需要 1 台磁带机,已分配 4 台磁带机
- P3 需要 4 台磁带机,已分配 3 台磁带机
然后可以分配两台磁带机给 P1,得到:
- P1 需要 3 台磁带机,已分配 2 台磁带机
- P2 需要 1 台磁带机,已分配 4 台磁带机
- P3 需要 4 台磁带机,已分配 3 台磁带机
此时 P1 可以运行,返回 2 台磁带机,得到:
- P1 需要 1 台磁带机,已分配 8 台磁带机
- P2 需要 1 台磁带机,已分配 4 台磁带机
- P3 需要 4 台磁带机,已分配 3 台磁带机
最后可以分配剩余的一台磁带机给 P1,得到:
- P1 需要 0 台磁带机,已分配 9 台磁带机
- P2 需要 1 台磁带机,已分配 4 台磁带机
- P3 需要 4 台磁带机,已分配 3 台磁带机
因此安全序列为 P2 -> P3 -> P1。