1. 处理器调度


1.1 简化的处理器调度问题

<aside> 📖 中断机制

处理器以固定的频率被中断

Linux Kernel 可以配置:100/250/300/1000Hz

中断/系统调用返回时可以自由选择进程/线程执行

</aside>

<aside> 📖 处理器调度问题的简化假设

系统中有一个处理器 (1970s)

系统中有多个进程/线程共享 CPU

包括系统调用 (进程/线程的一部分代码在 syscall 中执行)

偶尔会等待 I/O 返回,不使用 CPU (通常时间较长)

</aside>

1.2 Round-Robin

Untitled

假设当前 $T_i$ 运行

中断之间的线程执行称为 “时间片” (time-slicing)

1.3 引入优先级

UNIX niceness

基于优先级的调度策略

2. 真实的处理器调度