• 创建:kthread_create,只是将thread_info加入kthreadd创建内核线程函数的调度队列中,未必真正执行
  • 调度
  • 终止:kthread_stop,标记、阻塞等待线程终止

实时调度:FIFO/RR

非实时调度:CFS/BATCH/IDLE

公平调度器CFS,权重+目标延迟动态计算每个进程的时间片,试图所有可运行进程nr_running在目标延迟时间内,至少运行一次

批处理任务BATCH,允许长时间运行,减少切换频率,以降低上下文切换开销

极低优先级任务IDLE,仅当系统空闲时运行,不会抢占正在运行进程

实时调度进程永远优先于非实时调度进程运行,只有当前核心没有逝世人物才运行非实时任务

一个死循环进程被设置为FIFO调度,系统卡死?

nice值越高,越容易让出CPU,因此nice值越高,优先级越低

CFS公平调度算法,不是传统的或RR实时调度时间片大小是不固定的,


文章作者: AthenaCrafter
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 AthenaCrafter !
 本篇
2025-09-04 AthenaCrafter
下一篇 
2025-09-04 AthenaCrafter
  目录