安徽大学 操作系统 处理机调度与死锁.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:61 大小:1.5MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

安徽大学 操作系统 处理机调度与死锁.ppt

安徽大学操作系统处理机调度与死锁.ppt

预览

免费试读已结束,剩余 51 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

计算机操作系统3.5产生死锁的原因和必要条件3.5.1产生死锁的原因3.5.1产生死锁的原因图3-12I/O设备共享时的死锁情况图3-13进程之间通信时的死锁图3-14进程推进顺序对死锁的影响3.5.1产生死锁的原因产生死锁的必要条件:(1)互斥条件(2)请求和保持条件(3)不剥夺条件(4)环路等待条件处理死锁的基本方法:(1)预防死锁:限制条件(2)避免死锁:防止进入不安全状态(3)检测死锁:检测进程和资源(4)解除死锁:解脱死锁进程3.6预防死锁的方法预防死锁:1.摒弃“请求和保持”条件2.摒弃“不剥夺”条件3.摒弃“环路等待”条件3.6.2系统安全状态进程3.6.2系统安全状态3.6.3利用银行家算法避免死锁3.6.3利用银行家算法避免死锁Need[i,j]=Max[i,j]-Allocation[i,j]3.6.3利用银行家算法避免死锁3.6.3利用银行家算法避免死锁3.6.3利用银行家算法避免死锁3.6.3利用银行家算法避免死锁图3-15T0时刻的资源分配表图3-16T0时刻的安全序列3.6.3利用银行家算法避免死锁图3-17P1申请资源时的安全性检查(3)P4请求资源:P4发出请求向量Request4(3,3,0),系统按银行家算法进行检查:①Request4(3,3,0)≤Need4(4,3,1);②Request4(3,3,0)不小于等于Available(2,3,0),让P4等待。(4)P0请求资源:P0发出请求向量Requst0(0,2,0),系统按银行家算法进行检查:①Request0(0,2,0)≤Need0(7,4,3);②Request0(0,2,0)≤Available(2,3,0);③系统暂时先假定可为P0分配资源,并修改有关数据,如图3-18所示。图3-18为P0分配资源后的有关资源数据3.7死锁的检测与解除3.7.1死锁的检测3.7.1死锁的检测3.7.1死锁的检测图3-20每类资源有多个时的情况3.7.1死锁的检测图3-21资源分配图的简化3.7.1死锁的检测3.7.1死锁的检测3.7.1死锁的检测3.7.2死锁的解除图3-22付出代价最小的死锁解除方法3.7.2死锁的解除一个比较有效的方法是对死锁状态S做如下处理:从死锁状态S中先撤消一个死锁进程P1,使系统状态由S演变成U1,将P1记入被撤消进程的集合d(T)中,并把所付出的代价C1加入到rc(T)中;对死锁进程P2、P3等重复上述过程,得到状态U1,U2,…,Ui,Un,然后,再按撤消进程时所花费代价的大小,把它插入到由S状态所演变的新状态的队列L中。显然,队列L中的第一个状态U1是由S状态花最小代价撤消一个进程所演变成的状态。在撤消一个进程后,若系统仍处于死锁状态,则再从U1状态按照上述处理方式再依次地撤消一个进程,得到U’1,U’2,…,U’k状态,再从状态中选取一个代价最小的U’j,如此下去,直到死锁状态解除为止。为把系统从死锁状态中解脱出来,所花费的代价可表示为:第四章存储器管理图4-1对用户程序的处理步骤4.1.1程序的装入图4-2作业装入内存时的情况4.1.1程序的装入4.1.2程序的链接图4-3程序链接示意图4.1.2程序的链接4.1.2程序的链接4.1.2程序的链接4.2连续分配方式4.2.2固定分区分配图4-4固定分区使用表图4-5空闲链结构4.2.3动态分区分配