第7讲死锁与银行家算法.pptx
操作系统华软软件学院软件工程系P1第七讲死锁与银行家算法华软软件工程系华软软件工程系操作系统华软软件学院软件工程系P2操作系统华软软件学院软件工程系P3第一部分内容回顾OSOS概述概述用户界面用户界面进程进程进程间通信进程间通信主要内容主要内容操作系统华软软件学院软件工程系P4操作系统华软软件学院软件工程系P5操作系统华软软件学院软件工程系P6第二部分死锁与银行家算法资源分配资源分配死锁死锁处理机的多级调度处理机的多级调度作业调度作业调度进程调度进程调度主要内容主要内容操作系统华软软件学院软件工程系P7操作系统华软软件学院软件工程系P8操作系统华软软件学院软件工程系P9进程死锁举例进程死锁举例打印机打印机摄像头摄像头进程进程A进程进程B占有占有占有占有等待等待等待等待操作系统华软软件学院软件工程系P10操作系统华软软件学院软件工程系P11操作系统华软软件学院软件工程系P12操作系统华软软件学院软件工程系P13操作系统华软软件学院软件工程系P14设银行家有10万周转资金,P, Q, R分别需要8,3,9万元搞项目,如果P已申请到了4万,Q要申请2万,R要申请4万.Q1:客户要求分期贷款,一旦得到每期贷款,就能够归还贷款Q2:银行家应谨慎的贷款,防止出现坏帐银行家-操作系统 周转资金-系统资源 贷款客户-进程当某进程请求分配资源时,系统假定先分配给它,之后若能找到一个进程完成序列(安全序列),说明系统是安全的,可进行实际分配;否则,让申请者等待。操作系统华软软件学院软件工程系P15操作系统华软软件学院软件工程系P16操作系统华软软件学院软件工程系P17Requesti:是进程Pi的请求向量如果Requestij=K,表示进程i需要K个Rj类型的资源。银行家算法实现过程操作系统华软软件学院软件工程系P18操作系统华软软件学院软件工程系P19两个向量:Work和FinishWork表示系统可提供给进程继续运行所需的各类资源数目(即在分配过程中,系统的可用资源数)。初始值 Work=Available;Finish表示系统是否有足够的资源分配给进程i,使之运行完成。初始值 Finishi:=false当有足够资源分配给进程时 Finishi:=true操作系统华软软件学院软件工程系P20操作系统华软软件学院软件工程系P21 银行家算法实例操作系统华软软件学院软件工程系P22银行家算法实例操作系统华软软件学院软件工程系P23FinishFinishWork+AllocationWork+AllocationAllocationAllocationNeedNeedWorkWorktrue5 3 22 0 01 2 23 3 2P1AllocationAllocationNeedNeedP00 1 07 4 3P12 0 01 2 2P23 0 26 0 0P32 1 10 1 1P40 0 24 3 1操作系统华软软件学院软件工程系P24FinishFinishWork+AllocationWork+AllocationAllocationAllocationNeedNeedWorkWorktrue7 4 35 3 22 1 10 1 1P3true5 3 22 0 01 2 23 3 2P1AllocationAllocationNeedNeedP00 1 07 4 3P12 0 01 2 2P23 0 26 0 0P32 1 10 1 1P40 0 24 3 1操作系统华软软件学院软件工程系P25FinishFinishWork+AllocationWork+AllocationAllocationAllocationNeedNeedWorkWorktrue7 5 37 4 30 1 07 4 3true7 4 32 1 10 1 15 3 2true5 3 22 0 01 2 23 3 2P0P3P1AllocationAllocationNeedNeedP00 1 07 4 3P12 0 01 2 2P23 0 26 0 0P32 1 10 1 1P40 0 24 3 1操作系统华软软件学院软件工程系P26FinishFinishWork+AllocationWork+AllocationAllocationAllocationNeedNeedWorkWorktrue10 5 57 5 3true7 5 30 1 07 4 37 4 33 0 26 0 0true7 4 32 1 10 1 15 3 2true5 3 22 0 01 2 23 3 2P0P2P3P1AllocationAllocationNeedNeedP00 1 07 4 3P12 0 01 2 2P23 0 26 0 0P32 1 10 1 1P40 0 24 3 1操作系统华软软件学院软件工程系P27AllocationAllocationNeedNeedP00 1 07 4 3P12 0 01 2 2P23 0 26 0 0P32 1 10 1 1P40 0 24 3 1true10 5 70 0 24 3 110 5 5P4FinishFinishWork+AllocationWork+AllocationAllocationAllocationNeedNeedWorkWorktrue10 5 57 5 3true7 5 30 1 07 4 37 4 33 0 26 0 0true7 4 32 1 10 1 15 3 2true5 3 22 0 01 2 23 3 2P0P2P3P1操作系统华软软件学院软件工程系P28银行家算法实例操作系统华软软件学院软件工程系P29true10 5 70 0 24 3 110 5 5P4FinishFinishWork+AllocatioWork+Allocation nAllocationAllocationNeedNeedWorkWorktrue10 5 57 5 3true7 5 30 1 07 4 37 4 33 0 26 0 0true7 4 32 1 10 1 15 3 2true5 3 22 0 01 2 23 3 2P0P2P3P1操作系统华软软件学院软件工程系P30银行家算法实例操作系统华软软件学院软件工程系P31银行家算法实例操作系统华软软件学院软件工程系P32FinishFinishAvailableAvailableAllocationAllocationNeedNeedWorkWorktrue5 3 23 0 20 2 02 3 0P1操作系统华软软件学院软件工程系P33FinishFinishAvailableAvailableAllocationAllocationNeedNeedWorkWorktrue7 4 32 1 1true5 3 23 0 20 2 02 3 0P1P35 3 20 1 1操作系统华软软件学院软件工程系P34FinishFinishAvailableAvailableAllocationAllocationNeedNeedWorkWorktrue7 5 30 1 07 4 37 4 3true7 4 32 1 1true5 3 23 0 20 2 02 3 0P0P1P35 3 20 2 0操作系统华软软件学院软件工程系P35FinishFinishAvailableAvailableAllocationAllocationNeedNeedWorkWorktrue10 5 57 5 3true7 5 30 1 07 4 37 4 33 0 26 0 0true7 4 32 1 1true5 3 23 0 20 2 02 3 0P0P2P1P35 3 20 2 0操作系统华软软件学院软件工程系P36true10 5 70 0 24 3 110 5 5P4FinishFinishAvailableAvailableAllocationAllocationNeedNeedWorkWorktrue10 5 57 5 3true7 5 30 1 07 4 37 4 33 0 26 0 0true7 4 32 1 1true5 3 23 0 20 2 02 3 0P0P2P1P35 3 20 2 0操作系统华软软件学院软件工程系P37操作系统华软软件学院软件工程系P38操作系统华软软件学院软件工程系P39银行家算法实例操作系统华软软件学院软件工程系P40操作系统华软软件学院软件工程系P41 银行家算法实例操作系统华软软件学院软件工程系P42银行家算法实例操作系统华软软件学院软件工程系P43MaxMaxAllocationAllocationNeedNeedAvailableAvailableP07 5 30 3 07 2 32 1 0P13 2 23 0 20 2 0P29 0 23 0 26 0 0P32 2 22 1 10 1 1P44 3 30 0 24 3 1银行家算法实例操作系统华软软件学院软件工程系P44操作系统华软软件学院软件工程系P45操作系统华软软件学院软件工程系P46操作系统华软软件学院软件工程系P47操作系统华软软件学院软件工程系P48操作系统华软软件学院软件工程系P49操作系统华软软件学院软件工程系P50操作系统华软软件学院软件工程系P51操作系统华软软件学院软件工程系P52操作系统华软软件学院软件工程系P53操作系统华软软件学院软件工程系P54操作系统华软软件学院软件工程系P55操作系统华软软件学院软件工程系P56谢 谢 !认真完成本章小课实验认真完成本章小课实验先预习再听课,否则跟不上先预习再听课,否则跟不上其他提醒其他提醒 提提 醒醒