第三章 处理机调度与死锁

第三章 处理机调度与死锁

3.1、处理机调度的层次分为:高级调度,低级调度和中级调度。又称作业调度、进程调度和内存调度,其中前两种调度对象分别为:作业和进程,内存调度是为了提高内存利用率和系统吞吐量

3.2、常用的调度算法。

1、先来先服务
2、短作业优先
3、优先级调度
4、高响应比优先调度

3.3、死锁的概念、产生的原因及必要条件。
1、死锁(Deadlock):指多个进程在运行过程中,因争夺资源而造成的一种僵局。当进程处于这种状态时,若无外力作用,它们都将无法再向前推进。
2、产生死锁的原因可归结为如下两点:
竞争资源。系统中供多个进程共享的资源如打印机、公用队列等的数目不满足需要时,会引起资源竞争而产生死锁。
进程间推进顺序非法。进程在运行过程中,请求和释放资源的顺序不当,同样会导致死锁。

3、 产生死锁的必要条件
①互斥条件:进程对所分配到的资源进行排他性使用
②请求和保持条件:进程已经保持了至少一个资源,又提出新的资源请求,而新请求资源被其他进程占有只能造成自身进程阻塞,但对自己已获得的其他资源保持不放,必然影响其他进程。
③不剥夺条件:进程已获得的资源未使用完之前不能被剥夺,只能在使用完时由自己释放。
④环路等待条件

破坏这4个条件即是处理死锁的方法

3.4、处理死锁的基本方法
一、事先预防:
①预防死锁
设置限制条件,破坏四个必要条件的一个或几个,预防发生死锁。
②避免死锁
不须事先限制,破坏四个必要条件,而是在资源的动态分配过程中,用某种方法去防止系统进入不安全状态,从而避免发生死锁。
二、事后处理:
①检测死锁。
允许系统运行过程中发生死锁,但通过系统检测机构可及时的检测出,能精确确定与死锁有关的进程和资源;然后采取适当的措施,从系统中将已发生的死锁清除掉。
②解除死锁。
常用的实施方法:撤销或挂起一些进程,以便回收一些资源并将他们分配给已阻塞进程,使之转为就绪以继续运行。

3.5 银行家算法
算法思想:随时对系统中的所有资源信息进行统计,包括每种资源的数量、已分配给各进程的数量;每当进程提出某种资源请求时判断该请求分配后是否安全,如果安全才分配。对每个资源请求的处理都要保证系统始终从一个安全状态到另一个安全状态。
算法过程:就是对各进程的Request向量及资源数量进行一系列判断及值操作。
进程Pi发出资源请求后,系统按下述步骤进行检查:
首先是两个基本判断:
(1)IF Requesti[j]<= Need[i,j]
   THEN 转向步骤2;
   ELSE 认为出错,所需资源数超过宣布的最大值(自我矛盾)
(2)IF Requesti[j]<= Available[j]
   THEN 转向步骤3;
   ELSE 表示尚无足够资源,Pi需等待(现实不满足)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值