Linux進(jìn)程調(diào)度

linux調(diào)度類:
一共有5個(gè)調(diào)度類, 每個(gè)進(jìn)程都對(duì)應(yīng)一種調(diào)度策略, 每種策略又會(huì)對(duì)應(yīng)一種調(diào)度類(每個(gè)調(diào)度類可以對(duì)應(yīng)多種調(diào)度策略)
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: 實(shí)時(shí)調(diào)度器(調(diào)度策略: SCHED_FIFO, SCHED_RR)
fair_sched_class: 完全公平調(diào)度器(調(diào)度策略: SCHED_NORMAL, SCHED_BATCH, SCHED_IDLE)

調(diào)度類優(yōu)先級(jí)順序: stop_sched_class>dl_sched_class>rt_sched_class>fair_sched_class>idle_sched_class

調(diào)度策略:
struct task中 unsigned int policy 保存進(jìn)程的調(diào)度策略
SCHED_NORMAL: 用于普通進(jìn)程, 通過(guò)CFS調(diào)度器實(shí)現(xiàn)
SCHED_BATCH: 相當(dāng)于SCHED_NORMAL分化版本, 采用分時(shí)策略, 根據(jù)動(dòng)態(tài)優(yōu)先級(jí), 分配CPU運(yùn)行需要的資源
SCHED_IDLE: 優(yōu)先級(jí)最低, 在系統(tǒng)空閑時(shí)才執(zhí)行這類進(jìn)程
SCHED_FIFO: 先進(jìn)先出調(diào)度算法(實(shí)時(shí)調(diào)度策略), 相同優(yōu)先級(jí)任務(wù)先到先服務(wù), 高優(yōu)先級(jí)的任務(wù)可以搶占低優(yōu)先級(jí)的任務(wù).
SCHED_RR: 輪流調(diào)度算法(實(shí)時(shí)調(diào)度策略)
SCHED_DEADLINE: 新支持的實(shí)時(shí)進(jìn)程調(diào)度策略, 針對(duì)突發(fā)性計(jì)算
SCHED_BATCH用于非交互處理器消耗型進(jìn)程, SCHED_IDLE是在系統(tǒng)負(fù)載很低時(shí)使用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調(diào)度
CFS調(diào)度器(1)—— 基本原理
https://www.cnblogs.com/hellokitty2/p/13171709.html
CFS調(diào)度器(2)——源碼解析
http://t.zoukankan.com/hellokitty2-p-13195256.html
linux內(nèi)核源碼分析之CFS調(diào)度
https://blog.csdn.net/WANGYONGZIXUE/article/details/123456109
帶你玩轉(zhuǎn)linux內(nèi)核源碼分析之CFS調(diào)度
https://www.bilibili.com/read/cv16902712
Linux進(jìn)程調(diào)度-CFS調(diào)度器原理分析及實(shí)現(xiàn),懂了
https://zhuanlan.zhihu.com/p/395810060
操作系統(tǒng)調(diào)度算法3——CFS,完全公平調(diào)度器
https://zhuanlan.zhihu.com/p/372441187

Linux進(jìn)程調(diào)度源碼學(xué)習(xí)之調(diào)度策略與調(diào)度類工作流程
https://blog.csdn.net/xsjzn/article/details/124721909

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 極簡(jiǎn)聯(lián)盟 假設(shè)我的系統(tǒng)只有一種調(diào)度算法cfs 那么有個(gè)調(diào)度的隊(duì)列 cfs_rq ...
    神農(nóng)筆記閱讀 778評(píng)論 0 0
  • Linux的調(diào)度策略區(qū)分實(shí)時(shí)進(jìn)程和普通進(jìn)程,實(shí)時(shí)進(jìn)程的調(diào)度策略是SCHED_FIFO和SCHED_RR,普通的,非...
    x1wan閱讀 2,205評(píng)論 0 1
  • 1. 進(jìn)程的概念 進(jìn)程在Linux系統(tǒng)里的描述 進(jìn)程的生命周期、狀態(tài) PCB task_struct 包含哪些,從...
    心遠(yuǎn)氣自靜閱讀 319評(píng)論 0 1
  • [TOC] ## 多任務(wù)操作系統(tǒng)的兩種形式: 1. 搶占式多任務(wù)操作系統(tǒng) 2. 協(xié)同式多任務(wù)操作系統(tǒng) ## 進(jìn)程分...
    不一樣的煙火火閱讀 1,579評(píng)論 0 0
  • 介紹 進(jìn)程調(diào)度算法也稱 CPU 調(diào)度算法,畢竟進(jìn)程是由 CPU 調(diào)度的。 當(dāng) CPU 空閑時(shí),操作系統(tǒng)就選擇內(nèi)存中...
    kyo1992閱讀 1,040評(píng)論 0 0

友情鏈接更多精彩內(nèi)容