文章目录
处理机调度
概念

高级调度(作业调度):

中级调度:

低级调度:


切换与过程调度方式

需要进行进程调度与切换的情况:

不能进行进程调度与切换的情况:

注:
进程处与临界区时不能进行处理机调度。(错误)
内核程序临界区才不能进行处理机调度。
方式:
非剥夺调度方式(非抢占方式):只允许进程主动放弃处理机。
剥夺调度方式(抢占方式):如果有一个更重要的进程需要处理机,可以先暂停把处理机分配出去。

频繁进行进程调度、切换,会使整个系统的效率降低。
调度算法评价指标


附:在某些操作系统中,作业(job)是计算机操作者(或是一个叫做作业调度器的程序)交给操作系统的执行单位。

![]()



等待时间=周转时间-运行时间;

调度算法

先来先服务算法
(First Come First Serve)
非抢占式



短作业优先
进程/作业通用
(SJF,Shortest Job First)

短进程优先调度算法(SPF)
非抢占式


最短剩余时间优先算法(SRTN)
抢占式





注意:


高响应比优先算法
(HRRN,Highest Response Ratio Next)
非抢占式
规则:

算法:




优点:(无缺点)

三种算法适合用于早期的批处理系统
调度算法2

时间片轮转
(RR,Round-Robin)

用于进程调度(只有作业放入内存建立了相应的进程后,才能被分配处理机时间片)
属于抢占式算法。由时钟装置发出时钟中断来通知CPU时间片已到。
大概流程:

注意:当一进程下处理机重新排队,同一时刻新进程到达,这时默认新到达的进程先进入就绪队列。
常用于分时操作系统,更注重“响应时间”,因而此处不计算周转时间。
如果时间片太大,每个进程都可以在一个时间片内完成,那会算法会退化为先来先服务算法,增大进程响应时间,因此时间片不能太大。

优先级调度算法

非抢占式:

抢占式:




多级反馈队列调度算法



抢占式算法:

可能会导致饥饿,如果有大量短时间进程进入,则那些退为低级进程的队列可能会饿死。
以上三种算法适合用于交互式系统
版权声明:本文为m0_53249319原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。