第二章處理機(jī)管理_第1頁(yè)
第二章處理機(jī)管理_第2頁(yè)
第二章處理機(jī)管理_第3頁(yè)
第二章處理機(jī)管理_第4頁(yè)
第二章處理機(jī)管理_第5頁(yè)
已閱讀5頁(yè),還剩58頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第二章處理機(jī)管理

豐耍內(nèi)容

:?中斷及其功能

:?多道程序設(shè)計(jì)

:?進(jìn)程

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

學(xué)習(xí)目標(biāo)

:?了解中斷的產(chǎn)生和功能

?理解多道程序設(shè)計(jì)和進(jìn)程概念

,掌握處理機(jī)調(diào)度幾種算法

?領(lǐng)會(huì)進(jìn)程的幾種狀態(tài)轉(zhuǎn)換

第一節(jié)中斷

??中斷機(jī)構(gòu)對(duì)于操作系統(tǒng)的實(shí)現(xiàn)非常重要。它

:是現(xiàn)代計(jì)算機(jī)系統(tǒng)中基本設(shè)施之一,在計(jì)算

?機(jī)系統(tǒng)中起著通信聯(lián)絡(luò)作用,協(xié)調(diào)計(jì)算機(jī)系

Z統(tǒng)對(duì)各種異步事件(無(wú)一定時(shí)序關(guān)系的隨機(jī)

■事件)的響應(yīng)與處理。

:?中斷是指CPU對(duì)系統(tǒng)中發(fā)生的異步事件的響應(yīng)

Z或處理。

:?異步事件是指無(wú)一定時(shí)序關(guān)系而隨機(jī)發(fā)生的

■事件。

:?中斷點(diǎn),讀書(shū),書(shū)簽

:中斷在操作系統(tǒng)中的作用與地位

??中斷能強(qiáng)迫處理機(jī)去執(zhí)行各中斷處理程序

中斷具有以下作用

z-能充分發(fā)揮處理機(jī)的使用效率

2-提高系統(tǒng)的實(shí)時(shí)處理能力

:?中斷是CPU和外部設(shè)備并行工作的基礎(chǔ)之

:一,是多道程序并發(fā)執(zhí)行的推動(dòng)力,也是

?整個(gè)操作系統(tǒng)的推動(dòng)力一操作系統(tǒng)是由中

Z斷驅(qū)動(dòng)的。

-

中斷的功能

:?發(fā)現(xiàn)中斷源,提出中斷請(qǐng)求

:-引起中斷的事件稱為“中斷源”。

Z?保護(hù)現(xiàn)場(chǎng),使得中斷處理結(jié)束后能繼續(xù)運(yùn)行原

:程序。

X-啟動(dòng)并運(yùn)行處理中斷事件的程序

z-對(duì)中斷進(jìn)行處理的程序稱為“中斷處理程序”。

Z?中斷類型

X-硬件故障中斷、程序中斷、外部中斷、

--輸入'輸出中斷、訪管中斷

中斷處理

?中斷概念:CPU正在執(zhí)行某程序時(shí),發(fā)生了某彳

異步事件,此時(shí)CPU打斷正在執(zhí)行的程序,轉(zhuǎn)去

處理該異步事件,這就是所謂中斷。

?處理完異步事件(執(zhí)行一段處理該事件的有關(guān)市

序),被打斷的程序可以繼續(xù)執(zhí)行。

?中斷源向CPU發(fā)出的請(qǐng)求處理信號(hào)稱為中斷請(qǐng)求;

?發(fā)生中斷時(shí)現(xiàn)行程序的暫停點(diǎn)稱為斷點(diǎn);

?CPU暫?,F(xiàn)行程序而轉(zhuǎn)去響應(yīng)中斷請(qǐng)求的過(guò)程稱

為中斷響應(yīng);I

中斷處理

:?CPU執(zhí)行相關(guān)的中斷處理程序稱為中斷處理;

:?CPU處理完中斷事件返回?cái)帱c(diǎn)的過(guò)程稱為中斷

Z返回。

Z?例如:某人(相當(dāng)于CPU)正在看書(shū),此時(shí)電

Z話(相當(dāng)于中斷源)鈴響了(異步事件),

Z(發(fā)出了中斷請(qǐng)求),于是標(biāo)記正在看的地

一方(斷點(diǎn));再去接電話(中斷響應(yīng));電

:話接聽(tīng)(中斷處理)完畢,掛機(jī),然后接著

:往下看書(shū)(中斷返回)。

??在單CPU的計(jì)算機(jī)系統(tǒng)中,整個(gè)系統(tǒng)設(shè)置一個(gè)

:寄存器,即“程序狀態(tài)字寄存器",用來(lái)存

?放當(dāng)前執(zhí)行程序的PSW。CPU按程序狀態(tài)字

:寄存器中的這令地址和設(shè)置的其他狀態(tài)來(lái)控

x制某個(gè)程序的執(zhí)行。

:?當(dāng)操作系統(tǒng)調(diào)度到某個(gè)程序運(yùn)行時(shí),必須把

Z該程序的PSW送入程序狀態(tài)字寄存器,這時(shí)

:CPU就控制該程序的運(yùn)行。

:-同樣,當(dāng)某個(gè)程序暫時(shí)讓出CPU時(shí),也必須把

:它的PSW保存好,一旦它能繼續(xù)執(zhí)行時(shí)又可

?把它的PSW送入程序狀態(tài)字寄存器中,再繼

Z續(xù)執(zhí)行。

E中斷響應(yīng)

:-中斷響應(yīng)即解決發(fā)現(xiàn)中斷和接受中斷請(qǐng)求的

Z問(wèn)題。具體工作包括交換PSW和當(dāng)有多個(gè)中

:斷請(qǐng)求同時(shí)發(fā)生時(shí),響應(yīng)中斷優(yōu)先級(jí)最高的

■由航請(qǐng)求。

:-中斷響應(yīng)通常發(fā)生在CPU執(zhí)行完一條指令后,

Z中斷機(jī)構(gòu)立即檢測(cè)有無(wú)中斷事件發(fā)生;

若有,則暫?,F(xiàn)行程序(當(dāng)前PSW)的運(yùn)行,

Z并將該程序的PSW保存起來(lái)(舊PSW),將中

Z斷處理程序的PSW(新PSW)裝入程序狀態(tài)

■字寄存器;

Z-然后由中斷處理程序獨(dú)占CPU,這就是中斷響

T應(yīng)。

中斷處理和中斷返回

Z-通常由硬件實(shí)現(xiàn)中斷請(qǐng)求和中斷響應(yīng);由軟

:件完成中斷處理和中斷返回。

:?中斷處理就是執(zhí)行中斷處理程序。中斷處理

?程序的人口地址被存放在程序狀態(tài)字寄存器

:中。不同的中斷類型有不同的處理原則,但

一都有保護(hù)現(xiàn)場(chǎng)、分析中斷事件性質(zhì)等原則性

z的處理,具體的中斷處理由中斷處理程序來(lái)

■完成。

??中斷返回即CPU轉(zhuǎn)去執(zhí)行前面被中斷的程序,

Z通常通過(guò)執(zhí)行特權(quán)指令,如iRet,將老PSW單

?元的內(nèi)容送入現(xiàn)行程序狀態(tài)字寄存器中。

E第二節(jié)多道程序設(shè)計(jì)

:?多道程序設(shè)計(jì)的提出

CPU和外設(shè)共同工作

資源的合理使用

E程序的順序執(zhí)行

:?計(jì)算機(jī)上運(yùn)行的是程序,而程序是指令的集

:合,每一個(gè)程序完成預(yù)先規(guī)定的任務(wù)和操作。

:?早期的計(jì)算機(jī)系統(tǒng)基本上都是單處理器系統(tǒng),

:即系統(tǒng)中只有一個(gè)處理器(CPU),只有單道

Z程序的執(zhí)行功能。也就是說(shuō),每一次只允許

■一道程序運(yùn)行,在這個(gè)程序運(yùn)行時(shí),它將獨(dú)

:占整個(gè)計(jì)算機(jī)系統(tǒng)的資源,而且系統(tǒng)按照程

:序步驟順序地執(zhí)行,在該程序執(zhí)行完之前,

Z其他程序只能等待,從而不存在共享資源的

?問(wèn)題。這種程序的執(zhí)行方式,稱為順序執(zhí)行。

程序的順序執(zhí)行特點(diǎn)

:?1)順序性(不同程序之間是按一定順序執(zhí)行的)|

Z-2)封閉性(程序在運(yùn)行時(shí)獨(dú)占系統(tǒng)資源,只有程

:序本身能改變系統(tǒng)資源狀態(tài)(除初始狀態(tài)外))1

二?3)無(wú)關(guān)性(即確定性,程序執(zhí)行結(jié)果與其執(zhí)行力

Z度無(wú)關(guān))。[

4)可再現(xiàn)性(程序運(yùn)行不受外界因素影響,只嘲

:初始條件相同,運(yùn)行結(jié)果也相同)。]

:-順序執(zhí)行的特點(diǎn),使得系統(tǒng)管理簡(jiǎn)單,程序編制

:調(diào)試容易。但系統(tǒng)的資源利用率非常低,因?yàn)榇?/p>

?部分時(shí)間,尤其是對(duì)外部設(shè)備操作時(shí),系統(tǒng)CPU

:一直在等待。I

:?例如:進(jìn)行計(jì)算。I:輸入操作C:計(jì)

:算操作P:打印操作。在進(jìn)行計(jì)算時(shí),

一總是先輸入用戶的程序和數(shù)據(jù),然后進(jìn)

:行計(jì)算,最后將結(jié)果打印出來(lái)。

■?一?一?一?一?一?

??在單處理器系統(tǒng)中,處理器只有一個(gè),

:每一時(shí)刻也只能執(zhí)行一條指令。那么,

?如何提高單處理器系統(tǒng)的效率呢?能否

:在單處理器上讓多個(gè)程序同時(shí)執(zhí)行呢?

?這就是程序的并發(fā)執(zhí)行的思想。

??多道程序設(shè)計(jì)圖示。

:?http:〃www.Urtvu.edu.cn/teaching/2001b/o

:s/jiaoxue/index.htm

Z第二節(jié)多道程序設(shè)計(jì)

??多道程序的特點(diǎn)

:?優(yōu)點(diǎn):可以使CPU和輸入輸出設(shè)備以及

:其他系統(tǒng)資源得到充分利用。

:-并行性

::多道程序的并行性

Z-共享性

:共享所有的系統(tǒng)資源:CPU、主存

多道程序示例

:?在對(duì)一批程序進(jìn)行處理時(shí),可以并發(fā)執(zhí)行。

:?例如,輸入、計(jì)算、打印三個(gè)程序?qū)σ慌?/p>

2業(yè)進(jìn)行處理時(shí),存在以下的前趨關(guān)系:

三Ii-Ci,,Ci-Pi,Ci-Ci+1,

■PifPi+1

多道程序設(shè)計(jì)的特征

??不可再現(xiàn)性:由于程序的并發(fā)執(zhí)行,打破了

z由另一程序獨(dú)占系統(tǒng)資源的封閉性,因而破

?壞了可再現(xiàn)性。

:?間斷性:程序并發(fā)執(zhí)行時(shí),由于它們共享資

:源或程序之間相互合作完成一項(xiàng)共同任務(wù),

?因而使程序之間相互制約。

:?通信性:對(duì)于相互合作的程序,為了更有效

z地協(xié)調(diào)運(yùn)行,相互之間進(jìn)行通信。

z?獨(dú)立性:并發(fā)程序在運(yùn)行過(guò)程中,既然是作

?為一個(gè)獨(dú)立的運(yùn)行實(shí)體,它也必然具有作為

:一個(gè)單位去獲得資源的獨(dú)立性。

Z多道程序設(shè)計(jì)定義

.定義:Multiprogramming

,多道程序設(shè)計(jì)是指允許多個(gè)程序同時(shí)進(jìn)入內(nèi)存并運(yùn)行

Z(引入目的是為了提高系統(tǒng)效率)

與并發(fā)不完全是一個(gè)概念,但效果相似

,考慮由素:

z?在多道程序環(huán)境下如何向用戶提供服務(wù)

■?在并發(fā)程序之間如何正確傳遞消息(通訊)

一?如何對(duì)CPU進(jìn)行調(diào)度,保證每個(gè)用戶相對(duì)公平地得到

:CPU

■如何管理其他資源

??當(dāng)各用戶對(duì)資源使用上發(fā)生沖突時(shí),如何處理競(jìng)爭(zhēng)

:對(duì)CPU只能通過(guò)調(diào)度來(lái)解決競(jìng)爭(zhēng)問(wèn)題,而對(duì)于其他資

?源通過(guò)申請(qǐng)一分配一使用一回收的辦法進(jìn)行管理,當(dāng)

,且僅當(dāng)占有CPU的時(shí)候才可以申請(qǐng),否則要排隊(duì)等候

第二節(jié)多道程序設(shè)計(jì)

:?多道程序的目標(biāo)、方法和主要問(wèn)題

?主要目標(biāo):充分使用系統(tǒng)所有資源并

盡可能地使他們并行工作。

?方法是在一個(gè)正在運(yùn)行的程序不使用

某設(shè)備時(shí),讓另一程序去使用該設(shè)備。

:第二節(jié)多道程序設(shè)計(jì)

??多道程序設(shè)計(jì)的實(shí)現(xiàn)

2-存儲(chǔ)保護(hù)與程序浮動(dòng)

X存儲(chǔ)器管理

2-處理機(jī)的管理和調(diào)度

Z處理機(jī)調(diào)度。運(yùn)行態(tài)、就緒態(tài)、等待態(tài)

Z負(fù)責(zé)管理程序占有或釋放處理機(jī)的軟件模

z塊稱為處理機(jī)調(diào)度程序。

z-資源的管理和調(diào)度

Z資源共享

第二節(jié)多道程序設(shè)計(jì)

=?多道程序系統(tǒng)必須解決的問(wèn)題

X-提出解決各種沖突的策略

*資源共享引起的問(wèn)題。獨(dú)占、死鎖

:-協(xié)調(diào)并發(fā)活動(dòng)的關(guān)系

*并發(fā)、制約、互斥

Z-保證數(shù)據(jù)的一致性

Z內(nèi)存保護(hù)

*-實(shí)現(xiàn)數(shù)據(jù)的存取控制

Z文件存取權(quán)限管理

第三節(jié)進(jìn)程

??計(jì)算機(jī)的處理器是重要的系統(tǒng)資源,如

:何充分發(fā)揮處理器的功能是歷來(lái)系統(tǒng)設(shè)

Z計(jì)者要解決的問(wèn)題。

:-處理器的管理實(shí)際上是進(jìn)程的管理,因

:此,首先需要對(duì)進(jìn)程有一個(gè)深刻的認(rèn)識(shí)

2和理解。

:?進(jìn)程是操作系統(tǒng)中獨(dú)立運(yùn)行的單位,是

:程序關(guān)于某個(gè)數(shù)據(jù)集合的可并發(fā)的一次

?運(yùn)行活動(dòng),是“執(zhí)行中的程序”。

第三節(jié)進(jìn)程

:?進(jìn)程的提出

:?多道程序系統(tǒng)的特性

Z-并行性

:-制約性

?-動(dòng)態(tài)性

:?由于程序具有以上特征,因此程序難以

;刻劃和反映系統(tǒng)的狀況。

:進(jìn)程的概念

:-進(jìn)程的引入是為了更好地描述系統(tǒng)中的并發(fā)

:活動(dòng)。由于并發(fā)活動(dòng)的復(fù)雜性,所以各個(gè)操

?作系統(tǒng)中對(duì)進(jìn)程的定義未能統(tǒng)一:

Z?1)進(jìn)程是程序在處理機(jī)上的執(zhí)行(Dijkstra)。

:?2)進(jìn)程是可以與別的計(jì)算并發(fā)執(zhí)行的計(jì)算

:(Donovan)。

:?3)進(jìn)程是一個(gè)程序及其數(shù)據(jù)在處理機(jī)上順序

Z地執(zhí)行時(shí)所發(fā)生的活動(dòng)(ALanShow)。

:?4)進(jìn)程是系統(tǒng)資源和程序代碼的執(zhí)行位置的

:集合(Java)o

:?5)進(jìn)程是進(jìn)程映像的執(zhí)行(Unix)。

:進(jìn)程的描述

:-進(jìn)程是程序關(guān)于某個(gè)數(shù)據(jù)集合的可并發(fā)的一

?次運(yùn)行活動(dòng)。其含義是:

1?1)進(jìn)程是一次運(yùn)行活動(dòng),即具有動(dòng)態(tài)性。

2)進(jìn)程的實(shí)體是程序和數(shù)據(jù)集合,即具有結(jié)

:構(gòu)性(每個(gè)進(jìn)程都有相對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu),人

■們通過(guò)這些數(shù)據(jù)結(jié)構(gòu)及其變化才感覺(jué)到進(jìn)程

Z的存在)。

Z-3)進(jìn)程是可并發(fā)的運(yùn)行單位,即具有并發(fā)性

?和獨(dú)立性。

??4)并發(fā)進(jìn)程相互制約,呈現(xiàn)走走停停狀態(tài),

Z即具有異步性。

z-進(jìn)程具有動(dòng)態(tài)性、并發(fā)性、異步性、獨(dú)立性

郵韶n

??進(jìn)程是一個(gè)動(dòng)態(tài)的概念,程序及其相關(guān)的數(shù)據(jù)由

:合是進(jìn)程存在的實(shí)體,它們均是靜態(tài)文本。那4

?如何表示一個(gè)進(jìn)程?又如何知道進(jìn)程的存在呢?

Z在操作系統(tǒng)中,進(jìn)程通過(guò)三個(gè)部分被感知,即走

一序、數(shù)據(jù)集合和進(jìn)程控制塊。

1)程序(program)o進(jìn)程運(yùn)行所對(duì)應(yīng)的執(zhí)行代

z碼,一個(gè)進(jìn)程可以對(duì)應(yīng)一個(gè)程序,也可以只對(duì)瓜

?一個(gè)程序的一部分,多個(gè)進(jìn)程也可同時(shí)對(duì)應(yīng)一彳

;程序,即這個(gè)程序被多個(gè)進(jìn)程所共享,可共享白

?程序代碼叫純代碼(pure)或叫可重入代碼

Z(reentry),在運(yùn)行過(guò)程中不能被改變。

:?2)數(shù)據(jù)(data)。進(jìn)程運(yùn)行中必需的數(shù)據(jù)資源,

:包括對(duì)CPU的占用、存儲(chǔ)器、堆棧、緩沖區(qū)、

:I/O通道和I/O設(shè)備等的需求信息。

:?3)進(jìn)程控制塊(ProcessControlBlock)。系

:統(tǒng)為進(jìn)程定義的一種專門(mén)的數(shù)據(jù)結(jié)構(gòu),簡(jiǎn)記

■為PCB,用PCB描述進(jìn)程的運(yùn)動(dòng)變化過(guò)程,記

Z憶進(jìn)程的外部特征和與其他進(jìn)程的聯(lián)系。PCB

?與進(jìn)程一一對(duì)應(yīng),系統(tǒng)創(chuàng)建一個(gè)進(jìn)程,在系

:統(tǒng)區(qū)就為進(jìn)程設(shè)置一個(gè)PCB,再利用PCB對(duì)進(jìn)

:程進(jìn)行管理和控制,進(jìn)程被撤消時(shí),系統(tǒng)就

:收回它的PCB,進(jìn)程隨之消亡。所以,PCB是

T進(jìn)程存在的惟一標(biāo)志。

Z-PCB包含了進(jìn)程的描述信息和控制信息:標(biāo)識(shí)

:符二存儲(chǔ)信息、現(xiàn)行狀態(tài)等(不同操作系統(tǒng)

?中采用的PCB不一定相同)。如圖所示是一種

XPCB的結(jié)構(gòu)示意圖。

z-進(jìn)程狀態(tài)

Z?進(jìn)程優(yōu)先級(jí)

2?進(jìn)程標(biāo)識(shí)符

*?現(xiàn)場(chǎng)保護(hù)區(qū)

:?進(jìn)程信號(hào)量

Z?進(jìn)程消息

Z-進(jìn)程名

”?進(jìn)程參數(shù)

順序執(zhí)行與并發(fā)執(zhí)行的區(qū)別

■順序執(zhí)行:并發(fā)執(zhí)行:

?:程序順序執(zhí)行間斷執(zhí)行,

三程序具有封閉性程序失去封閉性

£獨(dú)享資源共享資源(互為存在條件)

:可再現(xiàn)性程序與“計(jì)算,,不再一一對(duì)應(yīng)

:有相互制約有直接和間接的相互制約

:設(shè)備利用率不高

E為什么要引入“進(jìn)程”的概念

■:關(guān)鍵是“共享資源”引起的,從資源觀

:點(diǎn)看,有效管理共享資源(同步操作、

:異步操作、通信)是操作系統(tǒng)的重要內(nèi)

:容。

二生活例子:同步:單行道公路和公共汽

二車(chē)都是共享資源。只有前面車(chē)開(kāi)走,后

\面的才能開(kāi)。

二互斥:交叉路口是共享資源。誰(shuí)先走取

:決于交通指揮。我走時(shí),對(duì)方不能走。

進(jìn)程的定義及特征

:-進(jìn)程是OS動(dòng)態(tài)分配和執(zhí)行的基本單元

:(構(gòu)件)。操作系統(tǒng)的五大功能是由許

Z多進(jìn)程組合完成的。

??程序和進(jìn)程的區(qū)別

:?進(jìn)程的五個(gè)基本特征

程序和進(jìn)程的區(qū)別

■程序進(jìn)程

,靜態(tài)的指令序列?動(dòng)態(tài)的程序執(zhí)行過(guò)程

;一程序可對(duì)應(yīng)?一個(gè)進(jìn)程對(duì)應(yīng)至少有

手個(gè)進(jìn)程一個(gè)程序在工作

I永久性軟件資源?暫存資源,動(dòng)態(tài)產(chǎn)生過(guò)程

進(jìn)程的五個(gè)基本特征

:進(jìn)程是程序在并發(fā)系統(tǒng)內(nèi)的一次執(zhí)行,

:一個(gè)進(jìn)程有一個(gè)從產(chǎn)生到消失的生命期;

正是為了描述程序在并發(fā)系統(tǒng)內(nèi)執(zhí)行

?的動(dòng)態(tài)特性才引入了進(jìn)程,沒(méi)有并發(fā)就沒(méi)有進(jìn)

?工口

L?不王;

[Z每個(gè)進(jìn)程的程序都是相對(duì)獨(dú)立的順序

,程序,可以按照自己的方向和速度獨(dú)立地向前

:推進(jìn);

:進(jìn)程之間的相互制約,主要表現(xiàn)在互

:斥地使用資源和相關(guān)進(jìn)程之間必要的同步和通

I?訊;

■進(jìn)程=PCB+程序+數(shù)據(jù)集合。

進(jìn)程與線程

:進(jìn)程是程序的一次執(zhí)行過(guò)程。

I線程是由進(jìn)程派生出來(lái)的一組代碼

:(指令組)的執(zhí)行過(guò)程。

/線程二進(jìn)程優(yōu)越之處是執(zhí)行中占有

I

:同的內(nèi)存空間。在現(xiàn)代操作系統(tǒng)

中,進(jìn)程是分配單元,而線程是執(zhí)

:行單元。

E進(jìn)程的狀態(tài)及其變化

??進(jìn)程具有動(dòng)態(tài)特性,各個(gè)進(jìn)程在執(zhí)行過(guò)

:程中交替進(jìn)行,使它的執(zhí)行狀態(tài)不斷發(fā)

:生變化,操作系統(tǒng)中進(jìn)程的狀態(tài)有許多

:種,這些狀態(tài)的設(shè)置和規(guī)定與實(shí)際的操

X作系統(tǒng)設(shè)計(jì)有關(guān)。

??最基本也是代表進(jìn)程生命周期的三種狀

?態(tài):運(yùn)行(running)、就緒(ready)和

Z等待(waited或blocked)狀態(tài),如圖2-3

Z所示。此外還有停止(stop)狀態(tài)、死

鎖(deadlock)狀態(tài)等。

圖2-3進(jìn)程的狀態(tài)及其轉(zhuǎn)換

具有掛起操作的進(jìn)程狀態(tài)轉(zhuǎn)換圖

有的系統(tǒng)有時(shí)希望能人為地把進(jìn)程掛起,使

之處于靜止?fàn)顟B(tài),以便研究其執(zhí)行情況或?qū)λM(jìn)行

修改。下圖示出了具有掛起狀態(tài)的進(jìn)程狀態(tài)演變圖。

具有掛起狀態(tài)的進(jìn)程狀態(tài)演變圖

:?運(yùn)行狀態(tài):進(jìn)程的物理運(yùn)行。

??就緒和等待狀態(tài):進(jìn)程的邏輯運(yùn)行。

??運(yùn)行、就緒和等待狀態(tài)都是宏觀上的活

Z動(dòng)進(jìn)程。

??停止?fàn)顟B(tài):進(jìn)程無(wú)需再運(yùn)行。

Z?死鎖狀態(tài):進(jìn)程無(wú)法執(zhí)行。

:?停止和死鎖狀態(tài)是靜止的狀態(tài)。

一進(jìn)程在某個(gè)時(shí)刻總是處于某種狀態(tài),隨著進(jìn)

:程自身的推進(jìn)和外界條件的變化,進(jìn)程的狀

:態(tài)也隨之變化。

:1)就緒一運(yùn)行:處于就緒狀態(tài)的進(jìn)程,已具備

:執(zhí)行的條件,但還未能獲得CPU,故還不能執(zhí)

:行。當(dāng)有多個(gè)進(jìn)程等待分配處理器時(shí),系統(tǒng)

?按照一定的策略(優(yōu)先級(jí)或時(shí)間片)從多個(gè)

:處于就緒狀態(tài)的進(jìn)程中選擇一個(gè)進(jìn)程,讓它

■占有CPU,被選中的進(jìn)程的狀態(tài)由就緒變?yōu)檫\(yùn)

[Z行狀態(tài)。

22)運(yùn)行一就緒:分配給進(jìn)程的CPU時(shí)間片

?用完而強(qiáng)迫進(jìn)程讓出CPU?;蛘弋?dāng)優(yōu)先級(jí)高的

:進(jìn)程要運(yùn)行,迫使正在運(yùn)行的進(jìn)程讓出CPU,

?于是正在運(yùn)行的進(jìn)程的狀態(tài)由運(yùn)行狀態(tài)變?yōu)?/p>

Z就緒狀態(tài),等待時(shí)機(jī)再獲得CPU控制權(quán)。

:?3)運(yùn)行一等待:處于運(yùn)行狀態(tài)的進(jìn)程能否繼

:續(xù)運(yùn)行,除了受CPU時(shí)間限制外,還受其他因

?素的影響,如在運(yùn)行中啟動(dòng)外部設(shè)備,等待

2外設(shè)進(jìn)行I/O傳輸?;蜻M(jìn)程申請(qǐng)系統(tǒng)資源(內(nèi)

?存空間、外設(shè))得不到滿足?;蜻M(jìn)程運(yùn)行中

Z出錯(cuò)時(shí),都使得運(yùn)行中的進(jìn)程由運(yùn)行狀態(tài)變

■為等待彳犬態(tài)。

:-4)等待一就緒:被阻塞的進(jìn)程在某事件被解

Z除后,如I/O結(jié)束,或獲得了等待的資源,或

一進(jìn)程故障得到排除等情況下,等待的進(jìn)程的

?狀態(tài)由等待狀態(tài)變?yōu)榫途w狀態(tài),當(dāng)系統(tǒng)再次

x分配CPU給它,它才能繼續(xù)運(yùn)行。

五狀態(tài)進(jìn)程模型

?準(zhǔn)備退出:父進(jìn)程可中止子進(jìn)程

七狀態(tài)進(jìn)程模型

掛起

——Suspend

/■活動(dòng)\調(diào)度"、工

「cad",上小唯Dispatch、/釋放

Release

肝沙、飛uspend5Ready工叫Running

人掛起八超時(shí)

Event事件Event事件

Occurs發(fā)生Occurs發(fā)生/Event等待

Wait事祚

活動(dòng)

Activate

<'^BIockcd、十Blocked

<Suspend

Suspend

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

?進(jìn)程調(diào)度的職能

?(1)記錄系統(tǒng)中所有進(jìn)程的有關(guān)情況。

卜I

?(3)分配處理機(jī)給進(jìn)程。

?(4)從進(jìn)程收回處理機(jī)。

進(jìn)程調(diào)度算法

,1.先來(lái)先服務(wù)

卜2.優(yōu)先數(shù)法

[3.輪轉(zhuǎn)調(diào)度

[4.分級(jí)輪轉(zhuǎn)法

?http:〃5:7999/czxt/text/ch03/s

e04/342l.htm

:先來(lái)先服務(wù)

:?這種調(diào)度算法按照進(jìn)程進(jìn)入就緒隊(duì)列的

?先后順序來(lái)調(diào)度進(jìn)程,到達(dá)得越早,其

一優(yōu)先數(shù)越高。獲得處理機(jī)的進(jìn)程,未遇

:到其他情況時(shí),一直運(yùn)行下去,系統(tǒng)只

二需具備一個(gè)先進(jìn)先出的隊(duì)列,在管理優(yōu)

:先數(shù)的就緒隊(duì)列時(shí),這種方法是一種最

;常見(jiàn)策略,并且在沒(méi)有其他信息時(shí),也

:是一種最合理的策略。

:該算法總是把處理機(jī)分配給最先進(jìn)入就緒隊(duì)列

Z的進(jìn)程,一個(gè)進(jìn)程一旦分得處理機(jī),便執(zhí)行下去,

z直到該進(jìn)程完成或阻塞時(shí),才釋放處理機(jī)。

■優(yōu)點(diǎn):實(shí)現(xiàn)簡(jiǎn)單.缺點(diǎn):沒(méi)考慮進(jìn)程的優(yōu)先級(jí)

開(kāi)始執(zhí)帶權(quán)周

進(jìn)程名到達(dá)時(shí)間服務(wù)時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間

行時(shí)間轉(zhuǎn)時(shí)間

A010111

B11001101"1001

C21-101102,100(100

D3:100102202*1991.99

優(yōu)先數(shù)法

Z?根據(jù)已占有處理機(jī)的進(jìn)程是否可被剝奪而分

:為優(yōu)先占有法和優(yōu)先剝奪法兩種。

:?優(yōu)先占有法的原理是:一旦某個(gè)最高優(yōu)先數(shù)

?的就緒進(jìn)程分得處理機(jī)之后,只要不是其自

:身的原因被阻塞(如要求I/O操作)而不能繼

?續(xù)運(yùn)行時(shí),就一直運(yùn)行下去,直至運(yùn)行結(jié)束。

:?優(yōu)先剝奪法的原理是:當(dāng)一個(gè)正在運(yùn)行的進(jìn)

z程即使其時(shí)間片未用完,無(wú)論什么時(shí)候,只

?要就緒隊(duì)列中有一個(gè)比它的優(yōu)先數(shù)高的進(jìn)程,

Z優(yōu)先數(shù)高的進(jìn)程就可以取代以前正在運(yùn)行的

?進(jìn)程,投入運(yùn)行

z該算法總是把處理機(jī)分配給就緒隊(duì)列中具有最

:高優(yōu)先權(quán)的進(jìn)程。常用以下兩種方法來(lái)確定進(jìn)

:程的優(yōu)先權(quán)(優(yōu)先級(jí)根據(jù)優(yōu)先數(shù)來(lái)決定)

5靜態(tài)優(yōu)先數(shù)法:靜態(tài)優(yōu)先權(quán)是在創(chuàng)建進(jìn)程時(shí)確

:定的,在整個(gè)運(yùn)行期間不再改變。依據(jù)有:進(jìn)

?程類型、進(jìn)程對(duì)資源的要求、用戶要求的優(yōu)先

:權(quán)。

5動(dòng)態(tài)優(yōu)先數(shù)法:在進(jìn)程創(chuàng)建時(shí)創(chuàng)立一個(gè)優(yōu)先數(shù),

:但在其生命周期內(nèi)優(yōu)先數(shù)可以動(dòng)態(tài)變化。如等

?待時(shí)間長(zhǎng)優(yōu)先數(shù)可改變

:輪轉(zhuǎn)調(diào)度

:?先來(lái)先服務(wù)的一個(gè)重要變形,就是輪轉(zhuǎn)規(guī)則。

:輪轉(zhuǎn)調(diào)度算法是系統(tǒng)把所有就緒進(jìn)程按先后

?次序排隊(duì),處理機(jī)總是優(yōu)先分配給就緒隊(duì)列

Z中的第一個(gè)就緒進(jìn)程,并分配它一個(gè)固定的

?時(shí)間片(如100毫秒)。當(dāng)該運(yùn)行進(jìn)程用完規(guī)

Z定的時(shí)間片時(shí),被迫釋放處理機(jī)給下一個(gè)處

?于就緒隊(duì)列中的第一個(gè)進(jìn)程,分給這個(gè)進(jìn)程

Z相同的時(shí)間片,每個(gè)運(yùn)行完時(shí)間片的進(jìn)程,

:當(dāng)未遇到任何阻塞時(shí),就回到就緒隊(duì)列的尾

?部,并等待下次轉(zhuǎn)到它時(shí)再投入運(yùn)行。于是,

:只要是處于就緒隊(duì)列中的進(jìn)程,按此種算法

?遲早總可以分得處理機(jī)投入運(yùn)行。

:把CPU劃分成若干時(shí)間片,并且按順序賦

?給就緒隊(duì)列中的每一個(gè)進(jìn)程,進(jìn)程輪流占有

:CPU,當(dāng)時(shí)間片用完時(shí),即使進(jìn)程未執(zhí)行完

:畢,系統(tǒng)也剝奪該進(jìn)程的CPU,將該進(jìn)程排

?在就緒隊(duì)列末尾。同時(shí)系統(tǒng)選擇另一個(gè)進(jìn)程

:運(yùn)行

2簡(jiǎn)單輪轉(zhuǎn)法:系統(tǒng)將所有就緒進(jìn)程按FIFO規(guī)

?則排隊(duì),按一定的時(shí)間間隔把處理機(jī)分配給

Z隊(duì)列中的進(jìn)程。這樣,就緒隊(duì)列中所有進(jìn)程

?均可獲得一個(gè)時(shí)間片的處理機(jī)而運(yùn)行。

二多級(jí)隊(duì)列方法:將系統(tǒng)中所有進(jìn)程分成若干

z類,每類為一級(jí)。

三分時(shí)系統(tǒng)中常用時(shí)間片輪轉(zhuǎn)法

:時(shí)間片選擇問(wèn)題:

:固定時(shí)間片

?可變時(shí)間片

三與時(shí)間片大小有關(guān)的因素:

:系統(tǒng)響應(yīng)時(shí)間

?就緒進(jìn)程個(gè)數(shù)

?CPU能力

1)簡(jiǎn)單輪轉(zhuǎn)法的調(diào)度模型

2?分級(jí)輪轉(zhuǎn)法

:?所謂分級(jí)輪轉(zhuǎn)法就是將先前的一個(gè)就緒

:隊(duì)列。根據(jù)進(jìn)程的優(yōu)先數(shù)不同劃分兩個(gè)

:或兩個(gè)以上的就緒隊(duì)列,并賦給每個(gè)隊(duì)

:列不同的優(yōu)先數(shù)。以兩個(gè)就緒隊(duì)列為例,

:一個(gè)具有較高優(yōu)先數(shù),另一個(gè)具有較低

:優(yōu)先數(shù),前者稱為前臺(tái)隊(duì)列,后者稱為

二后臺(tái)隊(duì)列。

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論