MST

星途 面试题库

面试题:进程管理之静态进程调度策略高级难度题

假设一个系统中有多个进程,其运行时间、优先级等属性各不相同。请分析在采用最短作业优先静态调度策略时,若存在进程不断进入系统的情况,可能会导致什么问题?如何对该调度策略进行改进以缓解这些问题?
42.0万 热度难度
操作系统进程管理

知识考点

AI 面试

面试题答案

一键面试

可能导致的问题

  1. 饥饿现象:长作业由于不断有更短作业进入系统,可能长时间得不到调度执行,从而产生饥饿。因为最短作业优先调度策略总是优先选择运行时间最短的作业,长作业可能一直无法获得CPU资源。

改进方法

  1. 加入老化机制:随着时间推移,逐渐提高长作业的优先级。例如,为每个作业设置一个优先级动态调整参数,每经过一定时间单位,长作业的优先级增加一定值,使得长作业随着等待时间的延长,其优先级能够逐渐提高,从而有机会被调度执行。
  2. 设置优先级上限:对于新进入系统的短作业,为其优先级设置上限。这样即便新作业运行时间短,但优先级不会无限高,使得长作业在一定程度上也能有机会竞争到CPU资源。
  3. 定期调度长作业:设定一个时间周期,每隔一定时间,强制调度队列中等待时间最长的长作业,保证长作业不会长时间得不到执行。