【Linux 内核】CFS 调度器 ④ ( 调度子系统组件模块 | 主调度器、周期性调度器 | 调度器类 )
【摘要】
文章目录
一、调度子系统组件模块二、主调度器、周期性调度器三、调度器类
一、调度子系统组件模块
调度器 需要对 被调度的进程 进行 排序 和 调度管理 ,
进程管...
一、调度子系统组件模块
调度器 需要对 被调度的进程 进行 排序 和 调度管理 ,
进程管理过程需要 调度器 的 组件模块 , 以及相关 算法 数据结构 来完成 , 如 : 执行队列 ;
二、主调度器、周期性调度器
CPU 通过 " 上下文切换 " 选择 " 主调度器 " 或 " 周期性调度器 " ,
" 上下文切换 " 主要完成
- 切换地址空间 ,
- 切换寄存器 ,
- 切换栈空间
工作 ;
" 主调度器 " 通过 调用 schedule()
方法 , 完成 进程的 调度 和 切换 ;
" 周期性调度器 " 根据 相应频率 , 自动调用 scheduler_tick()
函数 , 完成调度 , 这是根据 进程 运行时间 , 自动触发进程调度 ;
三、调度器类
主调度器 或 周期性调度器 根据 不同的 " 选择进程 " 选择不同的 调度器类 , 可选的调度类参考 【Linux 内核】调度器 ⑦ ( 调度器类型 | 停机调度类 stop_sched_class | 限期调度类 dl_sched_class | 实时调度类 | 公平调度类 | 空闲调度类 ) 博客 , 在 Linux 内核中 , sched_class
调度器 分为以下 5 5 5 种类型 :
- stop_sched_class : 停机调度类 ;
- dl_sched_class : 限期调度类 ;
- rt_sched_class : 实时调度类 ;
- fair_sched_class : 公平调度类 ;
- idle_sched_class : 空闲调度类 ;
每个 调度器类 都负责 调度管理 若干进程 ,
调度器类 用于 判断 下一步要运行哪个进程 ,
文章来源: hanshuliang.blog.csdn.net,作者:韩曙亮,版权归原作者所有,如需转载,请联系作者。
原文链接:hanshuliang.blog.csdn.net/article/details/123846259
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)