文章目录

  • 一、调度子系统组件模块
  • 二、主调度器、周期性调度器
  • 三、调度器类

一、调度子系统组件模块


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

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

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


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

" 上下文切换 " 主要完成

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

工作 ;

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

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

三、调度器类


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

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

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

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

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

  1. Linux内核进阶----整体框架及子系统概览

    目录 1.概述 2.核心抽象及设计选型 2.1. 对进程和内核的抽象 2.2. 对进程地址空间的抽象 2.3. 支持可重入可抢占的内核 2.4. 放松管控与努力回收 2.5. 单块结构内核+动态加载模 ...

  2. linux内核cfs浅析

    linux调度器的一般原理请参阅<linux进程调度浅析>. 之前的调度器 cfs之前的linux调度器一般使用用户设定的静态优先级,加上对于进程交互性的判断来生成动态优先级,再根据动态优 ...

  3. Linux内核4.14版本——GPIO子系统(1)——gpiolib分析

    目录 1.简述 2.Gpiolib 相关数据结构分析 2.1 gpio_chip 结构 2.2 gpio_desc 结构 2.3 gpio_device 结构 3 Gpiolib 对接芯片底层 3.1 ...

  4. Linux内核4.14版本——Nand子系统(1)——hisi504_nand.c分析

    1. 简介 2. DTS 3. hisi_nfc_probe函数 3.1 获取dts中的资源 3.2 设置nand-chip结构体中必要的字段 3.3 nand_scan_ident扫描识别nand控 ...

  5. Linux内核源码分析-scsi子系统-让磁盘转起来-sd_spinup_disk

    如何调用到sd_spinup_disk接口,请查看前面文章[深入浅出SCSI子系统(六)SCSI 磁盘驱动] 链接:深入浅出SCSI子系统(六)SCSI 磁盘驱动_sinat_37817094的博客- ...

  6. Linux内核源码树建立加载hello模块

    在加载模块之前,书中说要先建立内核源码树,那么,如何建立内核源码树呢? 首先,要先知道你的OS的内核版本,用uname -r可以查得到 在/url/src/目录下可以看到对应的版本目录 如果没有可以用 ...

  7. Linux内核分析 - 网络[十二]:UDP模块 - 收发

    内核版本:2.6.34 UDP报文接收        UDP报文的接收可以分为两个部分:协议栈收到udp报文,插入相应队列中:用户调用recvfrom()或recv()系统调用从队列中取出报文,这里的 ...

  8. Linux内核分析 - 网络[十二]:UDP模块 - socket

    内核版本:2.6.34 这部分内容在于说明socket创建后如何被内核协议栈访问到,只关注两个问题:sock何时插入内核表的,sock如何被内核访问的.对于核心的sock的插入.查找函数都给出了流程图 ...

  9. 深入浅出SCSI子系统(一)Linux 内核中的 SCSI 架构

    目录 深入浅出SCSI子系统(一)Linux 内核中的 SCSI 架构 1.Linux 内核中的 SCSI 架构描述 2.SCSI 较高层 3.SCSI 中间层 4.SCSI 较低层 深入浅出SCSI ...

最新文章

  1. LeanCloud学习笔记(1)
  2. StaicArray
  3. 服务端构架干货:快节奏多人游戏的技术实现
  4. 通过在操作系统中实际操作,学习和理解 Unicode 编码相关知识
  5. AFN框架和SDWebImage框架的上手体验
  6. android是32-bit系统还是64-bit系统
  7. Http协议Get方式获取图片
  8. 红外倒车雷达原理图_汽车里的毫米波雷达你知多少?
  9. Java Web学习总结(37)——Filter和Listener详解
  10. 入侵Tomcat服务器一次实战
  11. java赋值两个对象数组 clone_Java:类的两个相同对象数组的克隆问题
  12. bzoj3713: [PA2014]Iloczyn(乱搞)
  13. lisp医院化验系统_医院管理系统(his)电子病历 体检系统 l is pacs
  14. 逆矩阵和伴随矩阵(Inverse matrix and adjoint matrix)
  15. 关于latex第四级标题问题
  16. 爬虫--Item Pipeline 介绍(21)
  17. 【Thingsboard】源码分析:Actor模型架构
  18. 列表中的元素进行统计数量
  19. ULONG64转CString
  20. 光电耦合器如何选型以及型号推荐

热门文章

  1. android中Logcat的TAG过滤
  2. mysql show status
  3. Avalon-MM 阿窝龙妹妹应用笔记
  4. SpringBoot项目以服务器方式启动
  5. SAS 对数据的拼接与串接
  6. hive数据倾斜的解决办法
  7. 控件自定义和QQ皮肤
  8. 零件库管理信息系统设计--part03:管理员登录部分设计
  9. 【FJOI2015】最小覆盖双圆问题
  10. Swift项目,超美的动画和tableView,collectionView,轮播图的使用,网络请求的封装等