操作系統(tǒng)筆記:第三章—處理機(jī)調(diào)度與死鎖

分為六大部分:

一.處理機(jī)調(diào)度相關(guān)基本概念

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

三.實(shí)時(shí)調(diào)度

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

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

六.死鎖的檢測(cè)與解除

一、處理機(jī)調(diào)度的基本概念

處理機(jī)調(diào)度:多道程序環(huán)境下,動(dòng)態(tài)的把處理機(jī)分配給就緒隊(duì)列中的一個(gè)進(jìn)程使之執(zhí)行私痹。

提高處理機(jī)的利用率匈棘、改善系統(tǒng)性能坝咐,很大程度上取決于處理機(jī)調(diào)度的性能解虱。

處理機(jī)調(diào)度便成為OS設(shè)計(jì)的中心問題之一掐禁。分配的任務(wù)由處理機(jī)調(diào)度程序完成渐溶。

1辉浦、高級(jí)調(diào)度(High Scheduling)

又稱作業(yè)調(diào)度或長(zhǎng)程調(diào)度(Long-Term Scheduling),接納調(diào)度(Admission Scheduling)。主要在早期批處理階段茎辐,處理在外存上的作業(yè)宪郊。

決定外存后備隊(duì)列中的哪些作業(yè)調(diào)入內(nèi)存;

為它們創(chuàng)建進(jìn)程、分配必要的資源;

將新創(chuàng)建的進(jìn)程排在就緒隊(duì)列上拖陆,準(zhǔn)備執(zhí)行弛槐。

*系統(tǒng)運(yùn)行并不一定存在高級(jí)調(diào)度

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

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

實(shí)時(shí)系統(tǒng)中叹誉,通常也不需作業(yè)調(diào)度鸯两。

2、低級(jí)調(diào)度(Low Level Scheduling)

也稱為進(jìn)程調(diào)度长豁、微觀調(diào)度或短程調(diào)度(Short-Term Scheduling)決定內(nèi)存就緒隊(duì)列中的哪個(gè)進(jìn)程獲得處理機(jī)钧唐,進(jìn)行分配工作。是最基本的一種調(diào)度匠襟,在三種基本OS中都有钝侠。

?進(jìn)程調(diào)度方式

1)非搶占方式(Non-preemptive Mode)

? 一旦處理機(jī)分配給某進(jìn)程,該進(jìn)程一直執(zhí)行酸舍。決不允許其他進(jìn)程搶占已分配運(yùn)行進(jìn)程的處理機(jī)帅韧。

2)搶占方式(Preemptive Mode)

? 允許調(diào)度程序根據(jù)某種原則,暫停某個(gè)正在執(zhí)行的進(jìn)程啃勉,將處理機(jī)重新分配給另一進(jìn)程忽舟。

3、中級(jí)調(diào)度(Intermediate-Level Scheduling)

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

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

三種調(diào)度的頻率和復(fù)雜度

進(jìn)程調(diào)度:運(yùn)行頻率最高,算法不能太復(fù)雜枝嘶,以免占用太多的CPU時(shí)間。分時(shí)系統(tǒng)通常10~100ms便進(jìn)行一次哑诊。

作業(yè)調(diào)度:一個(gè)作業(yè)運(yùn)行完畢退出系統(tǒng)時(shí)即觸發(fā)重新調(diào)度一個(gè)新作業(yè)入內(nèi)存群扶,周期較長(zhǎng),大約幾分鐘一次镀裤。因而也允許作業(yè)調(diào)度算法花費(fèi)較多的時(shí)間竞阐。

中級(jí)調(diào)度:運(yùn)行頻率基本上介于上述兩種調(diào)度之間。

4暑劝、調(diào)度隊(duì)列模型

?不論高級(jí)骆莹、中級(jí)或者低級(jí)調(diào)度,都涉及到進(jìn)程隊(duì)列担猛,由此形成了三類調(diào)度隊(duì)列模型幕垦。從這三種方式中體驗(yàn)調(diào)度的過程。

①僅有進(jìn)程調(diào)度的調(diào)度隊(duì)列模型

常見情況:分時(shí)系統(tǒng)傅联。

通常僅設(shè)置進(jìn)程調(diào)度先改,用戶鍵入的命令和數(shù)據(jù),都直接送入內(nèi)存蒸走。

調(diào)度對(duì)象:

處于就緒狀態(tài)的進(jìn)程仇奶。

組織形式:

棧、樹或一個(gè)無(wú)序鏈表

用何種形式取決于OS類型和采用的調(diào)度算法比驻。如:分時(shí)系統(tǒng)中把就緒進(jìn)程組織成FIFO隊(duì)列形式:按時(shí)間片輪轉(zhuǎn)方式運(yùn)行该溯。

②具有高級(jí)和低級(jí)調(diào)度的調(diào)度隊(duì)列模型

批處理系統(tǒng)中岛抄,還需要作業(yè)調(diào)度

③同時(shí)具有三級(jí)調(diào)度的調(diào)度隊(duì)列模型

引入中級(jí)調(diào)度后,進(jìn)程的狀態(tài)變化:

就緒狀態(tài):分為內(nèi)存就緒和外存就緒狈茉。

阻塞狀態(tài):分為內(nèi)存阻塞和外存阻塞弦撩。

? 中級(jí)調(diào)度使進(jìn)程在上述狀態(tài)間變化,并使數(shù)據(jù)在內(nèi)外存間互換论皆。

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

1)面向用戶的準(zhǔn)則

周轉(zhuǎn)時(shí)間短益楼;

響應(yīng)時(shí)間快:針對(duì)分時(shí)系統(tǒng)。用戶輸入一個(gè)請(qǐng)求(如擊鍵)到系統(tǒng)給出首次響應(yīng)(如屏幕顯示)的時(shí)間

均衡性:系統(tǒng)響應(yīng)時(shí)間的快慢與用戶所請(qǐng)求的復(fù)雜性相適應(yīng)点晴。

截止時(shí)間的保證:針對(duì)實(shí)時(shí)系統(tǒng)的性能指標(biāo)感凤。開始截止時(shí)間和完成截止時(shí)間。任務(wù)必須按規(guī)定的時(shí)間開始或完成粒督,調(diào)度方式和算法必須能保證該要求陪竿。

優(yōu)先權(quán)準(zhǔn)則:三大基本OS在調(diào)度算法的選擇時(shí)都可遵循⊥篱希可以使關(guān)鍵任務(wù)達(dá)到更好的指標(biāo)族跛。

2)面向系統(tǒng)的準(zhǔn)則

系統(tǒng)吞吐量高:批處理系統(tǒng)的重要指標(biāo)。

單位時(shí)間內(nèi)所完成的作業(yè)數(shù)锐墙,跟作業(yè)本身(與作業(yè)平均長(zhǎng)度密切相關(guān))和調(diào)度算法都有關(guān)系礁哄;處理機(jī)利用率好(主要針對(duì)大中型主機(jī))。各類資源的平衡利用(主要針對(duì)大中型主機(jī))溪北。

二:常用調(diào)度算法

調(diào)度的實(shí)質(zhì)就是一種資源分配桐绒。不同的系統(tǒng)和系統(tǒng)目標(biāo),通常采用不同的調(diào)度算法——適合自己的才是最好的之拨。

如批處理系統(tǒng)為照顧為數(shù)眾多的短作業(yè)茉继,應(yīng)采用短作業(yè)優(yōu)先的調(diào)度算法;

如分時(shí)系統(tǒng)為保證系統(tǒng)具有合理的響應(yīng)時(shí)間蚀乔,應(yīng)采用輪轉(zhuǎn)法進(jìn)行調(diào)度烁竭。

目前存在的多種調(diào)度算法中,有的算法適用于作業(yè)調(diào)度吉挣,有的算法適用于進(jìn)程調(diào)度派撕;但有些算法作業(yè)調(diào)度和進(jìn)程調(diào)度都可以采用。

1听想、先來(lái)先服務(wù)調(diào)度算法FCFS

(First Come First Service)

? 一種最簡(jiǎn)單的調(diào)度算法腥刹,按先后順序進(jìn)行調(diào)度。既可用于作業(yè)調(diào)度汉买,也可用于進(jìn)程調(diào)度衔峰。

按照作業(yè)提交,或進(jìn)程變?yōu)榫途w狀態(tài)的先后次序分派CPU;

新作業(yè)只有當(dāng)當(dāng)前作業(yè)或進(jìn)程執(zhí)行完或阻塞才獲得CPU運(yùn)行

被喚醒的作業(yè)或進(jìn)程不立即恢復(fù)執(zhí)行垫卤,通常等到當(dāng)前作業(yè)或進(jìn)程出讓CPU威彰。所以,默認(rèn)即是非搶占方式穴肘。

2.短作業(yè)(進(jìn)程)優(yōu)先調(diào)度算法SJF/SPF

(Shortest Job First) OR (Shortest Process First)

優(yōu)點(diǎn):通過上表可見采用SJF/SPF算法歇盼,平均周轉(zhuǎn)時(shí)間、平均帶權(quán)周轉(zhuǎn)時(shí)間都有明顯改善评抚。SJF/SPF調(diào)度算法能有效的降低作業(yè)的平均等待時(shí)間豹缀,提高系統(tǒng)吞吐量。

方式:分搶占和非搶占兩種方式慨代,上例為簡(jiǎn)單的非搶占式邢笙。

3.高優(yōu)先權(quán)優(yōu)先調(diào)度算法HPF(Highest Priority First)

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

1) 分兩種方式:

非搶占式優(yōu)先權(quán)算法;搶占式優(yōu)先權(quán)算法關(guān)鍵點(diǎn):新作業(yè)產(chǎn)生時(shí)

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

靜態(tài)優(yōu)先權(quán):創(chuàng)建進(jìn)程時(shí)確定想暗,整個(gè)運(yùn)行期間保持不變妇汗。一般利用某一范圍的一個(gè)整數(shù)來(lái)表示,又稱為優(yōu)先數(shù)说莫。

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

3)高響應(yīng)比優(yōu)先調(diào)度算法HRRN(Highest Response Raito Next)

短作業(yè)優(yōu)先算法是一種比較好的算法(相當(dāng)于根據(jù)作業(yè)長(zhǎng)度設(shè)定的靜態(tài)優(yōu)先權(quán)算法),適用于短作業(yè)較多的批處理系統(tǒng)中唬滑,其主要不足是長(zhǎng)作業(yè)的運(yùn)行得不到保證告唆。

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

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

3.基于時(shí)間片的輪轉(zhuǎn)調(diào)度算法RR (Round Robin)

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

早期分時(shí)系統(tǒng)采用的是簡(jiǎn)單的時(shí)間片輪轉(zhuǎn)法模她,進(jìn)入90年代后廣泛采用多級(jí)反饋隊(duì)列調(diào)度算法稻艰。

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

1.將系統(tǒng)中所有的就緒進(jìn)程按照FCFS原則,排成一個(gè)隊(duì)列侈净。

2.每次調(diào)度時(shí)將CPU分派給隊(duì)首進(jìn)程尊勿,讓其執(zhí)行一個(gè)時(shí)間片。時(shí)間片的長(zhǎng)度從幾個(gè)ms到幾百ms畜侦。

3.在一個(gè)時(shí)間片結(jié)束時(shí)元扔,發(fā)生時(shí)鐘中斷。

4.調(diào)度程序據(jù)此暫停當(dāng)前進(jìn)程的執(zhí)行旋膳,將其送到就緒隊(duì)列的末尾澎语,并通過上下文切換執(zhí)行當(dāng)前就緒的隊(duì)首進(jìn)程。

(2)多級(jí)反饋隊(duì)列算法FB(Multiple-level Feed Back Queue)

1)設(shè)置多個(gè)就緒隊(duì)列,各隊(duì)列有不同的優(yōu)先級(jí),優(yōu)先級(jí)從第一個(gè)隊(duì)列依次降低擅羞。

2) 賦予各隊(duì)列進(jìn)程執(zhí)行時(shí)間片大小不同, 優(yōu)先權(quán)越高尸变,時(shí)間片越短。

3)當(dāng)一個(gè)新進(jìn)程進(jìn)入內(nèi)存减俏,引發(fā)的調(diào)度過程



?三召烂、實(shí)時(shí)調(diào)度

什么是實(shí)時(shí)系統(tǒng)?

1.指系統(tǒng)能夠在限定的響應(yīng)時(shí)間內(nèi)提供所需水平的服務(wù)娃承。

2.指計(jì)算的正確性不僅取決于程序的邏輯正確性奏夫,也取決于結(jié)果產(chǎn)生的時(shí)間,如果系統(tǒng)的時(shí)間約束條件得不到滿足历筝,將會(huì)發(fā)生系統(tǒng)出錯(cuò)酗昼。

? 實(shí)時(shí)任務(wù):具有明確時(shí)間約束的計(jì)算任務(wù),有軟/硬漫谷,隨機(jī)/周期性之分仔雷。

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

1)提供必要的信息

?? 為了實(shí)現(xiàn)實(shí)時(shí)調(diào)度,系統(tǒng)應(yīng)向調(diào)度程序提供有關(guān)任務(wù)的信息舔示;

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

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

4)具有快速切換機(jī)制

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

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

1.非搶占式輪轉(zhuǎn)調(diào)度算法碟婆。常用于工業(yè)生產(chǎn)的群控系統(tǒng)中,要求不太嚴(yán)格惕稻。

2.非搶占式優(yōu)先調(diào)度算法竖共。要求相對(duì)嚴(yán)格,根據(jù)任務(wù)的優(yōu)先級(jí)安排等待位置俺祠」可用于有一定要求的實(shí)時(shí)控制系統(tǒng)中。(精心設(shè)置可獲得百ms級(jí)的響應(yīng)時(shí)間)

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

????? 較嚴(yán)格的實(shí)時(shí)系統(tǒng)中(t約為數(shù)十ms)蜘渣,選擇采用搶占式優(yōu)先權(quán)調(diào)度算法淌铐。根據(jù)搶占發(fā)生時(shí)間可分為:

1.基于時(shí)鐘:某高優(yōu)先級(jí)任務(wù)到達(dá)后并不立即搶占,而等下一個(gè)時(shí)鐘中斷時(shí)搶占蔫缸。

2.立即搶占:一旦出現(xiàn)外部中斷腿准,只要當(dāng)前任務(wù)未處于臨界區(qū),就立即搶占處理機(jī)拾碌。

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

最早截止時(shí)間優(yōu)先EDF(Earliest Deadline First)算法

根據(jù)任務(wù)的開始截止時(shí)間來(lái)確定任務(wù)的優(yōu)先級(jí)吐葱。截止時(shí)間越早,其優(yōu)先級(jí)越高校翔。

最低松弛度優(yōu)先LLF(Least Laxity First)算法

根據(jù)任務(wù)緊急(或松弛)的程度弟跑,來(lái)確定任務(wù)的優(yōu)先級(jí)。任務(wù)的緊急程度越高(松弛度值越蟹乐ⅰ)孟辑,優(yōu)先級(jí)就越高哎甲。

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

死鎖(Deadlock):

指多個(gè)進(jìn)程在運(yùn)行過程中,因爭(zhēng)奪資源而造成的一種僵局扑浸。當(dāng)進(jìn)程處于這種狀態(tài)時(shí)烧给,若無(wú)外力作用,它們都將無(wú)法再向前推進(jìn)喝噪。

饑餓(Starvation):指一個(gè)進(jìn)程無(wú)休止地等待础嫡。

產(chǎn)生死鎖的原因可歸結(jié)為如下兩點(diǎn):

1.競(jìng)爭(zhēng)資源。系統(tǒng)中供多個(gè)進(jìn)程共享的資源如打印機(jī)酝惧、公用隊(duì)列等的數(shù)目不滿足需要時(shí)榴鼎,會(huì)引起資源競(jìng)爭(zhēng)而產(chǎn)生死鎖。

可剝奪和非剝奪性資源

永久性資源和臨時(shí)性資源

2.進(jìn)程間推進(jìn)順序非法晚唇。進(jìn)程在運(yùn)行過程中巫财,請(qǐng)求和釋放資源的順序不當(dāng),同樣會(huì)導(dǎo)致死鎖哩陕。

1)推進(jìn)順序合法

2)推進(jìn)順序非法

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

①互斥條件:進(jìn)程對(duì)所分配到的資源進(jìn)行排他性使用

②請(qǐng)求和保持條件:進(jìn)程已經(jīng)保持了至少一個(gè)資源,又提出新的資源請(qǐng)求悍及,而新請(qǐng)求資源被其他進(jìn)程占有只能造成自身進(jìn)程阻塞闽瓢,但對(duì)自己已獲得的其他資源保持不放,必然影響其他進(jìn)程心赶。

③不剝奪條件:進(jìn)程已獲得的資源未使用完之前不能被剝奪扣讼,只能在使用完時(shí)由自己釋放。

④環(huán)路等待條件

4缨叫、處理死鎖的基本方法

事先預(yù)防:

①預(yù)防死鎖

設(shè)置限制條件椭符,破壞四個(gè)必要條件的一個(gè)或幾個(gè),預(yù)防發(fā)生死鎖耻姥。

較易實(shí)現(xiàn)瑰谜。限制條件的嚴(yán)格也會(huì)導(dǎo)致系統(tǒng)資源利用率和系統(tǒng)吞吐量降低来农。

②避免死鎖

不須事先限制嗜桌,破壞四個(gè)必要條件赴涵,而是在資源的動(dòng)態(tài)分配過程中,用某種方法去防止系統(tǒng)進(jìn)入不安全狀態(tài)鸽嫂,從而避免發(fā)生死鎖。

這種事先加以較弱限制的方法征讲,實(shí)現(xiàn)上有一定難度据某,但可獲較高的資源利用率及系統(tǒng)吞吐量,目前在較完善的系統(tǒng)中诗箍,常用此方法來(lái)避免發(fā)生死鎖癣籽。

事后處理:

③檢測(cè)死鎖。

允許系統(tǒng)運(yùn)行過程中發(fā)生死鎖,但通過系統(tǒng)檢測(cè)機(jī)構(gòu)可及時(shí)的檢測(cè)出筷狼,能精確確定與死鎖有關(guān)的進(jìn)程和資源瓶籽;然后采取適當(dāng)?shù)拇胧瑥南到y(tǒng)中將已發(fā)生的死鎖清除掉埂材。

④解除死鎖塑顺。

與死鎖檢測(cè)配套的一種措施。

常用的實(shí)施方法:撤銷或掛起一些進(jìn)程俏险,以便回收一些資源并將他們分配給已阻塞進(jìn)程严拒,使之轉(zhuǎn)為就緒以繼續(xù)運(yùn)行。

死鎖的檢測(cè)與解除措施竖独,有可能使系統(tǒng)獲得較好的資源利用率和吞吐量(死鎖幾率不一定很高)裤唠,但在實(shí)現(xiàn)上難度也最大。

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

①摒棄“請(qǐng)求和保持”條件:所有進(jìn)程開始運(yùn)行前莹痢,必須一次性的申請(qǐng)其在整個(gè)運(yùn)行過程所需的全部資源(AND)种蘸。算法簡(jiǎn)單、易于實(shí)現(xiàn)且很安全竞膳。但缺點(diǎn)是資源浪費(fèi)嚴(yán)重航瞭、或進(jìn)程延遲運(yùn)行。

②摒棄“不剝奪”條件:允許進(jìn)程先運(yùn)行顶猜,但當(dāng)提出的新要求不被滿足時(shí)必須釋放它已保持的所有資源沧奴,待以后需要時(shí)再重新申請(qǐng)。實(shí)現(xiàn)比較復(fù)雜且付出很大代價(jià)长窄√戏停可能會(huì)造成前功盡棄,反復(fù)申請(qǐng)和釋放等情況挠日。

③摒棄“環(huán)路等待”條件:有序設(shè)置資源:將所有資源按類型進(jìn)行線性排隊(duì)疮绷,賦予不同序號(hào)。所有進(jìn)程對(duì)資源的請(qǐng)求必須嚴(yán)格按照資源序號(hào)遞增的次序提出嚣潜,這樣在所形成的資源分配圖中冬骚,不可能會(huì)出現(xiàn)環(huán)路。

*由安全狀態(tài)向不安全狀態(tài)的轉(zhuǎn)換

只要使系統(tǒng)始終處于安全狀態(tài)懂算,便可避免發(fā)生死鎖只冻。

不是所有的不安全狀態(tài)都是死鎖狀態(tài)。

避免死鎖的算法過程(銀行家算法)




進(jìn)程Pi發(fā)出資源請(qǐng)求后计技,系統(tǒng)按下述步驟進(jìn)行檢查:

首先是兩個(gè)基本判斷:

(1)IF Requesti[j]<= Need[i,j]

? THEN 轉(zhuǎn)向步驟2喜德;

? ELSE 認(rèn)為出錯(cuò),所需資源數(shù)超過宣布的最大值(自我矛盾)

(2)IF Requesti[j]<= Available[j]

? THEN 轉(zhuǎn)向步驟3垮媒;

? ELSE 表示尚無(wú)足夠資源舍悯,Pi需等待(現(xiàn)實(shí)不滿足)

如果上面兩步判斷都通過了航棱,進(jìn)入實(shí)質(zhì)的資源分析

(3)系統(tǒng)試探著把資源分配給進(jìn)程Pi ,并修改相應(yīng)數(shù)據(jù)結(jié)構(gòu)的值(假設(shè)性操作):

????Available【j】? =

????Allocation【i,j】=

????Need【i,j】=

(4)系統(tǒng)執(zhí)行安全性算法萌衬,判斷新的資源分配狀態(tài)是否是安全的饮醇。

? 即:找一個(gè)安全序列,使這些進(jìn)程按順序執(zhí)行完)如果能夠找到秕豫,則將假設(shè)操作真正實(shí)施完成資源分配朴艰。

六.死鎖的檢測(cè)與解除

當(dāng)系統(tǒng)為進(jìn)程分配資源時(shí),若未采取任何限制性措施馁蒂,則系統(tǒng)必須提供檢測(cè)和解除死鎖的手段呵晚,為此系統(tǒng)必須:

1.保存有關(guān)資源的請(qǐng)求和分配信息;

2.提供一種算法沫屡,以利用這些信息來(lái)檢測(cè)系統(tǒng)是否已進(jìn)入死鎖狀態(tài)饵隙。

資源分配圖

系統(tǒng)死鎖可利用資源分配圖來(lái)描述。

圓圈表示進(jìn)程

方框表示一類資源沮脖,其中的一個(gè)點(diǎn)代表一個(gè)該類資源

請(qǐng)求邊由進(jìn)程指向方框中的資源

分配邊則由方框中的一個(gè)點(diǎn)即資源金矛。

死鎖檢測(cè)算法:

* 每個(gè)進(jìn)程和資源指定唯一編號(hào)

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

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

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

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

3、死鎖的解除

當(dāng)發(fā)現(xiàn)進(jìn)程死鎖時(shí)勺届,便應(yīng)立即把它們從死鎖狀態(tài)中解脫出來(lái)驶俊。常采用的方法是:

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

2.撤銷進(jìn)程饼酿。最簡(jiǎn)單的是讓全部進(jìn)程都死掉;溫和一點(diǎn)的是按照某種順序逐個(gè)撤銷進(jìn)程胚膊,直至有足夠的資源可用故俐,使死鎖狀態(tài)消除為止。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末紊婉,一起剝皮案震驚了整個(gè)濱河市药版,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌喻犁,老刑警劉巖槽片,帶你破解...
    沈念sama閱讀 217,185評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異肢础,居然都是意外死亡还栓,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門传轰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蝙云,“玉大人,你說(shuō)我怎么就攤上這事路召〔伲” “怎么了?”我有些...
    開封第一講書人閱讀 163,524評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵股淡,是天一觀的道長(zhǎng)身隐。 經(jīng)常有香客問我,道長(zhǎng)唯灵,這世上最難降的妖魔是什么贾铝? 我笑而不...
    開封第一講書人閱讀 58,339評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮埠帕,結(jié)果婚禮上垢揩,老公的妹妹穿的比我還像新娘。我一直安慰自己敛瓷,他們只是感情好叁巨,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評(píng)論 6 391
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著呐籽,像睡著了一般锋勺。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上狡蝶,一...
    開封第一講書人閱讀 51,287評(píng)論 1 301
  • 那天庶橱,我揣著相機(jī)與錄音,去河邊找鬼贪惹。 笑死苏章,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的奏瞬。 我是一名探鬼主播枫绅,決...
    沈念sama閱讀 40,130評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼丝格!你這毒婦竟也來(lái)了撑瞧?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,985評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤显蝌,失蹤者是張志新(化名)和其女友劉穎预伺,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體曼尊,經(jīng)...
    沈念sama閱讀 45,420評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡酬诀,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了骆撇。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瞒御。...
    茶點(diǎn)故事閱讀 39,779評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖神郊,靈堂內(nèi)的尸體忽然破棺而出肴裙,到底是詐尸還是另有隱情趾唱,我是刑警寧澤,帶...
    沈念sama閱讀 35,477評(píng)論 5 345
  • 正文 年R本政府宣布蜻懦,位于F島的核電站甜癞,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏宛乃。R本人自食惡果不足惜悠咱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望征炼。 院中可真熱鬧析既,春花似錦、人聲如沸谆奥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)雄右。三九已至空骚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間擂仍,已是汗流浹背囤屹。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留逢渔,地道東北人肋坚。 一個(gè)月前我還...
    沈念sama閱讀 47,876評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像肃廓,于是被迫代替她去往敵國(guó)和親智厌。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評(píng)論 2 354

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

  • 處理機(jī)調(diào)度與死鎖 處理機(jī)調(diào)度的層次 高級(jí)調(diào)度/作業(yè)調(diào)度/長(zhǎng)程調(diào)度 作用:將外存后備隊(duì)列中的作業(yè)調(diào)入內(nèi)存 對(duì)象:作業(yè)...
    顏洛濱閱讀 838評(píng)論 0 1
  • 1.處理機(jī)調(diào)度的基本概念 1)高級(jí)調(diào)度: 又稱作業(yè)調(diào)度或長(zhǎng)程調(diào)度(Long-Term Scheduling),接納...
    Pakho柏豪閱讀 448評(píng)論 0 0
  • 文|龍女 小時(shí)讀戴望舒《雨巷》诚卸,那位佳人的倩影浮現(xiàn)在腦海,久久不能揮去 撐著一把油紙傘绘迁,咿咿呀呀地走在路邊小道上合溺,...
    龍十五_閱讀 893評(píng)論 9 14
  • 這段時(shí)間一直沒有在簡(jiǎn)書更文,關(guān)注我的友友們不要嫌棄我哈缀台! 這張是前幾天畫的棠赛,在一個(gè)筆記本上面看到的小鹿,很清新美麗...
    王一泠閱讀 524評(píng)論 3 2
  • 今天真熱鼎俘,就想是六月的天,熱死人啊! 下午14:40開始下起了瓢潑大雨痰腮,不一會(huì)我們公司就變成了湖畔而芥。今天的這場(chǎng)雨解...
    執(zhí)念_04ce閱讀 124評(píng)論 0 0