- 创建:kthread_create,只是将thread_info加入kthreadd创建内核线程函数的调度队列中,未必真正执行
- 调度
- 终止:kthread_stop,标记、阻塞等待线程终止
实时调度:FIFO/RR
非实时调度:CFS/BATCH/IDLE
公平调度器CFS,权重+目标延迟动态计算每个进程的时间片,试图所有可运行进程nr_running在目标延迟时间内,至少运行一次
批处理任务BATCH,允许长时间运行,减少切换频率,以降低上下文切换开销
极低优先级任务IDLE,仅当系统空闲时运行,不会抢占正在运行进程
实时调度进程永远优先于非实时调度进程运行,只有当前核心没有逝世人物才运行非实时任务
一个死循环进程被设置为FIFO调度,系统卡死?
nice值越高,越容易让出CPU,因此nice值越高,优先级越低
CFS公平调度算法,不是传统的或RR实时调度时间片大小是不固定的,