Understanding the Linux Kernel: The Scheduler
AI 深度解读
背景
在探讨 Linux 内核如何为每个进程提供独立的内存视图之后,我们需要关注进程运行所需的另一半核心资源——CPU。一台机器的 CPU 核心数量有限,而通常有数百甚至上千个任务争抢这些核心。因此,必须有一个角色来不断地决定:谁将获得 CPU,以及获得多久。这个角色就是调度器。每隔几毫秒,在每个核心上,内核都会提出同一个问题:在所有当前想要运行的任务中,接下来该轮到谁?这个决策必须迅速、公平,并且足够智能,以确保即使在编译任务占满所有核心时,你的文本编辑器依然能保持响应。
核心内容
本文基于 Linux 7.1 版本(调度器核心位于 kernel/sched/,主要在 fair.c 和 core.c 中),对调度器进行了刻意简化,跳过了跨 CPU 负载均衡、cgroups 组
查看原文 →internals-for-interns.com
