作者:手机用户2702938842_284 | 来源:互联网 | 2023-02-01 10:28
操作系统处理机调度与死锁处理机调度1、高级调度作业与作业步作业控制块作业调度2、低级调度低级调度也称为进程调度、短程调度,它所调度的对象为进程低级调度用于决定就绪队列中的哪个进程应
操作系统 处理机调度与死锁
处理机调度
1、高级调度
2、低级调度
低级调度也称为进程调度、短程调度,它所调度的对象为进程
低级调度用于决定就绪队列中的哪个进程应获得处理机,然后再由分派程序执行把处理机分配给该进程的具体操作。
功能
- 保存处理机的现场信息
- 按某种算法选取进程
- 把处理机分配给进程
三个基本机制
进程调度方式
- 非抢占式
- 抢占式
1、优先权原则
2、短专业优先原则
3、时间片原则
中级调度
中级调度又称中程调度。引入中级调度的主要目的是为了提高内存的利用率和系统的吞吐量。
其把占时不运行的程序放到外存上,把外存上的程序放入内存,并使其为就绪态。
中级调度实际上就是存储管理器的对换功能。
调度队列模型和调度准则
调度队列模型
- 仅有进程调度的调度队列模型
- 具有高级和低级调度的调度队列模型
- 同时具有三级调度的调度队列模型
选择调度方式和算法的准则
3.3调度算法
(1)先来先服务调度算法FCFS
其可以用于进程调度,也可以用于作业调度。
FCFS有利于长作业,而不利于短作业
(2)短作业优先调度算法 SJP
短作业优先调度算法 SJP 是指对短作业或短进程优先调度的算法。
- 短作业优先调度算法是从后备队列中选择一个或若干个估计运行时间很短的作业,将他们调入内存运行。
- 短进程优先调度算法则是从就绪队列中选出一个估计运行时间很短的作业,将处理机分配给他,使它立即执行。
缺点
- 对长作业不利
- 未考虑作业的紧迫程度
(3)高优先权优先调度算法
1、优先调度算法的类型
- 非抢占式优先权算法
- 抢占式优先权算法
在进程执行期间,只要又出现了另一个其优先权更高的进程,进程调度程序就立即停止当前进程的执行,重新将处理机分配给新到的优先权最高的进程。
2、优先权的类型
3、高相应比优先调度算法
R=(等待时间+要求服务时间)/要求服务时间
(4)基于时间片轮转法调度算法
实时调度
实现实时调度的基本条件
- 提供必要的信息
- 系统处理能力强
- 采用抢占式调度机制
- 具有快速切换机制
- 实时调度算法的分类
- 非抢占式调度算法
- 抢占式调度算法
- 常用的几种调度算法
- 最早截止时间优先 EDF
- 最低松弛优先 LLF
产生死锁的原因和必要条件
1 产生死锁的原因
竞争资源
- 可剥夺资源和不可剥夺资源
- 竞争非剥夺性资源
- 竞争临时性资源
进程间推进顺序非法
2 产生死锁的必要条件
- 互斥条件
指进程对所分配到的资源进行排他性使用,资源不能被多个进程使用。
- 请求和保持条件
指进程已经至少保持了一个资源,但又提出新的资源请求,而该资源有被其他进程占用,此时请求进程阻塞。
- 不剥夺条件
进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完时由自己释放。
- 环路等待条件
资源的环形链
3 处理死锁的基本方法
预防死锁的办法
- 摒弃”请求和保持”条件
- 摒弃”不剥夺”条件
- 摒弃”环路等待”条件
1、利用银行家算法避免死锁
2、死锁的检测与解除
死锁的检测
资源分配图
死锁定理
- 死锁的解除
- 剥夺资源
- 撤消进程