Scheduling Classes
Concept
在 Linux 中 kernel 進行 scheduling 有兩個層次:
- 用 CFS 先依據 scheduling class 排程
- 接下來被選中的 scheduling class 在用自己內部的 scheduling algorithm 去選擇實際上要跑的 process 或 thread
Scheduling Class 總而言之就是為 Linux Kernel 的 scheduling 提供一個模組化抽象,它給予每個 class 一個 priority(像是 real-time class 就有高優先級而 normal class 優先級就較低)並且讓其內部自行根據其中 process 的性質選擇最佳的 scheduling algorithm
Scheduling Classes
1. Real-time Class
使用 FIFO 或 Round-Robin 實作
2. Fair Class
就是一般使用者 process 所在的 class,使用 CFS
Linux kernel 實際上共五個 class 但這裡先只講兩種