操作系統(tǒng)第三章-處理器管理_第1頁
操作系統(tǒng)第三章-處理器管理_第2頁
操作系統(tǒng)第三章-處理器管理_第3頁
操作系統(tǒng)第三章-處理器管理_第4頁
操作系統(tǒng)第三章-處理器管理_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上 第三章本章從多道程序設(shè)計(jì)出發(fā),引入了進(jìn)程的概念,進(jìn)程的基本狀態(tài)和進(jìn)程隊(duì)列等基本內(nèi)容,同時(shí)對(duì)中斷系統(tǒng)進(jìn)行了詳細(xì)介紹;在此基礎(chǔ)上,對(duì)進(jìn)程調(diào)度策略進(jìn)行了詳盡的敘述.本章是本節(jié)中比較重要的章節(jié),由于進(jìn)程的概念十分重要又相當(dāng)抽象,讀者可以結(jié)合下面的講解深入理解本章的內(nèi)容 第1節(jié) 多道程序設(shè)計(jì)一,重要知識(shí)點(diǎn) (要求到達(dá)”領(lǐng)會(huì)”層次 )(1) 什么是多道程序設(shè)計(jì)(2)多道程序設(shè)計(jì)利用了系統(tǒng)與外圍設(shè)備的進(jìn)行工作能力,從而提高系統(tǒng)的工作效率(3)多到程序設(shè)計(jì)對(duì)算題量和算題時(shí)間的影響二,知識(shí)點(diǎn)剖析(學(xué)習(xí)重點(diǎn))(1)什么是多到程序設(shè)計(jì) 讓多個(gè)計(jì)算問題同時(shí)裝入一個(gè)計(jì)算機(jī)系統(tǒng)的主存儲(chǔ)器并行執(zhí)

2、行,這種程序設(shè)計(jì)技術(shù)成為“多道程序設(shè)計(jì)”,這種計(jì)算機(jī)系統(tǒng)稱為“多道程序設(shè)計(jì)系統(tǒng)”或簡稱“多道系統(tǒng)”()多道程序設(shè)計(jì)利用了系統(tǒng)與外圍設(shè)備的并行工作能力,從而提高了系統(tǒng)的工作效率 “單道”系統(tǒng)一次只允許一個(gè)作業(yè)裝入計(jì)算機(jī)的主存儲(chǔ)器運(yùn)行,在執(zhí)行時(shí)不能使輸入/輸出設(shè)備和處理器管理同時(shí)工作,也無法充分利用CPU現(xiàn)代計(jì)算機(jī)的處理器同外圍設(shè)備之間,以及外圍設(shè)備之間都具有并行工作的能力,采用多道程序設(shè)計(jì)技術(shù)后,能提高整個(gè)系統(tǒng)的效率.這表現(xiàn)在以下的3個(gè)方面:*提高了處理器的利用率*充分利用了外圍設(shè)備資源*發(fā)揮了處理器同外圍設(shè)備之間,以及外圍設(shè)備相互間的并行工作多道程序設(shè)計(jì)的實(shí)質(zhì)就是充分利用硬件的并行工作能力.所

3、以,從總體上說,采用多道程序設(shè)計(jì)技術(shù)可有效地提高系統(tǒng)中的資源的利用率,增加單位時(shí)間內(nèi)的算題量,從而提高系統(tǒng)的吞吐率(3) 多道程序設(shè)計(jì)對(duì)算題量和算題時(shí)間的影響 *可能延長某些程序的執(zhí)行時(shí)間.多道程序設(shè)計(jì)能提高系統(tǒng)的吞吐量,但可能會(huì)延長某些程序的執(zhí)行時(shí)間. *并行工作道數(shù)跟系統(tǒng)效率不成正比.從表面上看,只要增加并行工作道術(shù)就可以提高效率,但實(shí)際上并行工作的道數(shù)跟系統(tǒng)的效率不成正比的,一是因?yàn)橹鞔婵臻g的大小限制了可同時(shí)裝入的程序數(shù)量;二是因?yàn)橥鈬O(shè)備的數(shù)量是一個(gè)制約因素;三是因?yàn)槎鄠€(gè)程序同時(shí)要求使用同一資源的情況會(huì)經(jīng)常發(fā)生.因此,并行工作道數(shù)的確定要根據(jù)系統(tǒng)配置的資源和用戶對(duì)資源的要求進(jìn)行綜合考慮

4、第2節(jié) 進(jìn)程概念 一,重要知識(shí)點(diǎn)1,進(jìn)程(要求達(dá)到”領(lǐng)會(huì)”層次)(1) 進(jìn)程的定義(2) 進(jìn)程是由程序,數(shù)據(jù)集和進(jìn)程控制塊三部分組成(3)進(jìn)程與程序的區(qū)別及關(guān)系2進(jìn)程狀態(tài)(要求達(dá)到”領(lǐng)會(huì)”層次)(1)進(jìn)程的三種基本狀態(tài).(2) 進(jìn)程的狀態(tài)變化.3進(jìn)程控制塊(要求達(dá)到”領(lǐng)會(huì)”層次)(1) 進(jìn)程控制塊的基本內(nèi)容。(2)進(jìn)程控制塊的作用4 進(jìn)程隊(duì)列(1)進(jìn)程隊(duì)列的鏈接(2)進(jìn)程基本隊(duì)列-就緒隊(duì)列,等待隊(duì)列(3)進(jìn)程的入隊(duì)和出隊(duì)5可再入程序(1)什么是可再入程序()可載入程序的性質(zhì)二,知識(shí)點(diǎn)剖析(學(xué)習(xí)重點(diǎn))(1)進(jìn)程(領(lǐng)會(huì))一個(gè)程序在一個(gè)數(shù)據(jù)集上的一次執(zhí)行都成為一個(gè)“進(jìn)程”(2)進(jìn)程是由程序,數(shù)據(jù)集和

5、進(jìn)程控制塊三部分組成()進(jìn)程和程序的區(qū)別及關(guān)系。程序是具有特定特定功能的一組指令(或一組語句)的集合,它指出了處理器執(zhí)行的操作步驟。程序是靜止的,進(jìn)程是動(dòng)態(tài)的。進(jìn)程包括程序和程序處理的對(duì)象(數(shù)據(jù)集)進(jìn)程能得程序處理的結(jié)果。進(jìn)程和程序并非一一對(duì)應(yīng),一個(gè)程序運(yùn)行在不同的數(shù)據(jù)集上就構(gòu)成了不同的進(jìn)程。一個(gè)進(jìn)程可以執(zhí)行一個(gè)或幾個(gè)程序;同一個(gè)程序可能由幾個(gè)進(jìn)程同時(shí)執(zhí)行。程序可以作為軟件資源長期保存。而進(jìn)程是程序的一次執(zhí)行過程。是暫時(shí)的,只存在于生命周期中。通常把“進(jìn)程”分成“系統(tǒng)進(jìn)程”和“用戶進(jìn)程”兩大類,把完成操作系統(tǒng)功能的進(jìn)程成為系統(tǒng)進(jìn)程,而完成用戶功能的進(jìn)程則稱為用戶進(jìn)程。2進(jìn)程狀態(tài)(要求達(dá)到“領(lǐng)會(huì)

6、”層次)()進(jìn)程的三種基本狀態(tài)通常,根據(jù)進(jìn)程在執(zhí)行過程中的不同時(shí)刻的狀態(tài),可歸納為三種基本狀態(tài)*等狀態(tài):等待某個(gè)事件的完成.*就緒態(tài):等待系統(tǒng)分配處理器以便運(yùn)行*運(yùn)行態(tài):占有處理器正在運(yùn)行()進(jìn)程的狀態(tài)變化。進(jìn)程在執(zhí)行中狀態(tài)會(huì)不斷地改變,每個(gè)進(jìn)程在任何時(shí)刻總是出于上述種基本狀態(tài)中的某一種狀態(tài)*運(yùn)行態(tài)變成等待態(tài),由于等待外設(shè)傳輸信息,等待主存等資源分配或等待人工干預(yù)而引起的*等待態(tài)變成就緒態(tài):等待的條件已滿足,只需分配到處理器后就能運(yùn)行。*運(yùn)行態(tài)變成就緒態(tài):時(shí)間片用完,或有更高的優(yōu)先級(jí)的進(jìn)程來搶占處理器等,由于中斷而退出處理器的進(jìn)程可能變成就緒態(tài)(有時(shí)會(huì)變成等待態(tài))。*就緒態(tài)變成運(yùn)行態(tài):系統(tǒng)按某

7、種策略選中就緒隊(duì)列的一個(gè)進(jìn)程占用處理器,此時(shí),被選中的進(jìn)程就變成了運(yùn)行器3.進(jìn)程控制塊(要求達(dá)到“領(lǐng)會(huì)”層次)(1)進(jìn)程控制塊的基本內(nèi)容。通常,進(jìn)城控制塊包含類信息*標(biāo)志信息,含惟一的進(jìn)程名*說明信息,包括進(jìn)程狀態(tài),等待原因,進(jìn)城程序的存放位置和進(jìn)程數(shù)據(jù)的存放位置*現(xiàn)場(chǎng)信息,包括通用,控制和程序狀態(tài)字寄存器的內(nèi)容*管理信息,存放程序優(yōu)先數(shù)和隊(duì)列指針(2)進(jìn)程控制塊的作用進(jìn)程控制塊是進(jìn)程存在的標(biāo)志,它記錄了進(jìn)程從創(chuàng)建到消亡的動(dòng)態(tài)變化情況,進(jìn)城隊(duì)列實(shí)際上是進(jìn)程控制塊的鏈接。操作系統(tǒng)利用進(jìn)程控制塊對(duì)進(jìn)程進(jìn)行控制和管理。進(jìn)城控制(要求達(dá)到“領(lǐng)會(huì)”層次)()進(jìn)城隊(duì)列的鏈接進(jìn)程隊(duì)列的鏈接方式有兩種:單向鏈

8、接和雙向鏈接。注意進(jìn)程入隊(duì)和出隊(duì)鏈接的變化()進(jìn)程基本隊(duì)列就緒隊(duì)列,等待隊(duì)列。*就緒隊(duì)列:由若干就緒進(jìn)程按一定次序連接起來的隊(duì)列*等待隊(duì)列:等待資源或等待某些事件的進(jìn)程排成的隊(duì)列(3)進(jìn)程的入隊(duì)和和出隊(duì) 一個(gè)進(jìn)程的進(jìn)入指定的隊(duì)列稱為入隊(duì)。一個(gè)進(jìn)程從所在的隊(duì)列退出稱為出隊(duì)系統(tǒng)中負(fù)責(zé)進(jìn)程入隊(duì)和出隊(duì)的工作稱為隊(duì)列管理第3節(jié) 中斷系統(tǒng) (1)中斷的定義 當(dāng)一個(gè)進(jìn)程占用處理器運(yùn)行時(shí),由于自身或外界的原因(因出現(xiàn)了某種事件)使運(yùn)行被打斷,此時(shí),操作系統(tǒng)會(huì)處理出現(xiàn)的時(shí)間,然后在適當(dāng)?shù)臅r(shí)候繼續(xù)處理被打斷的進(jìn)程,這個(gè)過程稱為“中斷”(2)中斷的種類從中斷事件的性質(zhì)出發(fā),中斷事件分為兩類:1強(qiáng)迫性中斷事件。它包括

9、硬件故障中斷,程序性中斷,外部中斷和輸入輸出中斷 2自愿性中斷時(shí)間。它是由正在運(yùn)行的進(jìn)程執(zhí)行一條訪管指令用于請(qǐng)求系統(tǒng)調(diào)用而引起的中斷,這種中斷也稱“訪管中斷”自愿性中斷的斷點(diǎn)是確定的,而強(qiáng)迫性中斷的斷電會(huì)出現(xiàn)在任何位置(3)中斷的響應(yīng)和處理處理器每執(zhí)行一條指令后,硬件的中斷裝置將立即檢查有無中斷事件發(fā)生。若有中斷事件發(fā)生,則暫?,F(xiàn)行進(jìn)程的執(zhí)行,而讓操作系統(tǒng)的中斷處理程序占用處理器,這一過程稱為”中斷響應(yīng)”在中斷響應(yīng)過程中,中斷裝置要做以下3項(xiàng)工作:*檢查是否有中斷事件發(fā)生*若有中斷發(fā)生,保護(hù)斷電信息*啟動(dòng)操作系統(tǒng)的中斷處理程序操作系統(tǒng)的中斷處理程序?qū)χ袛嗍录M(jìn)行處理時(shí),大致要做3方面的工作:*

10、保護(hù)被中斷進(jìn)程的現(xiàn)場(chǎng)信息,把中斷時(shí)的通用,控制寄存器內(nèi)容及舊PSW保存到被中斷進(jìn)程的進(jìn)程控制塊中*分析中斷原因。根據(jù)舊PSW的中斷碼可知發(fā)生中斷的具體原因*處理發(fā)生的中斷時(shí)間。一般制作一些簡單處理,多數(shù)情況下把具體的處理交給適當(dāng)?shù)睦谐绦蚰K去做2 中斷優(yōu)先集合中斷屏蔽(要求達(dá)到“識(shí)記”層次)(1)中斷優(yōu)先集時(shí)硬件設(shè)計(jì)時(shí)確定的。中斷裝置按預(yù)定的順序來響應(yīng)同時(shí)出現(xiàn)的中斷事件,這個(gè)預(yù)定的的順序稱為“中斷優(yōu)先級(jí)”。中斷優(yōu)先級(jí)是按中斷事件的重要性和緊迫程序來確定的,是在硬件設(shè)計(jì)時(shí)固定的。一般情況下,優(yōu)先級(jí)的高低順序依次為:硬件故障中斷,自愿性中斷,程序性中斷,外部中斷和輸入輸出中斷()中段的嵌套處理。

11、當(dāng)處理器正在處理一個(gè)中斷時(shí),又發(fā)生了另一個(gè)中斷,此時(shí)處理器對(duì)這一新的中斷的處理就稱為嵌套處理()中段屏蔽的作用為了防止優(yōu)先級(jí)低的中斷事件處理打斷優(yōu)先級(jí)高的中斷事件的處理,以及避免復(fù)雜的中斷引起多重嵌套處理,計(jì)算機(jī)系統(tǒng)采用了中斷屏蔽技術(shù),以程序狀態(tài)字中的中斷屏幕標(biāo)志位的設(shè)置封鎖和響應(yīng)時(shí)間的響應(yīng)通常:中斷處理程序只屏蔽比自己級(jí)別低的事件,并且不能屏蔽自愿性中斷第節(jié)進(jìn)程調(diào)度一,重要知識(shí)點(diǎn)(要求達(dá)到“識(shí)記”層次)()進(jìn)程調(diào)度的職責(zé)()進(jìn)程調(diào)度算法的選擇()進(jìn)城調(diào)度的常用算法:先來先服務(wù),優(yōu)先數(shù)法,輪轉(zhuǎn)法,分級(jí)調(diào)度()進(jìn)程的切換二,知識(shí)點(diǎn)剖析(學(xué)習(xí)重點(diǎn))(1)進(jìn)程調(diào)度的職責(zé)進(jìn)程調(diào)度的職責(zé)就是按選定的進(jìn)程

12、調(diào)度算法從就緒隊(duì)列中選擇一個(gè)進(jìn)程,讓它占用處理器。()進(jìn)程調(diào)度算法的選擇選擇進(jìn)程調(diào)度算法的幾個(gè)準(zhǔn)則如下:*提高處理器利用率*增大吞吐量*減少等待時(shí)間*縮短響應(yīng)時(shí)間()進(jìn)程調(diào)度的常用算法:上面提及的種*先來先服務(wù):該算法按進(jìn)程進(jìn)入就緒隊(duì)列的先后次序選擇可以占用處理器的進(jìn)程*優(yōu)先數(shù)調(diào)度算法。對(duì)每個(gè)進(jìn)程都確定一個(gè)優(yōu)先數(shù),該算法總是讓優(yōu)先數(shù)最高的進(jìn)程縣使用處理器,然后再對(duì)具有相同優(yōu)先數(shù)的進(jìn)程按先來先服務(wù)的次序分配處理器。系統(tǒng)常以任務(wù)的緊迫性和系統(tǒng)效率等因素確定進(jìn)程的優(yōu)先數(shù)。進(jìn)程的優(yōu)先數(shù)是固定的,也可以隨進(jìn)程的執(zhí)行過程動(dòng)態(tài)變化。一個(gè)高優(yōu)先數(shù)的進(jìn)程占用處理器后,系統(tǒng)處理該進(jìn)程的方法有兩種方法,一種是“非搶

13、占式”,另一種是“可搶占式”。前者使進(jìn)程占用處理器后一直執(zhí)行到進(jìn)程結(jié)束,除非本身主動(dòng)讓出處理器。后者則是任何時(shí)刻總是嚴(yán)格執(zhí)行讓優(yōu)先數(shù)高的進(jìn)程在處理器上運(yùn)行。 時(shí)間片輪轉(zhuǎn)調(diào)度法。 把那規(guī)定進(jìn)程一次使用處理器的最長時(shí)間稱為時(shí)間片。時(shí)間片輪轉(zhuǎn)調(diào)度算法讓就緒進(jìn)程按就緒的先后次序排成隊(duì)列,每次總選擇該隊(duì)列的第一個(gè)進(jìn)程占用處理器,但規(guī)定只能使用一個(gè)時(shí)間片,如該進(jìn)程尚未完成,則排入隊(duì)尾,等待下一個(gè)供它使用的時(shí)間片。各個(gè)進(jìn)程就這樣輪轉(zhuǎn)運(yùn)行。時(shí)間片輪轉(zhuǎn)算法經(jīng)常用于分時(shí)操作系統(tǒng)分級(jí)調(diào)度算法。由系統(tǒng)設(shè)置多個(gè)就緒隊(duì)列,每個(gè)就緒隊(duì)列中的進(jìn)程按時(shí)間片輪轉(zhuǎn)法占用處理器,這就是分級(jí)調(diào)度算法()進(jìn)程的切換進(jìn)程調(diào)度將從就緒隊(duì)列中

14、另選一個(gè)進(jìn)程占用處理器。使一個(gè)進(jìn)程讓出處理器,有另一個(gè)進(jìn)程占用處理器的過程稱為“進(jìn)程切換”若一個(gè)進(jìn)程從運(yùn)行狀態(tài)變成等待狀態(tài),或完成工作后被撤銷,則必定會(huì)發(fā)生進(jìn)程切換,若一個(gè)進(jìn)程從運(yùn)行狀態(tài)或等待狀態(tài)變成就緒狀態(tài),則不一定發(fā)生進(jìn)程切換。各知識(shí)點(diǎn)間的相互聯(lián)系 為了發(fā)揮計(jì)算機(jī)處理器與外圍設(shè)備的并行工作能力,可采用多道程序設(shè)計(jì)技術(shù).為此,需引入進(jìn)程的概念,以實(shí)現(xiàn)并發(fā).每個(gè)進(jìn)程由其進(jìn)程控制塊PCB作為唯一標(biāo)示,每個(gè)進(jìn)程在消亡之前有3種狀態(tài).等待CPU或其他事件的進(jìn)程可分別放于相應(yīng)的進(jìn)程隊(duì)列中,進(jìn)程狀態(tài)的切換由操作系統(tǒng)的中斷負(fù)責(zé)處理,中斷時(shí)操作系統(tǒng)賴以活動(dòng)的基礎(chǔ),是操作系統(tǒng)內(nèi)核的作基本功能.在多道程序設(shè)計(jì)的

15、系統(tǒng)中,決定將就緒隊(duì)伍中的哪個(gè)進(jìn)程投入運(yùn)行,由進(jìn)程調(diào)度程序負(fù)責(zé).另外,多道程序設(shè)計(jì)系統(tǒng)必須做好存儲(chǔ)保護(hù),程序浮動(dòng)及資源分配,管理工作.多道程序設(shè)計(jì)系統(tǒng)利用,發(fā)揮了處理器與外部設(shè)備之間以及外部設(shè)備之間的并行工作能力.但是,多道程序設(shè)計(jì)可能會(huì)延長程序的執(zhí)行時(shí)間.要特別注意的是,并行工作的道數(shù)與系統(tǒng)效率不成正比中斷系統(tǒng)在實(shí)現(xiàn)進(jìn)程并發(fā)執(zhí)行,維護(hù)系統(tǒng)正常工作,進(jìn)行故障處理及滿足實(shí)時(shí)處理要求等方面起著重要的作用.由硬件的中斷裝置發(fā)現(xiàn)并響應(yīng)中斷,操作系統(tǒng)的中斷處理程序隊(duì)出線的中斷時(shí)間進(jìn)行處理.通過一次中斷后可能引起若干進(jìn)程的狀態(tài)變化,因此,中斷服務(wù)完成后應(yīng)進(jìn)程調(diào)度程序決定哪個(gè)進(jìn)程占用CPU難點(diǎn)分析1 簡述多

16、道程序設(shè)計(jì)技術(shù)對(duì)算體量和算題時(shí)間的影響采用多道程序設(shè)計(jì)技術(shù)能提高系統(tǒng)的利用率,充分利用外部設(shè)備資源,發(fā)揮處理器與外圍設(shè)備以及外圍設(shè)備之間的并行工作能力,總體上提高了整個(gè)系統(tǒng)資源的利用率,增加了單位時(shí)間內(nèi)的算體量,從而提高了吞吐量,但應(yīng)注意以下兩個(gè)問題;(1) 可能延長程序的執(zhí)行時(shí)間(2) 并行的道數(shù)與系統(tǒng)效率不成正比 2 為什么要引入“進(jìn)程”?引入“進(jìn)程”有什么利弊?引入“進(jìn)程”的目的是基于多道程序和分時(shí)系統(tǒng)的需要,只有為多道程序建立了進(jìn)程以后,才能實(shí)現(xiàn)并發(fā),以改善資源利用率和提高系統(tǒng)的吞吐量 利:()提高了資源的利用率。(2)正確描述程序的執(zhí)行情況。 弊:(1)空間開銷。 建立PCB,進(jìn)程管理等要占用主存空間。 ()時(shí)間開銷。為了協(xié)調(diào)各進(jìn)程的運(yùn)行,如進(jìn)程切換,調(diào)度等均需要時(shí)間。3多道程序設(shè)計(jì)技術(shù)能提高工作效率的原因多道程序設(shè)計(jì)技術(shù)能提高工作效率的原因體現(xiàn)在以下方面:() 減少了的空閑時(shí)間,提高了處理器的利用率() 合理安排程序,充分利用外圍設(shè)備資源() 發(fā)揮了外圍設(shè)備與以及外圍設(shè)備之間的并行工作能力。4在一個(gè)單處理器的多道程序設(shè)計(jì)系統(tǒng)中,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論