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