# 2. Linux 调度器

- [2.1 任务](https://s3.shizhz.me/linux-sched/task.md)
- [2.2 核心概念](https://s3.shizhz.me/linux-sched/concepts.md)
- [2.2.1 核心概念 - 调度实体](https://s3.shizhz.me/linux-sched/concepts/sched-entity.md): 简要介绍调度器内部的调度单元，即Sched Entity
- [2.2.2 核心概念 - 调度类](https://s3.shizhz.me/linux-sched/concepts/sched-class.md): 简要介绍Sched Class
- [2.2.3 核心概念 - 调度策略](https://s3.shizhz.me/linux-sched/concepts/sched-policy.md): 简要介绍Sched Policy
- [2.2.4 核心概念 - 运行队列](https://s3.shizhz.me/linux-sched/concepts/runqueue.md): 简要介绍runqueue
- [2.2.5 核心概念 - 优先级](https://s3.shizhz.me/linux-sched/concepts/priority.md): 简要介绍任务的优先级，即Priority
- [2.3 演进历史](https://s3.shizhz.me/linux-sched/history.md)
- [2.3.1 O（n）调度器 - 调度逻辑](https://s3.shizhz.me/linux-sched/history/o-n-logic.md)
- [2.3.2 O（n）调度器 - 时间分配](https://s3.shizhz.me/linux-sched/history/o-n-timing.md)
- [2.3.3 O（n）调度器 - 调度时机](https://s3.shizhz.me/linux-sched/history/o-n-tick.md)
- [2.3.4 O（1）调度器 - 简介](https://s3.shizhz.me/linux-sched/history/o-1-intro.md)
- [2.3.5 O（1）调度器 - 调度逻辑](https://s3.shizhz.me/linux-sched/history/o-1-logic.md)
- [2.3.6 O（1）调度器 - 时间分配](https://s3.shizhz.me/linux-sched/history/o-1-timing.md)
- [2.3.7 RSDL](https://s3.shizhz.me/linux-sched/history/rsdl.md)
- [2.3.8 CFS](https://s3.shizhz.me/linux-sched/history/cfs.md)
- [2.4 DL调度器](https://s3.shizhz.me/linux-sched/dl-sched.md)
- [2.4.1 DL调度器 - 调度算法](https://s3.shizhz.me/linux-sched/dl-sched/algorithm.md)
- [2.4.2 DL调度器 -核心代码](https://s3.shizhz.me/linux-sched/dl-sched/logic.md)
- [2.5 RT调度器](https://s3.shizhz.me/linux-sched/rt-sched.md)
- [2.6 CFS](https://s3.shizhz.me/linux-sched/cfs-sched.md)
- [2.6.1 公平性](https://s3.shizhz.me/linux-sched/cfs-sched/fairness.md)
- [2.6.2 调度逻辑](https://s3.shizhz.me/linux-sched/cfs-sched/logic.md)
- [2.6.2.1 调度逻辑 - 数据结构](https://s3.shizhz.me/linux-sched/cfs-sched/logic-data-structure.md)
- [2.6.2.2 调度逻辑 - vruntime](https://s3.shizhz.me/linux-sched/cfs-sched/logic-vruntime.md)
- [2.6.2.3 调度逻辑 - 调度周期](https://s3.shizhz.me/linux-sched/cfs-sched/logic-period.md)
- [2.6.2.4 调度逻辑 - 调度节拍](https://s3.shizhz.me/linux-sched/cfs-sched/logic-tick.md)
- [2.6.2.5 调度逻辑 - 任务抢占](https://s3.shizhz.me/linux-sched/cfs-sched/logic-preempt.md)
- [2.6.2.6 调度逻辑 - 调度时机](https://s3.shizhz.me/linux-sched/cfs-sched/logic-time.md)
- [2.6.3 组调度](https://s3.shizhz.me/linux-sched/cfs-sched/group.md)
- [2.6.3.1 组调度 - 数据结构](https://s3.shizhz.me/linux-sched/cfs-sched/group-data-structure.md)
- [2.6.3.2 组调度 - 调度逻辑](https://s3.shizhz.me/linux-sched/cfs-sched/group-logic.md)
- [2.6.3.3 组调度 - 时间分配](https://s3.shizhz.me/linux-sched/cfs-sched/group-timeshare.md)
- [2.6.3.4 组调度 - 任务组权重](https://s3.shizhz.me/linux-sched/cfs-sched/group-weight.md)
- [2.6.4 带宽控制](https://s3.shizhz.me/linux-sched/cfs-sched/bandwidth.md)
- [2.6.4.1 带宽控制 - 数据结构](https://s3.shizhz.me/linux-sched/cfs-sched/bandwidth-data-structure.md)
- [2.6.4.2 带宽控制 - 带宽时间](https://s3.shizhz.me/linux-sched/cfs-sched/bandwidth-time.md)
- [2.6.4.3 带宽控制 - 挂起与解挂](https://s3.shizhz.me/linux-sched/cfs-sched/bandwidth-throttle.md)
- [2.6.4.3 带宽控制 - 定时器](https://s3.shizhz.me/linux-sched/cfs-sched/bandwidth-timer.md)
- [2.7 负载追踪](https://s3.shizhz.me/linux-sched/load-trace.md)
- [2.7.1 负载追踪 - 简介](https://s3.shizhz.me/linux-sched/load-trace/load-trace-intro.md): 介绍什么是负载追踪，以及什么是PELT（Per-entity Load Tracking）
- [2.7.2 负载追踪 - 数据结构](https://s3.shizhz.me/linux-sched/load-trace/load-trace-data-structure.md)
- [2.7.3 负载追踪 - 计算负载](https://s3.shizhz.me/linux-sched/load-trace/load-trace-calc.md)
- [2.7.4 负载追踪 - 更新负载](https://s3.shizhz.me/linux-sched/load-trace/load-trace-update.md)
- [2.8 负载均衡](https://s3.shizhz.me/linux-sched/lb.md)
- [2.8.1 简介](https://s3.shizhz.me/linux-sched/lb/lb-intro.md)
- [2.8.2 CPU的拓扑结构](https://s3.shizhz.me/linux-sched/lb/lb-cpu-topo.md)
- [2.8.3 数据结构](https://s3.shizhz.me/linux-sched/lb/lb-data-structure.md)
- [2.8.4 算法思路](https://s3.shizhz.me/linux-sched/lb/lb-algorithm.md)
- [2.8.5 触发时机](https://s3.shizhz.me/linux-sched/lb/lb-trigger.md)
- [2.8.6 总结](https://s3.shizhz.me/linux-sched/lb/lb-summary.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://s3.shizhz.me/linux-sched.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
