Linux进程调度

linux调度类:
一共有5个调度类, 每个进程都对应一种调度策略, 每种策略又会对应一种调度类(每个调度类可以对应多种调度策略)
extern const struct sched_class stop_sched_class;
extern const struct sched_class dl_sched_class;
extern const struct sched_class rt_sched_class;
extern const struct sched_class fair_sched_class;
extern const struct sched_class idle_sched_class;

rt_sched_class: 实时调度器(调度策略: SCHED_FIFO, SCHED_RR)
fair_sched_class: 完全公平调度器(调度策略: SCHED_NORMAL, SCHED_BATCH, SCHED_IDLE)

调度类优先级顺序: stop_sched_class>dl_sched_class>rt_sched_class>fair_sched_class>idle_sched_class

调度策略:
struct task中 unsigned int policy 保存进程的调度策略
SCHED_NORMAL: 用于普通进程, 通过CFS调度器实现
SCHED_BATCH: 相当于SCHED_NORMAL分化版本, 采用分时策略, 根据动态优先级, 分配CPU运行需要的资源
SCHED_IDLE: 优先级最低, 在系统空闲时才执行这类进程
SCHED_FIFO: 先进先出调度算法(实时调度策略), 相同优先级任务先到先服务, 高优先级的任务可以抢占低优先级的任务.
SCHED_RR: 轮流调度算法(实时调度策略)
SCHED_DEADLINE: 新支持的实时进程调度策略, 针对突发性计算
SCHED_BATCH用于非交互处理器消耗型进程, SCHED_IDLE是在系统负载很低时使用CFS
/*

  • Scheduling policies
    */

define SCHED_NORMAL 0

define SCHED_FIFO 1

define SCHED_RR 2

define SCHED_BATCH 3

/* SCHED_ISO: reserved but not implemented yet */

define SCHED_IDLE 5

define SCHED_DEADLINE 6

CFS调度
CFS调度器(1)—— 基本原理
https://www.cnblogs.com/hellokitty2/p/13171709.html
CFS调度器(2)——源码解析
http://t.zoukankan.com/hellokitty2-p-13195256.html
linux内核源码分析之CFS调度
https://blog.csdn.net/WANGYONGZIXUE/article/details/123456109
带你玩转linux内核源码分析之CFS调度
https://www.bilibili.com/read/cv16902712
Linux进程调度-CFS调度器原理分析及实现,懂了
https://zhuanlan.zhihu.com/p/395810060
操作系统调度算法3——CFS,完全公平调度器
https://zhuanlan.zhihu.com/p/372441187

Linux进程调度源码学习之调度策略与调度类工作流程
https://blog.csdn.net/xsjzn/article/details/124721909

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 极简联盟 假设我的系统只有一种调度算法cfs 那么有个调度的队列 cfs_rq ...
    神农笔记阅读 4,042评论 0 0
  • Linux的调度策略区分实时进程和普通进程,实时进程的调度策略是SCHED_FIFO和SCHED_RR,普通的,非...
    x1wan阅读 6,421评论 0 1
  • 1. 进程的概念 进程在Linux系统里的描述 进程的生命周期、状态 PCB task_struct 包含哪些,从...
    心远气自静阅读 1,950评论 0 1
  • [TOC] ## 多任务操作系统的两种形式: 1. 抢占式多任务操作系统 2. 协同式多任务操作系统 ## 进程分...
    不一样的烟火火阅读 5,410评论 0 0
  • 介绍 进程调度算法也称 CPU 调度算法,毕竟进程是由 CPU 调度的。 当 CPU 空闲时,操作系统就选择内存中...
    kyo1992阅读 4,496评论 0 0

友情链接更多精彩内容