目录
进程调度
进程调度,即 Linux Kernel Scheduler 如何将多个 User Process 调度给 CPU 执行,从而实现多任务执行环境的公平竞争以及合理分配 CPU 资源。
在古早的单核环境中,Linux Scheduler 的主要目的是通过 “时间片轮转算法” 和 “优先级调度算法“ 来实现调度。而在现代多核环境中,Linux Scheduler 则需要考虑更多的复杂因素,如:CPU 负载均衡、Cache 亲和性、多核互斥等。所以本文主要讨论的是多核环境中的进程调度。
为了应对不同应用场景中的进程调度需求,Linux Kernel 实现了多种 Scheduler 类型,常见的有:
- CFS(Completely Fair Scheduler,完全公平调度器)
- RT(Real-time Scheduler,实时调度器)
- DS(Deadline Scheduler,最后期限调度器)
这些 Scheduler 会被作用于每个