[笔记]《操作系统精髓与设计原理》---(6)处理器调度

[笔记]《操作系统精髓与设计原理》---(6)处理器调度

调度类型

  • 长程调度:决定是否把进程添加到当前活跃的进程集合中。
  • 中程调度:交换功能,决定是否把进程添加到那些至少部分在内存中并且可以被执行的进程集合中。
  • 短程调度:真正决定下一次执行哪一个就绪进程。

[笔记]《操作系统精髓与设计原理》---(6)处理器调度

[笔记]《操作系统精髓与设计原理》---(6)处理器调度

调度算法

短程调度准则
[笔记]《操作系统精髓与设计原理》---(6)处理器调度

选择调度策略

w:到现在为止,在系统中停留的时间。
e:到现在为止,花费的执行时间。
s:进程所需要的总服务时间,包括e;通常该数量必须进行估计或者由用户提供。
[笔记]《操作系统精髓与设计原理》---(6)处理器调度

FCFS(First-Come-First-Served):先来先服务,非抢占
SPN(Short Process Next), SJF(Short Job First),最短进程优先,非抢占
SRT(Shortest Remaining Time),最短剩余时间,可抢占

周转时间:驻留时间 = 等待时间+服务时间。
归一化周转时间:周转时间/服务时间。

反馈法
没有关于各个进程相对长度的信息,则SPN、SRT、HRRN都不能使用。另一种导致偏向短作业的方法是处罚运行时间较长的作业。

调度基于抢占原则(按时间片),并使用动态优先级机制。
1. 一个进程第一次进入系统中,放在RQ0。
2. 当它第一次被抢占返回就绪状态时,放置在RQ1。
3. 每当被抢占,下降到下一个优先级队列。

短进程不会在就绪队列中降很多级。
[笔记]《操作系统精髓与设计原理》---(6)处理器调度

传统UNIX调度

采用多级反馈,每个优先级队列中采用轮转的方法,若系统采用1秒抢占,如果1个整个运行的进程在1秒内未阻塞或完成,将被抢占。优先级基于进程类型和执行历史,如下:

[笔记]《操作系统精髓与设计原理》---(6)处理器调度

[笔记]《操作系统精髓与设计原理》---(6)处理器调度