操作系統基礎 進程調度算法

1.先來先服務調度算法

? 近乎單線程/單進程

2.時間片輪轉算法

? 周期性地進行進程切換。

? 改善短程序的響應時間,但系統的響應時間依賴于時間片的選擇。

? 進程切換需要一定的時間和空間成本。

? 進程多的時候,時間片就要短一點,否則交互體驗會很差;

? 進程數量少,時間片就可以適量長一點。

3.短任務優先算法

? 短任務的優先級比長任務的高,我們總是安排優先級高的程序先運行。

? 非搶占式:讓已經在CPU上運行的程序執行到結束或阻塞,然后再執行下一個。

? 搶占式:每新增加一個進程就要對所有進程(包括正在運行的)進行檢查,誰的時間短,就執行誰。

? 優點:在所有非搶占調度算法中,非搶占短任務優先算法響應時間最優,在所有搶占調度算法中,搶占短任務優先算法響應時間也最優。

? 缺點:可能造成長程序無法得到CPU時間二導致“饑餓”。需要估算程序運轉的時間(啟發式估算:1.根據程序大小推測程序所需CPU時間。2.將每個程序先運行一遍,記錄其所用的CPU時間)。

4.優先級調度算法

? 給每個進程賦予一個優先級(短任務優先算法也是優先級調度算法)。

? 缺點:低優先級的進程可能會“饑餓”。

? (解決:只要動態地調節優先級即可,如:一個進程執行特定CPU時間后將其優先級降低一個級別;一個進程等待了長時間,可以將優先級持續提升而超過其他進程)

5.混合調度算法

? 之前介紹的所有算法都存在缺點,我們自然想設計一個算法合并他們的優點,摒棄他們的缺點。這就是所謂的混合調度算法。

? 將所有進程分為不同的大類,每個大類為一個優先級。如果兩個進程處于不同的大類,則處于高優先級的大類的進程優先執行;如果兩個進程處于同一個大類,則采用時間片輪轉來執行。


6.其他調度算法

除了上面介紹的各種算法外,有的操作系統還實現了一些其他算法,它們包括:保證調度、彩票調度、用戶公平調度。

? 保證調度算法的目標是保證每個進程占用CPU的時間完全一樣,如果一個系統共有n個進程,則每個進程占用CPU的時間為1/n。保障就是肯定運轉1/n的時間,不多不少。保障調度不一定要輪轉,每次給的時間片不一定要一樣。

? 彩票調度算法是一種概率算法。給每個進程發一定數量的彩票,而調度器則從所有的彩票中隨機抽取一張彩票,而持有該彩票的進程就獲得CPU。優點:靈活,可以用于模擬其他調度算法。

? 用戶公平調度算法按照每個用戶而不是每個進程來進行公平分配。如果一個用戶進程多,則其進程獲得的CPU時間將短,反之則多。

7.實時調度算法

? 實時系統是一種必須提供時序可預測性的系統,應用范圍廣和特性不同于一般計算機,因此調度算法也別出一格。前面的算法只要考慮的是平均響應時間和系統吞吐率的問題,而實時系統則必須考慮每個具體的任務響應時間必須符合要求,即每個任務必須要在什么時間之前完成,而無需考慮如何降低整個系統響應時間或吞吐率。?

? EDF調度算法:就是最早截止的任務先做(early deadline first?),是搶占式的。(實時調度里面最優的算法)如果一組任務可以被調度的話,那EDF可以滿足;如果一批任務不能全部滿足,那么EDF能滿足的任務最多。

? 缺點:這是一種動態調度算法。意思是該算法動態地計算每個任務的截止時間并動態調節優先級,但是動態計算截止時間和動態搶占要占用CPU資源

? RMS調度算法:在進行調度之前就計算出所有任務的優先級,然后按照計算出來的優先級,然后按照計算出來的優先級進行調度,任務執行期間既不接收新進程,也不進行優先級的調整或者CPU搶占。因此這種算法的優點是系統消耗小,是靜態最優算法,缺點是不靈活。(如果CPU利用率在ln2(0.693147)以下,所有任務都能在截止時間前滿足)

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,488評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,034評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,327評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,554評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,337評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,883評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,975評論 3 439
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,114評論 0 286
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,625評論 1 332
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,555評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,737評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,244評論 5 355
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 43,973評論 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,362評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,615評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,343評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,699評論 2 370

推薦閱讀更多精彩內容