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

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

處理機(jī)調(diào)度

1高級(jí)調(diào)度:又稱作業(yè)調(diào)度或長(zhǎng)程調(diào)度,接納調(diào)度(主要在早期批處理階段,處理在外存上的作業(yè))

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

2.低級(jí)調(diào)度:也稱為進(jìn)程調(diào)度、微觀調(diào)度或短程調(diào)度

最基本的一種調(diào)度,在批處理系統(tǒng)、分時(shí)系統(tǒng)、實(shí)時(shí)系統(tǒng)中都有

3.中級(jí)調(diào)度

引入目的:提高內(nèi)存利用率和系統(tǒng)吞吐量

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

1)面向用戶的準(zhǔn)則:周轉(zhuǎn)時(shí)間短、響應(yīng)時(shí)間快、均衡性、截止時(shí)間的保證、優(yōu)先權(quán)準(zhǔn)則

2)面向系統(tǒng)的準(zhǔn)則:系統(tǒng)吞吐量高、處理機(jī)利用率好、各類資源的平衡利用





二、調(diào)度算法

1.先來先服務(wù)調(diào)度算法FCFS(非搶占方式)

按照作業(yè)提交。或進(jìn)程變?yōu)榫途w狀態(tài)的先后次序分派CPU,新作業(yè)只有當(dāng)當(dāng)前作業(yè)或進(jìn)程執(zhí)行完或阻塞才獲得CPU運(yùn)行

不利于段作業(yè)(進(jìn)程)

不足:段作業(yè)C的帶權(quán)周轉(zhuǎn)時(shí)間高達(dá)100長(zhǎng)作業(yè)D的帶權(quán)周轉(zhuǎn)時(shí)間僅為1.99;有利于CPU繁忙型的作業(yè),而不利于I/o繁忙的作業(yè)

???????? 2.短作業(yè)(進(jìn)程)有限調(diào)度算法SJF/SPF

此算法能有效的降低作業(yè)的平均等待時(shí)間,提高系統(tǒng)吞吐量

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

不足:1.對(duì)短作業(yè)有利,但同時(shí)造成了對(duì)長(zhǎng)作業(yè)的不利。2.由于作業(yè)(進(jìn)程)的長(zhǎng)短含主觀因素,不一定能真正做到短作業(yè)優(yōu)先。3.未考慮作業(yè)的緊迫程度,因而不能保證緊迫性作業(yè)的及時(shí)處理。

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

1)分非搶占式和搶占式優(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)行期間保持不變

動(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

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

1.同時(shí)到達(dá)的作業(yè)優(yōu)先權(quán)相同(若等待時(shí)間t相同,利于短作業(yè);長(zhǎng)作業(yè)的優(yōu)先級(jí)隨等待時(shí)間的增加而提高)

2.實(shí)行時(shí)間相同的作業(yè),優(yōu)先權(quán)的高低決定于其等待時(shí)間的長(zhǎng)短,也就是先來先服務(wù)

什么時(shí)候計(jì)算各進(jìn)程的響應(yīng)比優(yōu)先權(quán)?

調(diào)度選擇時(shí):作業(yè)完成時(shí)、新作業(yè)完成時(shí)(搶占、非搶占)、時(shí)間片完成時(shí)、進(jìn)程阻塞時(shí)

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

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


時(shí)間片長(zhǎng)度???????????????? 過長(zhǎng):FCFS??? 過短:頻繁切換

(2)多級(jí)反饋隊(duì)列算法FB

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

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

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

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

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

基本條件:

1)提供必要的信息

就緒時(shí)間、開始截止時(shí)間、完成截止時(shí)間、處理時(shí)間、資源要求、優(yōu)先級(jí)

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

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

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

搶占式調(diào)度算法:1、基于時(shí)鐘:某高優(yōu)先級(jí)任務(wù)到達(dá)后并不立即搶占,,而等下一個(gè)時(shí)鐘中斷時(shí)搶占。2、立即搶占:一旦出現(xiàn)外部中斷,只要當(dāng)前任務(wù)未處于臨界區(qū),就立即搶占處理機(jī)。

最早截止時(shí)間優(yōu)先EDF、最低松弛度優(yōu)先LLF(主要用于搶占調(diào)度方式中)



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

多道程序系統(tǒng)借助并發(fā)執(zhí)行改善資源利用率,提高系統(tǒng)吞吐量,但可能發(fā)生一種危險(xiǎn)——死鎖(指多個(gè)進(jìn)程在運(yùn)行過程中,因爭(zhēng)奪資源而造成的一種僵局。當(dāng)進(jìn)程處于這種狀態(tài)時(shí),若無外力作用,它們都將無法再向前推進(jìn))

饑餓:指一個(gè)進(jìn)程無休止地等待

產(chǎn)生死鎖的原因:1.競(jìng)爭(zhēng)資源???? 2.進(jìn)程間推進(jìn)程序非法(請(qǐng)求和釋放資源的順序不當(dāng))

產(chǎn)生死鎖的必要條件:互斥條件、請(qǐng)求和保持條件、不剝奪條件、環(huán)路等待條件

死鎖避免屬于動(dòng)態(tài)策略

預(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)路等待”條件:將所有資源按類型進(jìn)行線性排隊(duì),賦予不同序號(hào)。所有進(jìn)程對(duì)資源的請(qǐng)求必須嚴(yán)格按照資源序號(hào)遞增的次序提出,這樣在所形成的資源分配圖中,不可能會(huì)出現(xiàn)環(huán)路。


2.避免死鎖

安全狀態(tài):沒有死鎖;不安全狀態(tài):可能會(huì)產(chǎn)生死鎖

安全序列:只要系統(tǒng)按此進(jìn)程列分配資源,就能使每個(gè)進(jìn)程都順利完成。

3.銀行家算法避免死鎖



死鎖的解除:1.剝奪進(jìn)程。2.撤銷進(jìn)程

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,908評(píng)論 6 541
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,324評(píng)論 3 429
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,018評(píng)論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,675評(píng)論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,417評(píng)論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,783評(píng)論 1 329
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,779評(píng)論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,960評(píng)論 0 290
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,522評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,267評(píng)論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,471評(píng)論 1 374
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,009評(píng)論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,698評(píng)論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,099評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,386評(píng)論 1 294
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,204評(píng)論 3 398
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,436評(píng)論 2 378

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