日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

【Linux 内核】实时调度类 ① ( 进程分类 | 实时进程、普通进程 | Linux 内核 SCHED_FIFO、SCHED_RR 调度策略 | 实时调度实体 sched_rt_entity )

發(fā)布時間:2025/6/17 linux 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Linux 内核】实时调度类 ① ( 进程分类 | 实时进程、普通进程 | Linux 内核 SCHED_FIFO、SCHED_RR 调度策略 | 实时调度实体 sched_rt_entity ) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

  • 一、進程分類 ( 實時進程 | 普通進程 )
  • 二、Linux 內(nèi)核調(diào)度策略
    • 1、SCHED_FIFO 調(diào)度策略
    • 2、SCHED_RR 調(diào)度策略
  • 三、實時調(diào)度實體 sched_rt_entity





一、進程分類 ( 實時進程 | 普通進程 )



Linux 進程分為 " 實時進程 "" 普通進程 " 兩類 ;

" 實時進程 " 優(yōu)先級 高于 " 普通進程 " , 如果當(dāng)前 Linux 系統(tǒng)的執(zhí)行隊列中有 " 實時進程 " , 調(diào)度器優(yōu)先選擇 " 實時進程 " 進行調(diào)度 ;

如果 執(zhí)行隊列 中有多個實時進程 , 調(diào)度器 會 選擇 優(yōu)先級最高 的 " 實時進程 " 執(zhí)行 ;


進程分類 " 實時進程 " " 普通進程 "" 限期進程 " , 可以參考

  • 【Linux 內(nèi)核】進程管理 - 進程優(yōu)先級 ① ( 限期進程 | 實時進程 | 普通進程 | 進程優(yōu)先級相關(guān)字段 )
  • 【Linux 內(nèi)核】調(diào)度器 ⑧ ( 進程優(yōu)先級源碼 include\linux\sched\prio.h | 進程分類 | 實時進程 | 普通進程 | 進程優(yōu)先級數(shù)值 | 0 ~ 99 實時進程 )

博客 ;





二、Linux 內(nèi)核調(diào)度策略



在 【Linux 內(nèi)核】調(diào)度器 ⑨ ( Linux 內(nèi)核調(diào)度策略 | SCHED_NORMAL 策略 | SCHED_FIFO 策略 | SCHED_NORMAL 策略 | SCHED_BATCH策略 ) 博客中 , 介紹了 Linux 內(nèi)核相關(guān)的調(diào)度策略 ;


1、SCHED_FIFO 調(diào)度策略


SCHED_FIFO 是 " 實時進程調(diào)度策略 " , 這是一種 先進先出 ( First In First Out ) 調(diào)度策略 ;

該策略 不涉及 CPU 時間片機制 ( 分時復(fù)用機制 ) , 在沒有高優(yōu)先級進程的前提下 , 只能 等待其它進程主動釋放 CPU 資源 ;

SCHED_FIFO 調(diào)度策略中 , 被 調(diào)度器 調(diào)度運行后的 進程 , 其運行時長不受限制 , 可以運行任意長的時間 ;


2、SCHED_RR 調(diào)度策略


SCHED_RR 是 " 實時進程調(diào)度策略 " , 使用的是 時間片輪轉(zhuǎn) 機制 , 對應(yīng)的 時間值 運行時會 減少 ;

進程 使用完 CPU 時間片 后 , 會加入到 與 進程優(yōu)先級 相應(yīng)的 執(zhí)行隊列末尾 ;

同時 , 釋放 CPU 資源 , CPU 時間片會被輪轉(zhuǎn)給 相同進程優(yōu)先級 的 其它進程 ;





三、實時調(diào)度實體 sched_rt_entity



實時調(diào)度實體 在 Linux 內(nèi)核源碼中通過 sched_rt_entity 結(jié)構(gòu)體 表現(xiàn) ,

sched_rt_entity 結(jié)構(gòu)體 , 定義在 Linux 內(nèi)核源碼的 linux-5.6.18\include\linux\sched.h 頭文件中 ,

struct sched_rt_entity {struct list_head run_list;unsigned long timeout;unsigned long watchdog_stamp;unsigned int time_slice;unsigned short on_rq;unsigned short on_list;struct sched_rt_entity *back; #ifdef CONFIG_RT_GROUP_SCHEDstruct sched_rt_entity *parent;/* rq on which this entity is (to be) queued: */struct rt_rq *rt_rq;/* rq "owned" by this entity/group: */struct rt_rq *my_q; #endif } __randomize_layout;

總結(jié)

以上是生活随笔為你收集整理的【Linux 内核】实时调度类 ① ( 进程分类 | 实时进程、普通进程 | Linux 内核 SCHED_FIFO、SCHED_RR 调度策略 | 实时调度实体 sched_rt_entity )的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。