【Linux 内核】CFS 调度器 ④ ( 调度子系统组件模块 | 主调度器、周期性调度器 | 调度器类 )
生活随笔
收集整理的這篇文章主要介紹了
【Linux 内核】CFS 调度器 ④ ( 调度子系统组件模块 | 主调度器、周期性调度器 | 调度器类 )
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一、調度子系統組件模塊
- 二、主調度器、周期性調度器
- 三、調度器類
一、調度子系統組件模塊
調度器 需要對 被調度的進程 進行 排序 和 調度管理 ,
進程管理過程需要 調度器 的 組件模塊 , 以及相關 算法 數據結構 來完成 , 如 : 執行隊列 ;
二、主調度器、周期性調度器
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 调度器 ④ ( 调度子系统组件模块 | 主调度器、周期性调度器 | 调度器类 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Linux 内核】CFS 调度器 ②
- 下一篇: 【Linux 内核】CFS 调度器 ⑤