學習Linux進程調度子系統,需要合理進程拆分,逐一擊破。關於Linux進程調度子系統可以拆分如下五個大方向:
一、Tasks
1. tasks如何在Linux內核中表示:struct task_struct
2. Linux如何在用戶態和內核態下分別創建task_struct
3. Linux中task_struct相關屬性,如調度策略,PID等等
二、Scheduler Class
1. Linux內核關於進程調度的五種調度算法
2. Linux高版本上默認的調度算法
三、Scheduler
1. 兩種核心的調度程序:主調度器和週期調度器
四、Context Switch
1. 進程上下文切換:save and restore
五、SMP Load Balance
1. 進程在SMP中負載均衡運用
爲了能清楚瞭解整個調度子系統,畫了了一個簡易的框圖進行描述: