第三章 處理機調(diào)度與死鎖

1.處理機調(diào)度的基本概念

1)高級調(diào)度:

又稱作業(yè)調(diào)度或長程調(diào)度(Long-Term Scheduling),接納調(diào)度(Admission Scheduling)

作業(yè)調(diào)度決定的細節(jié)

接納多少作業(yè)——取決于多道程序度祥得。應(yīng)根據(jù)系統(tǒng)的規(guī)模和運行速度等情況綜合考慮。

接納哪些作業(yè)——取決于采用的調(diào)度算法蒋得。如先來先服務(wù)级及,短作業(yè)優(yōu)先等

系統(tǒng)運行并不一定存在高級調(diào)度

批處理系統(tǒng):作業(yè)進入系統(tǒng)后先駐留外存,故需要有作業(yè)調(diào)度额衙。

分時系統(tǒng):為及時響應(yīng)饮焦,作業(yè)由終端直接送入內(nèi)存,故不需作業(yè)調(diào)度窍侧。

實時系統(tǒng)中县踢,通常也不需作業(yè)調(diào)度。

2)低級調(diào)度:

也稱為進程調(diào)度疏之、微觀調(diào)度或短程調(diào)度(Short-Term Scheduling)。決定內(nèi)存就緒隊列中的哪個進程獲得處理機暇咆,進行分配工作锋爪。是最基本的一種調(diào)度,在三種基本OS中都有爸业。

(1)進程調(diào)度方式

非搶占方式(Non-preemptive Mode)

一旦處理機分配給某進程其骄,該進程一直執(zhí)行。決不允許其他進程搶占已分配運行進程的處理機扯旷。

搶占方式(Preemptive Mode)

允許調(diào)度程序根據(jù)某種原則拯爽,暫停某個正在執(zhí)行的進程,將處理機重新分配給另一進程钧忽。

(2)進程調(diào)度方式比較

(3)中級調(diào)度

又稱交換調(diào)度或中程調(diào)度(Medium-Term Scheduling)

引入目的:提高內(nèi)存利用率和系統(tǒng)吞吐量毯炮。根據(jù)條件將一些進程調(diào)出或再調(diào)入內(nèi)存。

(4)調(diào)度隊列模型

僅有進程調(diào)度的調(diào)度隊列模型: 分時系統(tǒng)

具有高級和低級調(diào)度的調(diào)度隊列模型:批處理系統(tǒng)中耸黑,還需要作業(yè)調(diào)度

同時具有三級調(diào)度的調(diào)度隊列模型

(5)選擇調(diào)度方式和調(diào)度算法的若干準則

① 面向用戶的準則:

周轉(zhuǎn)時間短桃煎、響應(yīng)時間快、均衡性大刊、截止時間的保證为迈、優(yōu)先權(quán)準則

② 面向系統(tǒng)的準則:

系統(tǒng)吞吐量高、處理機利用率好(主要針對大中型主機)缺菌、各類資源的平衡利用(主要針對大中型主機)

2.常用調(diào)度算法

1)先來先服務(wù)調(diào)度算法FCFS

一種最簡單的調(diào)度算法葫辐,按先后順序進行調(diào)度。既可用于作業(yè)調(diào)度伴郁,也可用于進程調(diào)度耿战。

2)短作業(yè)(進程)優(yōu)先調(diào)度算法SJF/SPF(搶占式和非搶占式)

SJF/SPF的不足:

①. 對短作業(yè)有利,但同時造成了對長作業(yè)的不利焊傅。

②.由于作業(yè)(進程)的長短含主觀因素昆箕,不一定能真正做到短作業(yè)優(yōu)先鸦列。

?③.未考慮作業(yè)的緊迫程度,因而不能保證緊迫性作業(yè)(進程)的及時處理鹏倘。

3)高優(yōu)先權(quán)優(yōu)先調(diào)度算法HPF (搶占式和非搶占式)

照顧緊迫性作業(yè)薯嗤,使其獲得優(yōu)先處理而引入調(diào)度算法。常用于批處理系統(tǒng)中的作業(yè)調(diào)度算法纤泵,以及多種操作系統(tǒng)中的進程調(diào)度算法

(1)優(yōu)先權(quán)的類型

靜態(tài)優(yōu)先權(quán):創(chuàng)建進程時確定骆姐,整個運行期間保持不變。一般利用某一范圍的一個整數(shù)來表示捏题,又稱為優(yōu)先數(shù)玻褪。

動態(tài)優(yōu)先權(quán):創(chuàng)建進程時賦予的優(yōu)先權(quán)可隨進程的推進或隨其等待時間的增加而改變。

(2)進程優(yōu)先權(quán)的確定

進程類型公荧、進程對資源的需求带射、用戶需求

4)高響應(yīng)比優(yōu)先調(diào)度算法HRRN

HRRN為每個作業(yè)引入動態(tài)優(yōu)先權(quán),使作業(yè)的優(yōu)先級隨著等待時間的增加而以速率a提高:

? 優(yōu)先權(quán) =(等待時間+要求服務(wù)時間)/要求服務(wù)時間= 響應(yīng)時間 / 要求服務(wù)時間

(1)同時到達的作業(yè)優(yōu)先權(quán)相同循狰。

(2)當執(zhí)行時間相同的作業(yè)窟社,優(yōu)先權(quán)的高低決定于其等待時間的長短,也就是先來先服務(wù)绪钥。

5)基于時間片的輪轉(zhuǎn)調(diào)度算法RR?

分時系統(tǒng)新需求:及時響應(yīng)用戶的請求灿里;采用基于時間片的輪轉(zhuǎn)式進程調(diào)度算法。

(1)時間片輪轉(zhuǎn)算法

將系統(tǒng)中所有的就緒進程按照FCFS原則程腹,排成一個隊列匣吊。

每次調(diào)度時將CPU分派給隊首進程,讓其執(zhí)行一個時間片寸潦。時間片的長度從幾個ms到幾百ms色鸳。

在一個時間片結(jié)束時,發(fā)生時鐘中斷见转。

調(diào)度程序據(jù)此暫停當前進程的執(zhí)行缕碎,將其送到就緒隊列的末尾,并通過上下文切換執(zhí)行當前就緒的隊首進程池户。

(2)多級反饋隊列算法FB

設(shè)置多個就緒隊列咏雌,各隊列有不同的優(yōu)先級,優(yōu)先級從第一個隊列依次降低。

?賦予各隊列進程執(zhí)行時間片大小不同, 優(yōu)先權(quán)越高校焦,時間片越短赊抖。

6)幾種常用調(diào)度算法的比較


3.實時調(diào)度

1)實現(xiàn)實時調(diào)度的基本條件

提供必要的信息

系統(tǒng)處理能力足夠強

采用搶占式調(diào)度機制

具有快速切換機制

2)實時調(diào)度算法的分類

非搶占調(diào)度算法

搶占式調(diào)度算法

3)常用的幾種實時調(diào)度算法

(1)最早截止時間優(yōu)先EDF

根據(jù)任務(wù)的開始截止時間來確定任務(wù)的優(yōu)先級。截止時間越早寨典,其優(yōu)先級越高氛雪。

(2)最低松弛度優(yōu)先LLF?

根據(jù)任務(wù)緊急(或松弛)的程度,來確定任務(wù)的優(yōu)先級耸成。任務(wù)的緊急程度越高(松弛度值越斜丁)浴鸿,優(yōu)先級就越高。

松弛度= 截止完成時間 – 還需執(zhí)行時間 - 當前時間

可理解為當前時刻到開始截止時刻間的差距弦追,隨著時間的推進岳链,這個差值逐漸變小,任務(wù)越來越緊迫劲件。

4.產(chǎn)生死鎖的原因和必要條件

死鎖(Deadlock):指多個進程在運行過程中掸哑,因爭奪資源而造成的一種僵局。當進程處于這種狀態(tài)時零远,若無外力作用苗分,它們都將無法再向前推進。

死鎖(Deadlock): 指進程之間無休止地互相等待!

饑餓(Starvation):指一個進程無休止地等待牵辣!

1)競爭資源引起進程死鎖

可把系統(tǒng)中的資源分為兩類:

可剝奪和非剝奪性資源

永久性資源和臨時性資源

2)進程推進順序不當引起死鎖

3) 產(chǎn)生死鎖的必要條件

互斥條件:

進程對所分配到的資源進行排他性使用

請求和保持條件:

進程已經(jīng)保持了至少一個資源摔癣,又提出新的資源請求,而新請求資源被其他進程占有只能造成自身進程阻塞纬向,但對自己已獲得的其他資源保持不放择浊,必然影響其他進程。

不剝奪條件:

進程已獲得的資源未使用完之前不能被剝奪罢猪,只能在使用完時由自己釋放近她。

環(huán)路等待條件

4)處理死鎖的基本方法

事先預(yù)防:

(1)預(yù)防死鎖:

(2)避免死鎖:

事后處理:

(3)檢測死鎖

(4)解除死鎖

5.預(yù)防死鎖的方法

1)預(yù)防死鎖

(1)摒棄“請求和保持”條件

(2)摒棄“不剝奪”條件

(3)摒棄“環(huán)路等待”條件

6.死鎖的檢測與解除

當系統(tǒng)為進程分配資源時叉瘩,若未采取任何限制性措施膳帕,則系統(tǒng)必須提供檢測和解除死鎖的手段,為此系統(tǒng)必須:

保存有關(guān)資源的請求和分配信息薇缅;

提供一種算法危彩,以利用這些信息來檢測系統(tǒng)是否已進入死鎖狀態(tài)。

1)死鎖的檢測

檢測時機:

當進程等待時檢測死鎖

定時檢測

系統(tǒng)資源利用率下降時檢測死鎖

2)死鎖定理

利用資源分配圖簡化法來檢測死鎖

3)死鎖檢測算法:

* 每個進程和資源指定唯一編號

* 設(shè)置一張資源分配表

? 記錄各進程與其占用資源之間的關(guān)系

* 設(shè)置一張進程等待表

? 記錄各進程與要申請資源之間的關(guān)系

4)死鎖的解除

當發(fā)現(xiàn)進程死鎖時泳桦,便應(yīng)立即把它們從死鎖狀態(tài)中解脫出來汤徽。常采用的方法是:

剝奪資源:

從其他進程剝奪足夠數(shù)量的資源給死鎖進程以解除死鎖狀態(tài)。

撤銷進程:

最簡單的是讓全部進程都死掉灸撰;溫和一點的是按照某種順序逐個撤銷進程谒府,直至有足夠的資源可用,使死鎖狀態(tài)消除為止浮毯。

5)死鎖處理方法比較


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末完疫,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子债蓝,更是在濱河造成了極大的恐慌壳鹤,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件饰迹,死亡現(xiàn)場離奇詭異芳誓,居然都是意外死亡余舶,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進店門锹淌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來匿值,“玉大人,你說我怎么就攤上這事葛圃∏樱” “怎么了?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵库正,是天一觀的道長曲楚。 經(jīng)常有香客問我,道長褥符,這世上最難降的妖魔是什么龙誊? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮喷楣,結(jié)果婚禮上趟大,老公的妹妹穿的比我還像新娘。我一直安慰自己铣焊,他們只是感情好逊朽,可當我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著曲伊,像睡著了一般叽讳。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上坟募,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天岛蚤,我揣著相機與錄音,去河邊找鬼懈糯。 笑死涤妒,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的赚哗。 我是一名探鬼主播她紫,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼屿储!你這毒婦竟也來了贿讹?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤扩所,失蹤者是張志新(化名)和其女友劉穎围详,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡助赞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年买羞,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片雹食。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡畜普,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出群叶,到底是詐尸還是另有隱情吃挑,我是刑警寧澤,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布街立,位于F島的核電站舶衬,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏赎离。R本人自食惡果不足惜逛犹,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望梁剔。 院中可真熱鬧虽画,春花似錦、人聲如沸荣病。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽个盆。三九已至脖岛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間砾省,已是汗流浹背鸡岗。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工混槐, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留编兄,地道東北人。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓声登,卻偏偏與公主長得像狠鸳,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子悯嗓,可洞房花燭夜當晚...
    茶點故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 做眼鏡私人定制的幾年件舵,感覺每一天都是新鮮的。不僅僅是每一天都不可預(yù)知脯厨,更是因為會接觸到各種不同性情的客戶铅祸。他們有的...
    眼鏡姐姐Lily閱讀 266評論 0 0
  • 今天早上我起床出去了一下,鑫蕾以為我要走,6點多就起床临梗,自己迷迷糊糊的套上衣服就出去找我涡扼。我說你起那么早干嘛,不多...
    2021級張鑫澤媽媽閱讀 97評論 0 2
  • 六月,一個充滿了陽光與活力的季節(jié)什猖。我總以為我還算有點文采票彪,總能以筆為友,寫些感觸不狮,寫些心情降铸,總是把文字當成一種寄托...
    KING_小雪閱讀 338評論 2 2