版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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),讀書,書簽
:中斷在操作系統(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暫停現(xiàn)行程序而轉(zhuǎn)去響應(yīng)中斷請(qǐng)求的過程稱
為中斷響應(yīng);I
中斷處理
:?CPU執(zhí)行相關(guān)的中斷處理程序稱為中斷處理;
:?CPU處理完中斷事件返回?cái)帱c(diǎn)的過程稱為中斷
Z返回。
Z?例如:某人(相當(dāng)于CPU)正在看書,此時(shí)電
Z話(相當(dāng)于中斷源)鈴響了(異步事件),
Z(發(fā)出了中斷請(qǐng)求),于是標(biāo)記正在看的地
一方(斷點(diǎn));再去接電話(中斷響應(yīng));電
:話接聽(中斷處理)完畢,掛機(jī),然后接著
:往下看書(中斷返回)。
??在單CPU的計(jì)算機(jī)系統(tǒng)中,整個(gè)系統(tǒng)設(shè)置一個(gè)
:寄存器,即“程序狀態(tài)字寄存器",用來存
?放當(dāng)前執(zhí)行程序的PSW。CPU按程序狀態(tài)字
:寄存器中的這令地址和設(shè)置的其他狀態(tà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問題。具體工作包括交換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ā)生;
若有,則暫停現(xiàn)行程序(當(dāng)前PSW)的運(yùn)行,
Z并將該程序的PSW保存起來(舊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的處理,具體的中斷處理由中斷處理程序來
■完成。
??中斷返回即CPU轉(zhuǎn)去執(zhí)行前面被中斷的程序,
Z通常通過執(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í)行功能。也就是說,每一次只允許
■一道程序運(yùn)行,在這個(gè)程序運(yùn)行時(shí),它將獨(dú)
:占整個(gè)計(jì)算機(jī)系統(tǒng)的資源,而且系統(tǒng)按照程
:序步驟順序地執(zhí)行,在該程序執(zhí)行完之前,
Z其他程序只能等待,從而不存在共享資源的
?問題。這種程序的執(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é)果打印出來。
■?一?一?一?一?一?
??在單處理器系統(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)行過程中,既然是作
?為一個(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只能通過調(diào)度來解決競(jìng)爭(zhēng)問題,而對(duì)于其他資
?源通過申請(qǐng)一分配一使用一回收的辦法進(jìn)行管理,當(dāng)
,且僅當(dāng)占有CPU的時(shí)候才可以申請(qǐng),否則要排隊(duì)等候
第二節(jié)多道程序設(shè)計(jì)
:?多道程序的目標(biāo)、方法和主要問題
?主要目標(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)必須解決的問題
X-提出解決各種沖突的策略
*資源共享引起的問題。獨(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ā)揮處理器的功能是歷來系統(tǒng)設(shè)
Z計(jì)者要解決的問題。
:-處理器的管理實(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),人
■們通過這些數(shù)據(jù)結(jié)構(gòu)及其變化才感覺到進(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)程通過三個(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)行過程中不能被改變。
:?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)程定義的一種專門的數(shù)據(jù)結(jié)構(gòu),簡(jiǎn)記
■為PCB,用PCB描述進(jìn)程的運(yùn)動(dòng)變化過程,記
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)
:容。
二生活例子:同步:單行道公路和公共汽
二車都是共享資源。只有前面車開走,后
\面的才能開。
二互斥:交叉路口是共享資源。誰(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í)行過程
;一程序可對(duì)應(yīng)?一個(gè)進(jìn)程對(duì)應(yīng)至少有
手個(gè)進(jìn)程一個(gè)程序在工作
I永久性軟件資源?暫存資源,動(dòng)態(tài)產(chǎn)生過程
進(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)程,沒有并發(fā)就沒有進(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í)行過程。
I線程是由進(jìn)程派生出來的一組代碼
:(指令組)的執(zhí)行過程。
/線程二進(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í)行過
:程中交替進(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傳輸。或進(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.先來先服務(wù)
卜2.優(yōu)先數(shù)法
[3.輪轉(zhuǎn)調(diào)度
[4.分級(jí)輪轉(zhuǎn)法
?http:〃5:7999/czxt/text/ch03/s
e04/342l.htm
:先來先服務(wù)
:?這種調(diào)度算法按照進(jìn)程進(jìn)入就緒隊(duì)列的
?先后順序來調(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í),這種方法是一種最
;常見策略,并且在沒有其他信息時(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):沒考慮進(jìn)程的優(yōu)先級(jí)
開始執(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)程。常用以下兩種方法來確定進(jìn)
:程的優(yōu)先權(quán)(優(yōu)先級(jí)根據(jù)優(yōu)先數(shù)來決定)
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)度
:?先來先服務(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í)間片選擇問題:
:固定時(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ú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024標(biāo)準(zhǔn)簡(jiǎn)化版買賣合同條款版B版
- 2024版建筑工程勞動(dòng)用工合同
- 2022年中考化學(xué)突破:實(shí)驗(yàn)探究題
- 2023-2024年執(zhí)業(yè)藥師之西藥學(xué)綜合知識(shí)與技能題庫(kù)檢測(cè)B卷(附答案)
- 2022-2024年中考道德與法治試題分項(xiàng)匯編:成長(zhǎng)的節(jié)拍(解析版)
- 2022年中考化學(xué)單元復(fù)習(xí)【知識(shí)清單·必做題】第五單元 化學(xué)方程式(解析版)
- 2024版技術(shù)咨詢合同服務(wù)內(nèi)容詳述
- 2024年稻米種植與收購(gòu)協(xié)議標(biāo)準(zhǔn)文本版
- 2024年航空公司航材供應(yīng)合同
- 2022年人教版中考化學(xué)一輪復(fù)習(xí):空氣和氧氣講練(含解析)
- 火力發(fā)電廠有關(guān)職業(yè)病的危害及防護(hù)
- 民主測(cè)評(píng)票(三種樣式)
- 班車安全檢查表(2015-7-14)V3 0 (2)
- 城投集團(tuán)年度安全管理工作計(jì)劃
- 一、 行業(yè)協(xié)會(huì)申請(qǐng)?jiān)O(shè)立分支機(jī)構(gòu)、代表機(jī)構(gòu)應(yīng)提交的文件:
- 幼兒園幼兒園理事會(huì)成員一覽表
- 學(xué)生對(duì)課堂教學(xué)滿意度調(diào)查
- 住房公積金中心窗口人員個(gè)人工作總結(jié)
- 集成電路單粒子效應(yīng)評(píng)估技術(shù)研究PPT課件
- 幼兒園小班生成活動(dòng)教案20篇
- 講師與平臺(tái)的合作協(xié)議
評(píng)論
0/150
提交評(píng)論