调度类位于一个链接列表中,该列表建立了每个类相对于下一个类的优先级

image.png

sched_class 结构,本质上是一个包含多个函数指针的跳转表,调度程序核心将在需要时调用这些函数指针。

image.png

典型的一个进程调度的实现如下:

image.png

调度的入口:__schedule(bool preempt)

image.png

image.png

参考文献

https://deepdives.medium.com/digging-into-linux-scheduler-47a32ad5a0a8

https://tontinton.com/posts/scheduling-internals/