s5-1 CPU调度


基本概念

通过多道程序设计得到 CPU 的最高利用率

(CPU-- I/O 脉冲周期 - - 进程的执行包括进程在 CPU 上执行和等待 I/O )
进程的执行以 CPU 脉冲开始,其后跟着 I/O 脉冲.进程的执行就是在这两个状态之间进行转换.


cpu和I/O burst的交替序列

image

cpu-burst

CPU 脉冲的分布, 在系统中, 存在许多短 CPU 脉冲,只有少量的长 CPU 脉冲
比如: I/O 型作业具有许多短 CPU 脉冲, 而 CPU 型作业则会有几个长 CPU 脉冲,这个分布规律对 CPU 调度算法的选择是非常重要的.

image



CPU Scheduler
cpu调度

当CPU空闲时,OS就选择内存中的某个就绪进程,并给其分配CPU


cpu调度器

image



(CPU调度可能发生在以下情况下):
1.Switches from running to waiting state(从运行转到等待).
2.Switches from running to ready state(从运行转到就绪).
3.Switches from waiting to ready(从等待转到就绪).

4.Terminates(终止运行).
Scheduling under 1 and 4 is nonpreemptive (发生在1、4两种情况下的调度称为非抢占式调度).
All other scheduling is preemptive (其他情况下发生的调度称为抢占式调度).


cpu调度方案
非抢占方式(nonpreemptive)
把处理机分配给某进程后,便让其一直执行,直到该进程完成或发生某事件而被阻塞时,才把处理机分配给其它进程,不允许其他进程抢占已经分配出去的处理机。
优点:实现简单、系统开销小,适用于大多数批处理系统环境
缺点:难以满足紧急任务的要求,不适用于实时、分时系统要求


抢占方式(Preemptive mode)
允许调度程序根据某个原则,去停止某个正在执行的进程,将处理机重新分配给另一个进程。


抢占的原则

时间片原则:各进程按时间片运行,当一个时间片用完后,便停止该进程的执行而重新进行调度。这个原则适用于分时系统。

优先权原则:通常对一些重要的和紧急的进程赋予较高的优先权。当这种进程进入就绪队列时,如果其优先权比正在执行的进程优先权高,便停止正在执行的进程,将处理机分配给优先权高的进程,使之执行

短作业优先原则:当新到达的作业比正在执行的作业明显短时,将暂停当前长作业的执行,将处理机分配给新到的短作业,使之执行。

原文地址:https://www.cnblogs.com/fadewalk/p/10587508.html