資源描述:
《操作系統(tǒng)進(jìn)程管理》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、操作系統(tǒng)進(jìn)程管理操作系統(tǒng)進(jìn)程管理之總預(yù)覽(零)處理機(jī)管理的主要任務(wù)是對(duì)處理機(jī)的分配和運(yùn)行實(shí)時(shí)有效的管理,從傳統(tǒng)意義上將,進(jìn)程是處理機(jī)和資源分配的基本單位,因此對(duì)處理機(jī)的管理可以歸納為對(duì)進(jìn)程的管理。1、進(jìn)程的概述2、進(jìn)程的定義及特征3、進(jìn)程的狀態(tài)及描述4、進(jìn)程控制5、進(jìn)程同步6、進(jìn)程通信7、進(jìn)程調(diào)度8、線程9、死鎖零測(cè)試操作系統(tǒng)進(jìn)程管理之進(jìn)程的概述(一)在計(jì)算機(jī)操作系統(tǒng)中,進(jìn)程是資源分配的基本單位,也是獨(dú)立運(yùn)行的基本單位。1、引入進(jìn)程的原因a)在現(xiàn)代計(jì)算機(jī)操作系統(tǒng)中,內(nèi)存中通常存放多道程序,這些程序并
2、發(fā)執(zhí)行,為了描述并發(fā)程序執(zhí)行時(shí)的特征,引入了進(jìn)程這個(gè)概念。2、前趨圖的定義a)前趨圖是一個(gè)有向無循環(huán)圖,用于描述程序、程序段或語句執(zhí)行的先后次序,每個(gè)結(jié)點(diǎn)可以表示一個(gè)語句、一個(gè)程序段或一個(gè)進(jìn)程,結(jié)點(diǎn)間的有向邊表示兩個(gè)結(jié)點(diǎn)之間存在的前趨關(guān)系à;b)直接前驅(qū):如果Pi->Pj,則稱Pi是Pj的直接前驅(qū);c)直接后繼:如果Pi->Pj,則稱Pj是Pi的直接后繼;d)前驅(qū):如果Pi->Pj…->Pk->Pm,則稱Pi是Pk的前驅(qū);e)后繼:如果Pi->Pj…->Pk->Pm,則稱Pk是Pi的后繼;f)初始結(jié)
3、點(diǎn):沒有前驅(qū)的結(jié)點(diǎn)稱為初始結(jié)點(diǎn)(Pi);g)終止結(jié)點(diǎn):沒有后繼的結(jié)點(diǎn)稱為終止結(jié)點(diǎn)(Pm)。3、程序的順序執(zhí)行a)定義:一個(gè)程序通常由若干個(gè)操作組成,這些操作必須按照某種先后次序執(zhí)行,僅當(dāng)前一個(gè)操作執(zhí)行完成后才能執(zhí)行后繼操作,這類計(jì)算過程就是程序的順序執(zhí)行過程。b)特征:i.順序性:處理機(jī)的操作嚴(yán)格按照程序所規(guī)定的順序執(zhí)行,只有當(dāng)上一個(gè)操作完成后,下一個(gè)操作才能開始執(zhí)行;ii.封閉性:程序一旦開始運(yùn)行,其執(zhí)行結(jié)果不受外界因素影響;i.可再現(xiàn)性:只要程序執(zhí)行時(shí)的初始條件和執(zhí)行環(huán)境相同,當(dāng)程序重復(fù)執(zhí)行時(shí),
4、都將獲得相同的結(jié)果。2、程序的并發(fā)執(zhí)行a)定義:程序的并發(fā)執(zhí)行是指若干個(gè)程序或程序段同時(shí)在系統(tǒng)中運(yùn)行,這些程序或程序段的執(zhí)行在時(shí)間上是重疊的,一個(gè)程序或程序段的執(zhí)行尚未結(jié)束,另一個(gè)程序或程序段的執(zhí)行已經(jīng)開始。b)特征:i.間斷性:程序在并發(fā)執(zhí)行時(shí),由于它們共享資源或?yàn)橥瓿赏豁?xiàng)任務(wù)而相互合作,致使并發(fā)程序之間形成了相互制約關(guān)系。這種相互制約關(guān)系將導(dǎo)致并發(fā)程序具有“執(zhí)行-暫停-執(zhí)行”這種間斷性的活動(dòng)規(guī)律;ii.失去封閉性:程序在并發(fā)執(zhí)行時(shí),多個(gè)程序共享系統(tǒng)中的各種資源,因而這些資源的狀態(tài)將由多個(gè)程序來
5、改變,致使程序的運(yùn)行失去封閉性;iii.不可再現(xiàn)性:程序并發(fā)執(zhí)行時(shí),由于失去了封閉性,也將導(dǎo)致失去其運(yùn)行結(jié)果的可再現(xiàn)性。3、程序并發(fā)執(zhí)行的條件a)定義的表示法:i.R(Pi)={a1,a2,…,am}表示程序段Pi在執(zhí)行期間要引用的所有變量的集合,稱為讀集;ii.W(Pi)={b1,b2,…,bn}表示程序段Pi在執(zhí)行期間要改變的所有變量的集合,稱為寫集。b)并發(fā)執(zhí)行的條件i.R(P1)與W(P2)的交集為空;ii.R(P2)與W(P1)的交集為空;iii.W(P1)與W(P2)的交集為空。零測(cè)試操
6、作系統(tǒng)進(jìn)程管理之進(jìn)程的定義及特征(二)在多道程序環(huán)境下,程序的并發(fā)執(zhí)行出現(xiàn)了許多新的特征,程序這個(gè)靜態(tài)概念已經(jīng)不能如實(shí)地反映程序活動(dòng)的這些特征,為此引入了描述并發(fā)程序執(zhí)行時(shí)的特征的概念----進(jìn)程。1、進(jìn)程的定義a)進(jìn)程是程序在處理機(jī)上的一次執(zhí)行過程;b)進(jìn)程是可以和別的計(jì)算并行執(zhí)行的計(jì)算;c)進(jìn)程是程序在一個(gè)數(shù)據(jù)集合上的運(yùn)行過程,是系統(tǒng)進(jìn)程資源分配和調(diào)度的一個(gè)獨(dú)立單位;d)進(jìn)程是一個(gè)具有一定功能的程序關(guān)于某個(gè)數(shù)據(jù)集合的一次運(yùn)行活動(dòng)。e)進(jìn)程是由程序段、數(shù)據(jù)段和一個(gè)進(jìn)程控制塊組成。2、進(jìn)程的特征a)
7、動(dòng)態(tài)性:進(jìn)程是程序在處理機(jī)上的一次執(zhí)行過程,因而是動(dòng)態(tài)的;b)并發(fā)性:多個(gè)進(jìn)程實(shí)體同時(shí)存在于內(nèi)存中,在一段時(shí)間內(nèi)并發(fā)執(zhí)行;c)獨(dú)立性:進(jìn)程是能獨(dú)立運(yùn)行的基本單位,也是系統(tǒng)進(jìn)程資源分配和調(diào)度的獨(dú)立單位;d)異步性:系統(tǒng)中的各進(jìn)程以獨(dú)立的、不可預(yù)知的速度向前推進(jìn);e)結(jié)構(gòu)性:從結(jié)構(gòu)上看,進(jìn)程由程序段、數(shù)據(jù)段和一個(gè)進(jìn)程控制塊組成。3、進(jìn)程與程序的區(qū)別a)進(jìn)程是動(dòng)態(tài)的,程序是靜態(tài)的:進(jìn)程是程序的一次執(zhí)行過程,程序是一組代碼的集合;b)進(jìn)程是暫時(shí)的,程序是永久的:進(jìn)程是一個(gè)狀態(tài)變化的過程,程序可以長久保存;c
8、)進(jìn)程與程序的組成不同:進(jìn)程的組成包括程序、數(shù)據(jù)和進(jìn)程控制塊;d)進(jìn)程與程序是密切相關(guān):通過多次執(zhí)行,一個(gè)程序可以對(duì)應(yīng)多個(gè)進(jìn)程,通過調(diào)用關(guān)系,一個(gè)進(jìn)程可以包括多個(gè)程序,是多對(duì)多的關(guān)系。零測(cè)試操作系統(tǒng)進(jìn)程管理之進(jìn)程的狀態(tài)及描述(三)為了刻畫進(jìn)程的動(dòng)態(tài)特征,可以將進(jìn)程的生命期劃分為一組狀態(tài),用這些狀態(tài)來描述進(jìn)程的活動(dòng)過程。1、進(jìn)程的狀態(tài)a)創(chuàng)建狀態(tài):進(jìn)程剛被創(chuàng)建尚未放入就緒隊(duì)列;b)執(zhí)行狀態(tài):進(jìn)程獲得必要的資源并正在處理機(jī)上執(zhí)行(處于執(zhí)行狀態(tài)的進(jìn)程數(shù)目不能大于處理機(jī)數(shù)目)