L14 CPU调度策略和 L15 调度函数schedule()

问题引入:当一个进程阻塞时,cpu就进行调度,但是就绪队列有多个就绪进程,该选择哪一个进程呢?这就引起了进程的调度。
CPU调度的直观想法:
FIFO:
谁先进入,先调度谁:简单有效
Priority?
任务短可以适当优先

FCFS(先来先服务)
L14 CPU调度策略和 L15 调度函数schedule()_第1张图片
SJF:短作业优先
L14 CPU调度策略和 L15 调度函数schedule()_第2张图片
L14 CPU调度策略和 L15 调度函数schedule()_第3张图片
L14 CPU调度策略和 L15 调度函数schedule()_第4张图片
L15 Linux 0.11 的调度函数schedule()
L14 CPU调度策略和 L15 调度函数schedule()_第5张图片
上面代码注释:
c用于找最大的counter,next用于记录该counter的下标。
counter的作用:
L14 CPU调度策略和 L15 调度函数schedule()_第6张图片
L14 CPU调度策略和 L15 调度函数schedule()_第7张图片
L14 CPU调度策略和 L15 调度函数schedule()_第8张图片

你可能感兴趣的:(哈工大操作系统)