第三章 中断与处理器调度
处理机调度:
作业周转时间
作业平均周转时间
作业带权周转
作业平均带权周转
优缺点考虑因素
:公平性、是否会饿死、平均周转时间、系统开销
先到先服务算法(FCFS)
:按进入就绪态的次序来调度。
优点
:公平,不会出现饿死
缺点
:短进程的等待时间长,从而平均等待时间较长
最短作业优先(SJF)
:按照CPU阵发时间递增的次序调度,易于证明其平均周转时间最短。
优点
:最大限度地降低了平均等待时间,若所有作业同时到达,平均等待时间最短
缺点
:不公平;长作业容易产生饥饿,甚至饿死
最短剩余时间优先算法(SRTF)
:(
可剥夺式算法
)
当CPU空闲时,选择剩余时间最短的进程或者线程。当一个新进程或线程到达时,比较新进程所需时间与当前运行进程的估计剩余时间。如果新进程所需的运行时间短,则切换运行进程。 需要画gantt图
优点
:平均周转时间小,
缺点
:系统开销大
最高响应比优先算法(HRN)
:
对于同时到达的任务处理时间较短的任务将被优先调度,处理时间较长的任务将随着时间的增加而动态提升响应比,因而不会出现饥饿现象。
**缺点**:系统开销大
最高优先数优先算法(HPF)
:
当需要进行处理器分配时,系统在可运行的进程中选择优先数最高者使其投入运行。
赋予优先数的方法:
静态优先数
:进程进入系统时被赋予,在生命周期内固定不变。适合批处理进程
优点
:确定方法较简单;系统开销较小
缺点
:公平性差,响应速度慢,可能会造成低优先数进程长期等待。
循环轮转算法(RR)
:
系统为每一个进程规定一个时间片,所有进程按照其时间片的长短轮流地进行。
适用于分时系统,公平;响应及时,所有进程等速向前推进。但系统开销大
①基本轮转 ②改进轮转(每一个时间片不一样,灵活调度,但系统开销大)
分类排队算法(MLQ)
:
以多个就绪进程队列为特征的,这些队列将系统中所有可运行的进程按照某种原则加以分类,以实现所期望的调度目标。 队列内部用RR/HPF…
反馈算法(FB)RR(改进轮转) + HPF
响应速度快,短进程优先,资源利用率高,但复杂,系统开销大
调度级别
低级处理器调度(可执行单位) 交换与中级调度 作业与高级调度