操作系统基础知识--调度和死锁

处理机调度分为三个层次:
高级调度
中级调度
低级调度

进程调度的两种方式:
1.抢占方式(Preemptive Mode)
  允许调度程序根据某种原则,暂停正在执行的进程,将处理机重新分配给另一进程。
  抢占原则:优先权原则、短作业(进程)优先原则、时间片原则。
2.非抢占方式

CPU 调度过程。即进程切换的步骤:
1.保存现场:顺序保存,最后一步保存 PSW
2.选择要运行的程序
  (如果没有就绪进程,系统会安排一个闲逛进程(idle),没有其他进程时,该进程一直运行,在执行过程中可接收中断)
3.恢复现场:最后一步恢复选中进程的 PSW

调度算法是指根据系统的资源分配策略所规定的资源分配算法。
调度算法:
1.先来先服务调度算法 FCFS
  FCFS 调度算法比较有利于长作业(进程),而不利于短作业(进程)。
  FCFS 调度算法有利于 CPU 繁忙型的作业,不利于 I/O 繁忙型的作业。
2.短作业优先调度算法 SJ(P)F
  能有效地降低作业的平均等待时间,提高系统吞吐量。
  对长作业不利
  未考虑作业的紧迫程度
  作业的估计运行时间不准确
3.高优先权调度算法 HPF
  响应比 Rp = 1 +(作业等待时间 / 作业处理时间)
4.基于时间片的轮转调度算法 RR

各种调度算法性能对比


实时调度算法的分类
1.非抢占式调度算法
  非抢占式轮转调度算法
  非抢占式优先调度算法
2.抢占式调度算法
  基于时钟中断的抢占式优先权调度算法
  立即抢占的优先权调度算法

常用的两种实时调度算法
1.最早截止时间优先算法 EDF
2.最低松弛度优先算法 LLF(Least Laxity First)
  松弛度=必须完成的时间-本身运行的时间-当前时间

死锁产生的原因
1.竞争资源引起进程死锁
  竞争非可剥夺资源
  竞争临时性资源(进程通信)
2.进程推进顺序不当引起死锁

产生死锁的必要条件
1.互斥条件:涉及的资源是非共享的。
2.不剥夺条件:不能强行剥夺进程拥有的资源。
3.请求和保持条件:进程在等待一新资源时继续占有已分配的资源。
4.环路条件:存在一种进程的循环链,链中的每一个进程已获得的资源同时被链中的下一个
进程所请求。

死锁的预防方法:破坏产生死锁的四个必要条件之一。
1、破坏请求和保持条件。即在执行时不会再提出资源请求在等待时未占有任何资源。
2、破坏不剥夺条件。一个已拥有资源的进程,若它再提出新资源要求而不能立即得到满足
时,它必须释放已经拥有的所有资源。
3、破坏环路条件。系统将所有资源按类型进行线性排序,并赋予不同的序号,所有进程对
资源的请求必须严格按照资源序号递增的次序提出。

利用银行家算法避免死锁
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值