前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Linux 内核】CFS 调度器 ④ ( 调度子系统组件模块 | 主调度器、周期性调度器 | 调度器类 )

【Linux 内核】CFS 调度器 ④ ( 调度子系统组件模块 | 主调度器、周期性调度器 | 调度器类 )

作者头像
韩曙亮
发布2023-03-30 13:59:09
3.2K0
发布2023-03-30 13:59:09
举报
文章被收录于专栏:韩曙亮的移动开发专栏

文章目录

一、调度子系统组件模块


调度器 需要对 被调度的进程 进行 排序 和 调度管理 ,

进程管理过程需要 调度器 的 组件模块 , 以及相关 算法 数据结构 来完成 , 如 : 执行队列 ;

二、主调度器、周期性调度器


CPU 通过 " 上下文切换 " 选择 " 主调度器 " 或 " 周期性调度器 " ,

" 上下文切换 " 主要完成

  • 切换地址空间 ,
  • 切换寄存器 ,
  • 切换栈空间

工作 ;

" 主调度器 " 通过 调用 schedule() 方法 , 完成 进程的 调度 和 切换 ;

" 周期性调度器 " 根据 相应频率 , 自动调用 scheduler_tick() 函数 , 完成调度 , 这是根据 进程 运行时间 , 自动触发进程调度 ;

三、调度器类


主调度器 或 周期性调度器 根据 不同的 " 选择进程 " 选择不同的 调度器类 , 可选的调度类参考 【Linux 内核】调度器 ⑦ ( 调度器类型 | 停机调度类 stop_sched_class | 限期调度类 dl_sched_class | 实时调度类 | 公平调度类 | 空闲调度类 ) 博客 , 在 Linux 内核中 , sched_class 调度器 分为以下

5

种类型 :

  • stop_sched_class : 停机调度类 ;
  • dl_sched_class : 限期调度类 ;
  • rt_sched_class : 实时调度类 ;
  • fair_sched_class : 公平调度类 ;
  • idle_sched_class : 空闲调度类 ;

每个 调度器类 都负责 调度管理 若干进程 ,

调度器类 用于 判断 下一步要运行哪个进程 ,

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-03-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、调度子系统组件模块
  • 二、主调度器、周期性调度器
  • 三、调度器类
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档