OS第3章进程管理(MR).ppt

众所周知,避免死锁的著名算法叫做“银行家算法(Banker’s Algorithm)。其设计思想是当用户申请一组资源时,系统必须确定:如果把这些资源分出去,系统是否还处于安全状态。若是,就可以分出这些资源;否则,该申请暂不予满足。 3.8死锁问题 银行家算法 死锁的排除方法 例:有三个客户C1,C2,C3,向银行家贷款。该银行家的资金总额为10个资金单位,其中C1客户要借9个资金单位,C2客户要借3个资金单位,C3客户要借8个资金单位,总计20个资金单位。若T0时刻,客户占用及还需资源的状态如下图所示,银行家该如何分配资金? 客户 已分配资源 还需申请资源 C1 2 7 C2 2 1 C3 4 4 3.8死锁问题 练习:假定系统中有三个进程P1、P2和P3,共有12台磁带机。进程P1总共要求10台磁带机,P2和P3分别要求9台和4台。假设在T0时刻,进程P1、P2和P3已分别获得5台、2台和2台磁带机,尚有3台空闲未分配。 进 程 最大需求 已分配 可用 P1 P2 P3 10 9 4 5 2 2 死锁的排除方法 3.8死锁问题 死锁的排除方法 死锁的检测和恢复:是指系统设有专门的机构,当死锁发生时,该机构能够检测到死锁发生的位置和原因,并能通过外力破坏死锁发生的必要条件,从而使得并发进程从死锁中恢复出来。 3.8死锁问题 3.9 线程的概念 线程的概念 线程与进程的区

文档评论(0)

1亿VIP精品文档

相关文档