操作系統(tǒng)知識點(五)——CPU調度

CPU調度

背景

  • CPU調度

    • 從就緒隊列中挑選一個進程/線程作為CPU將要運行的下一個進程/線程
    • 調度程序:挑選進程/線程的內核函數(shù)
    • 什么時候進行調度
  • 調度時機

    • 進程從運行狀態(tài)切換到等待狀態(tài)
    • 進程被終結了
  • 非搶占系統(tǒng):調度程序必須等待事件結束,當前進程主動放棄CPU時

  • 可搶占系統(tǒng)

    • 中斷請求被服務例程響應完成時
    • 當前進程被搶占:進程時間片用完;進程從等待切換到就緒

調度準則

  • CPU使用率:CPU處于忙狀態(tài)的時間百分比
  • 吞吐量:單位時間內完成的進程數(shù)量
  • 周轉時間:進程從初始化到結束的總時間
  • 等待時間:進程在就緒隊列中的總時間
  • 響應時間:從提交請求到產(chǎn)生響應所花費的總時間

調度算法

  • 先來先服務(First Come First Served汁展,F(xiàn)CFS):依據(jù)進程進入就緒狀態(tài)的先后順序排列
    • 優(yōu)點:簡單
    • 缺點
      • 平均等待時間波動較大缠黍,短進程可能排在長進程后面
      • I/O資源和CPU資源的利用率較低
  • 短進程優(yōu)先算法(SPN捧挺,SJF州泊,SRT):選擇就緒隊列中執(zhí)行時間最短進程占用CPU進入運行狀態(tài)
    • 短剩余時間優(yōu)先算法(SRT):可搶占捕捂,SPN算法的可搶占改進
    • 缺點
      • 可能導致饑餓励背,連續(xù)的短任務流會使長進程無法獲得CPU資源
      • 需要預知未來春霍,如何預估下一個CPU計算的持續(xù)時間:詢問用戶,如果用戶欺騙就殺死相應進程
  • 最高響應比優(yōu)先算法(Highest Response Ratio Next叶眉,HRRN):選擇就緒隊列中響應比R值最高的進程舆床,R=(w+s)/s各墨,w:等待時間;s:執(zhí)行時間
    • 在SPN調度的基礎上改進
    • 不可搶占
    • 關注進程的等待時間
    • 防止無限期推遲
  • 時間片輪轉算法(Round Robin,RR):時間片結束時颊埃,按FCFS算法切換到下一個就緒進程
    • 算法開銷檐涝,額外上下文切換
    • 時間片太長庭猩,等待時間過長狞山,極限情況退化成FCFS
    • 時間片太小,反應迅速绩郎,但產(chǎn)生大量上下文切換
    • 時間片選擇目標潘鲫,維持上下文切換開銷處于1%以內
  • 多級反饋隊列算法(MultiLevel Feedback Queues,MLFQ)
    • 就緒隊列被劃分成獨立的隊列
    • 每個隊列擁有自己的調度策略
    • 調度必須在隊列間進行:固定優(yōu)先級肋杖、時間切片
    • 進程可在不同隊列間移動的多級列算法
      • 時間片大小隨優(yōu)先級別增加而增加
      • CPU密集型進程的優(yōu)先級下降很快
      • 如進程在當前的時間片沒有完成溉仑,則降到下一個優(yōu)先級
      • I/O密集型進程停留在高優(yōu)先級
  • 公平共享調度算法(Fair Share Scheduling,F(xiàn)SS)
    • 一些用戶組比其它用戶組更重要
    • 保證不重要的組無法壟斷資源
    • 未使用的資源按比例分配
    • 沒有達到資源使用率目標的組獲得更高的優(yōu)先級

實時調度

  • 實時操作系統(tǒng):正確性依賴于其實際和功能兩方面的操作系統(tǒng)

  • 性能指標

    • 時間約束的及時性
    • 速度和平均性能相對不重要
  • 特性

    • 時間約束的可預測性
  • 強實時操作系統(tǒng):要求在指定的時間內必須完成重要任務

  • 弱實時操作系統(tǒng):重要進程有高優(yōu)先級兽愤,要求盡量但非必須完成

  • 速率單調調度算法(RM彼念,Rate Monntonic)

    • 通過周期安排優(yōu)先級
    • 周期越短優(yōu)先級越高
    • 執(zhí)行周期最短的任務
  • 最早截止時間優(yōu)先算法(EDF挪圾,Earliest Deadline First)

    • 截止時間越早優(yōu)先級越高
    • 執(zhí)行截止時間最早的任務

多處理器調度

  • 多處理機調度的特征

    • 多個處理機組成一個多處理機系統(tǒng)
    • 處理機間可負載共享
  • 對稱多處理器(SMP,Symmetric multiprocessing)調度

    • 每個處理器運行自己的調度程序
    • 調度程序對共享資源的訪問需要進行同步
  • 靜態(tài)進程分配

    • 進程從開始到結束都被分配到一個固定的處理機上執(zhí)行
    • 每個處理機有自己的就緒隊列
    • 調度開銷小
    • 各處理機可能忙閑不均
  • 動態(tài)進程分配

    • 進程在執(zhí)行中可分配到任意空閑處理機執(zhí)行
    • 所有處理機共享一個公共的就緒隊列
    • 調度開銷大
    • 各處理機的負載是均衡的

優(yōu)先級反轉

  • 操作系統(tǒng)中出現(xiàn)高優(yōu)先級進程長時間等待低優(yōu)先級進程所占用資源的現(xiàn)象

  • 基于優(yōu)先級的可搶占調度算法存在優(yōu)先級反置

  • 優(yōu)先級繼承:占用資源的低優(yōu)先級進程繼承申請資源的高優(yōu)先級進程的優(yōu)先級

    • 只在占有資源的低優(yōu)先級進程被阻塞時逐沙,才提高占用資源進程的優(yōu)先級
  • 優(yōu)先級天花板協(xié)議:占用資源進程的優(yōu)先級和所有可能申請該資源的進程的最高優(yōu)先級相同

    • 不管是否發(fā)生等待哲思,都提升占用資源進程的優(yōu)先級
    • 優(yōu)先級高于系統(tǒng)中所有被鎖定的資源的優(yōu)先級上限,任務執(zhí)行臨界區(qū)時不會被阻塞

更多精彩吩案,關注“咋家”

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末棚赔,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子徘郭,更是在濱河造成了極大的恐慌靠益,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件残揉,死亡現(xiàn)場離奇詭異胧后,居然都是意外死亡,警方通過查閱死者的電腦和手機抱环,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門壳快,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人镇草,你說我怎么就攤上這事眶痰。” “怎么了梯啤?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵竖伯,是天一觀的道長。 經(jīng)常有香客問我因宇,道長七婴,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任羽嫡,我火速辦了婚禮本姥,結果婚禮上,老公的妹妹穿的比我還像新娘杭棵。我一直安慰自己,他們只是感情好氛赐,可當我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布魂爪。 她就那樣靜靜地躺著,像睡著了一般艰管。 火紅的嫁衣襯著肌膚如雪滓侍。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天牲芋,我揣著相機與錄音撩笆,去河邊找鬼捺球。 笑死,一個胖子當著我的面吹牛夕冲,可吹牛的內容都是我干的氮兵。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼歹鱼,長吁一口氣:“原來是場噩夢啊……” “哼泣栈!你這毒婦竟也來了?” 一聲冷哼從身側響起弥姻,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤南片,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后庭敦,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體疼进,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年秧廉,在試婚紗的時候發(fā)現(xiàn)自己被綠了颠悬。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡定血,死狀恐怖赔癌,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情澜沟,我是刑警寧澤灾票,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站茫虽,受9級特大地震影響刊苍,放射性物質發(fā)生泄漏。R本人自食惡果不足惜濒析,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一正什、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧号杏,春花似錦婴氮、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至庭惜,卻和暖如春罩驻,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背护赊。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工惠遏, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留砾跃,地道東北人。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓节吮,卻偏偏與公主長得像抽高,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子课锌,可洞房花燭夜當晚...
    茶點故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內容