第3章 進程管理_第1頁
第3章 進程管理_第2頁
第3章 進程管理_第3頁
第3章 進程管理_第4頁
第3章 進程管理_第5頁
已閱讀5頁,還剩40頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第3章進程管理操作系統(tǒng)(第三版)操作系統(tǒng)(第三版)操作系統(tǒng)第三版操作系統(tǒng)第三版本章要點本章要點進程的概念線程 進程的控制進程的同步與互斥 進程之間的高級通信進程調(diào)度死鎖Windows進程管理操作系統(tǒng)第三版操作系統(tǒng)第三版進程的概念進程的概念 1、前趨圖前趨圖是一個有向無循環(huán)圖,每個結(jié)點用于表示一條語句、一個程序段或一個進程;結(jié)點間的有向邊表示兩個結(jié)點之間存在的前趨關(guān)系“”。右圖的前趨關(guān)系:P1 P2,P1 P3,P1 P4,P2 P5,P3 P5,P3 P6,P4 P6,P5 P7,P6 P7操作系統(tǒng)第三版操作系統(tǒng)第三版2、程序的順序執(zhí)行和并發(fā)執(zhí)行程序的順序執(zhí)行例:語句的順序執(zhí)行。一個程序段中的

2、三個語句: S1:a= x+y S2:b=a+8 S3:c=b-9 其中,語句S2 必須在a被賦值后才能執(zhí)行,同樣,S3 也只能在b被賦值后才能執(zhí)行。因此其前趨圖為:S1 S2 S3。程序順序執(zhí)行時的特征(1)順序性(2)封閉性(3)可再現(xiàn)性操作系統(tǒng)第三版操作系統(tǒng)第三版程序的并發(fā)執(zhí)行程序的并發(fā)執(zhí)行是指多個程序所包含的各項操作可以在同一時間段內(nèi)同時執(zhí)行。例:程序段中有四個語句:S1:a=x+1S2:b=y+2 S3:c=a+b S4:d=c+a 可畫出如下圖所示的前趨圖,顯然S1和S2可并發(fā)執(zhí)行操作系統(tǒng)第三版操作系統(tǒng)第三版例:有兩個循環(huán)程序A和B,它們共享一個變量n。A和B的程序內(nèi)容如下:A:

3、S1: n=n+1B: S2: print ( n ) S3: n=0如果A和B以不同的順序運行,可能出現(xiàn)下述三種情況:(程序開始運行前n的值為a)( 1 ) S1S2S3 運行結(jié)果為打印出“a+1”且n值為0 ;( 2 ) S2S3S1 運行結(jié)果為打印出“a”且n值為1 ;( 3 ) S2S1S3 運行結(jié)果為打印出“a”且n值為0 ;操作系統(tǒng)第三版操作系統(tǒng)第三版程序并發(fā)執(zhí)行時的特性l間斷性l通信性l失去封閉性l不可再現(xiàn)性l獨立性操作系統(tǒng)第三版操作系統(tǒng)第三版3 3、進程的定義及特征進程的定義及特征進程(Process)的定義進程是可并發(fā)執(zhí)行的程序段在某個數(shù)據(jù)集合上的一次運行過程,它是系統(tǒng)進行資

4、源分配和調(diào)度的一個獨立單位。 操作系統(tǒng)第三版操作系統(tǒng)第三版進程的特征l動態(tài)性 l并發(fā)性l獨立性 l異步性l結(jié)構(gòu)特征:系統(tǒng)為每個進程設(shè)立一個進程控制塊(PCB)。每個進程實體都是由程序段、相關(guān)的數(shù)據(jù)段和一個進程控制塊三部分組成。進程和程序的區(qū)別和聯(lián)系進程是一個動態(tài)概念,而程序則是一個靜態(tài)概念一個程序可以對應(yīng)一個或多個進程,一個進程至少對應(yīng)一個或多個程序 程序可作為軟件資源長期保存,進程只是一次執(zhí)行過程,是暫時存在的 進程是一個能獨立調(diào)度并可以和其他進程并發(fā)運行的單位,而程序段通常是不能作為獨立調(diào)度運行單位的 進程具有并行特征,而程序沒有 操作系統(tǒng)第三版操作系統(tǒng)第三版4 4、進程的進程的狀態(tài)及轉(zhuǎn)換

5、狀態(tài)及轉(zhuǎn)換三種基本狀態(tài)就緒狀態(tài)執(zhí)行狀態(tài)阻塞狀態(tài)操作系統(tǒng)第三版操作系統(tǒng)第三版掛起狀態(tài) 掛起會使進程處于靜止?fàn)顟B(tài)(對正在執(zhí)行的進程暫停執(zhí)行,對就緒的進程暫時不接受調(diào)度,而對阻塞的進程,即使引起阻塞的事件消失,也不能進入就緒隊列)操作系統(tǒng)第三版操作系統(tǒng)第三版5 5、進程進程實體實體進程控制塊PCB(Process Control Block)PCB應(yīng)包含如下信息:u進程標(biāo)識符u當(dāng)前狀態(tài)u現(xiàn)場保護區(qū)u位置信息u資源清單u進程優(yōu)先級u通信信息u家族關(guān)系操作系統(tǒng)第三版操作系統(tǒng)第三版進程實體 由三部分組成:程序段相關(guān)的數(shù)據(jù)段進程控制塊PCB操作系統(tǒng)第三版操作系統(tǒng)第三版1、線程的基本概念線程(Thread)的

6、定義進程既是資源分配的基本單位,又是可以獨立調(diào)度執(zhí)行的基本單位,這是進程的兩個基本屬性。為了減少操作系統(tǒng)對進程處理的開銷,提高系統(tǒng)中進程并發(fā)執(zhí)行的程度, 20世紀(jì)80年代中期,人們引入了線程(Thread)的概念。線程有時也被稱為輕量進程(Light Weight Process簡稱LWP)。在引入線程的操作系統(tǒng)中,人們把進程的兩個屬性分開處理,將進程作為系統(tǒng)資源分配的單位,但不作為處理機調(diào)度的單位,而是在進程中創(chuàng)建一個或多個線程,它們并發(fā)執(zhí)行,作為處理機調(diào)度的基本單位。 線程線程操作系統(tǒng)第三版操作系統(tǒng)第三版線程實體線程是一個可獨立運行的實體。在一個進程實體中可以包含一個或多個線程實體。當(dāng)一個

7、進程開始執(zhí)行時,根據(jù)需要可以創(chuàng)建一個或多個線程,線程也可以創(chuàng)建它的子線程。每一個線程有一個線程控制塊TCB,用來記錄線程的標(biāo)識符、執(zhí)行時的寄存器和堆棧等現(xiàn)場狀態(tài)信息。此外,每個線程有自己的堆棧(系統(tǒng)棧或用戶棧)和寄存器(用來存儲線程內(nèi)的局部變量,但不能存儲其它線程的相關(guān)變量)。堆棧、寄存器和線程的TCB共同構(gòu)成線程實體。線程的類型內(nèi)核級線程用戶級線程操作系統(tǒng)第三版操作系統(tǒng)第三版擁有資源調(diào)度切換通信關(guān)系系統(tǒng)開銷和并發(fā)性 動態(tài)性構(gòu)成2、線程與進程的比較操作系統(tǒng)第三版操作系統(tǒng)第三版在Windows NT/2000/XP系統(tǒng)中線程的狀態(tài): 就緒狀態(tài)(Ready)備用狀態(tài)(Standby)運行狀態(tài)(Ru

8、nning)等待狀態(tài)(Waiting)轉(zhuǎn)換狀態(tài)(Transition)終止?fàn)顟B(tài)(Terminated)初始化狀態(tài)(Initialized)3、線程的狀態(tài)與轉(zhuǎn)換操作系統(tǒng)第三版操作系統(tǒng)第三版4、Windows XP系統(tǒng)的進程和線程使用“任務(wù)管理器” 查看進程的相關(guān)信息 在計算機的鍵盤上同時按住Ctrl+Alt+Del三鍵,啟動Windows任務(wù)管理器,用鼠標(biāo)單擊“進程”選項卡,顯示關(guān)于計算機上正在運行的進程的信息。使用“系統(tǒng)監(jiān)視器”查看進程和線程的相關(guān)信息 單擊“開始”運行輸入perfmon.msc來啟動;或者單擊“開始”“所有程序” “管理工具” “性能”來啟動操作系統(tǒng)第三版操作系統(tǒng)第三版進程的

9、控制進程的控制1、創(chuàng)建和撤銷進程圖 一個進程可以創(chuàng)建 另一個新進程 進程的創(chuàng)建 由進程創(chuàng)建原語實現(xiàn)進程的撤銷 由進程撤銷原語實現(xiàn)操作系統(tǒng)第三版操作系統(tǒng)第三版2、阻塞與喚醒進程的阻塞 如果正在執(zhí)行的進程期待的某一事件尚未發(fā)生時,該進程調(diào)用阻塞原語把自己轉(zhuǎn)到阻塞狀態(tài)進程的喚醒 當(dāng)被阻塞的進程期待的某一事件發(fā)生時,由“喚醒進程”調(diào)用喚醒原語,將該阻塞進程喚醒 操作系統(tǒng)第三版操作系統(tǒng)第三版3、掛起與激活進程的掛起 當(dāng)由于用戶進程或父進程的請求以及其它原因需要把某進程掛起時,系統(tǒng)使用掛起原語將該進程掛起 進程的激活 當(dāng)由于用戶進程或父進程的請求以及其它原因需要把某進程激活時,系統(tǒng)使用激活原語將該進程激活

10、 操作系統(tǒng)第三版操作系統(tǒng)第三版在多道程序系統(tǒng)中,由于資源共享與進程合作,使進程之間可能產(chǎn)生兩種形式的制約關(guān)系: (1)間接相互制約 (2)直接相互制約 1、基本概念 臨界資源與臨界區(qū) 臨界資源(Critical Resource)是指在一段時間內(nèi)只允許一個進程訪問的資源。 臨界區(qū)(Critical Section)是指進程中訪問臨界資源的那段代碼。 進程同步與互斥進程同步與互斥操作系統(tǒng)第三版操作系統(tǒng)第三版進程的互斥系統(tǒng)對臨界區(qū)的調(diào)度原則空閑讓進忙則等待有限等待讓權(quán)等待喚醒等待進程進程的同步 進程的同步是指并發(fā)進程之間存在一種制約關(guān)系,一個進程的執(zhí)行依賴另一個進程的消息,當(dāng)一個進程沒有得到另一個

11、進程的消息時應(yīng)等待,直到消息到達才被喚醒 操作系統(tǒng)第三版操作系統(tǒng)第三版進程同步機制進程同步就是多個相關(guān)進程在執(zhí)行次序上的協(xié)調(diào)。用于保證這種同步關(guān)系的相應(yīng)機制稱為進程同步機制。進程同步機制可以用硬件方法實現(xiàn),也可以用軟件方法實現(xiàn)。常見的進程同步機制有鎖機制、信號量機制、管程機制等。操作系統(tǒng)第三版操作系統(tǒng)第三版2、鎖機制進程進入臨界區(qū)的操作按三步進行:加鎖操作。執(zhí)行臨界區(qū)程序開鎖操作 開、關(guān)中斷 (單CPU系統(tǒng)) 使用CPU的硬件中斷標(biāo)志位作為臨界區(qū)的鎖 lock和unlock原語 取值只能是0或1。為0表示資源可以使用,為1表示資源已被占用。加鎖原語lock()描述為: while(=1); =

12、1; 開鎖原語unlock():0操作系統(tǒng)第三版操作系統(tǒng)第三版3、信號量機制 實現(xiàn)中應(yīng)注意的問題 整型信號量記錄型信號量AND型“信號量集”機制 一般“信號量集”機制 整型信號量信號量的應(yīng)用 實現(xiàn)進程互斥 實現(xiàn)進程同步 描述前趨關(guān)系 操作系統(tǒng)第三版操作系統(tǒng)第三版4、管程機制管程的引入把所有進程對某一臨界資源的使用進行集中控制,為每個共享資源設(shè)立一個專門的管程,統(tǒng)一管理各進程對該資源的訪問 。管程的定義一個管程定義了一個數(shù)據(jù)結(jié)構(gòu)和能為并發(fā)進程調(diào)用的在該數(shù)據(jù)結(jié)構(gòu)上的一組操作,這組操作能同步進程和改變管程中的數(shù)據(jù)。管程的主要特點模塊化抽象數(shù)據(jù)類型信息封裝操作系統(tǒng)第三版操作系統(tǒng)第三版5、經(jīng)典進程同步問

13、題生產(chǎn)者消費者問題 item Buffern; /*緩沖池有n個緩沖區(qū),用來放產(chǎn)品 */semaphore empty=n; /* 空緩沖區(qū)的數(shù)量*/semaphore full= 0; /* 滿緩沖區(qū)的數(shù)量 */semaphore mutex= 1; /* 互斥訪問緩沖區(qū) */int in = 0, out = 0; /* 放入/取出緩沖區(qū)指針 */main ( )cobeginproducer( );/*生產(chǎn)者*/consumer( ); /*消費者*/coend producer( ) while(TRUE) 生產(chǎn)一件產(chǎn)品;P(empty); /* 申請空緩沖區(qū),如沒有則等待 */P(m

14、utex); /* 有空緩沖區(qū),進程互斥使用緩沖區(qū) */Bufferin = 把產(chǎn)品放在這里; /* 把生產(chǎn)的產(chǎn)品放在緩沖區(qū)*/in = (in + 1) % n;/* 輸入指針調(diào)整,為下次放入作準(zhǔn)備 */V(mutex);/* 釋放緩沖區(qū),若有其它進程等待則喚醒之 */V(full); /* 滿緩沖區(qū)的數(shù)量加1 */consumer( ) while(TRUE) P(full);P(mutex);從這里取出產(chǎn)品 = Bufferout;out = (out + 1) % n;V(mutex);V(empty);消費這件產(chǎn)品; 操作系統(tǒng)第三版操作系統(tǒng)第三版讀者寫者問題int rc = 0; /

15、* 讀進程的數(shù)量 */semaphore wmutex= 1, rmutex= 1;main ( )cobeginreader( ); /*讀者進程*/writer( ); /*寫者進程*/coend reader( )while(TRUE)P(rmutex); /*等待無人讀rc時再繼續(xù)*/rc+; /*讀者進程數(shù)量加1*/if (rc = 1) P(wmutex); /* 只有自己一個讀者進程時,測試是否有寫者進程 */V(rmutex);讀文件;P(rmutex);rc-; /*讀完后讀者進程數(shù)量減1*/if (rc = 0) V(wmutex); /*沒有讀者進程,允許寫*/V(rmu

16、tex); writer( )while(TRUE) P(wmutex);寫文件;V(wmutex); 操作系統(tǒng)第三版操作系統(tǒng)第三版進程之間的信息交換稱為進程通信,用IPC(Inter-Process Communication)表示。并發(fā)進程為了能夠協(xié)同工作,必須互相交換信息,但交換的信息量可大可小。進程間只能交換少量信息的通信被稱為低級通信。進程間大批量數(shù)據(jù)信息的交換被稱為高級通信,通常簡稱為進程通信。 進程間高級通信方式可分為三大類 共享存儲器系統(tǒng) 消息傳遞系統(tǒng) 共享文件方式(管道通信) 進程通信進程通信操作系統(tǒng)第三版操作系統(tǒng)第三版1、共享存儲器系統(tǒng) (Shared-Memory Sys

17、tem)基于共享數(shù)據(jù)結(jié)構(gòu)的通信方式基于共享存儲區(qū)的通信方式 2、消息傳遞系統(tǒng) ( Message passing system ) 直接通信方式(消息緩沖通信機制) 間接通信方式(信箱通信方式) 消息傳遞系統(tǒng)的特點 3、共享文件方式 (Shared File)(管道通信)管道:用于連接一個讀進程和一個寫進程,以實現(xiàn)它們之間通信的共享文件管道按FIFO方式傳送大量數(shù)據(jù),且只能單向傳送數(shù)據(jù)操作系統(tǒng)第三版操作系統(tǒng)第三版1、調(diào)度的基本概念 高級、中級、低級調(diào)度 高級調(diào)度(High Level scheduling) 低級調(diào)度(Low Level Scheduling) 中級調(diào)度(Intermediat

18、e Level Scheduling) 進程調(diào)度方式 非搶占式調(diào)度 (Non-Preemptive Mode) 搶占式調(diào)度 (Preemptive Mode)進程調(diào)度進程調(diào)度操作系統(tǒng)第三版操作系統(tǒng)第三版 2、進程調(diào)度的實現(xiàn)進程切換 操作系統(tǒng)中的進程調(diào)度程序使當(dāng)前正在執(zhí)行的進程讓出處理機,選擇另外一個進程占用處理機的過程稱為進程切換,也叫進程上下文切換。進程切換的步驟:首先保存現(xiàn)場然后選擇要運行的程序最后恢復(fù)現(xiàn)場操作系統(tǒng)第三版操作系統(tǒng)第三版3、進程的調(diào)度算法先來先服務(wù)算法(FCFS) FCFS(First Come First Served) 算法也可稱為先進先出算法FIFO(First In

19、First Out),是最簡單的調(diào)度算法,適用于作業(yè)調(diào)度和進程調(diào)度,采用非搶占式調(diào)度方式。 最短進程優(yōu)先算法(SPF) SPF (Shortest Process First ) 算法適用于作業(yè)調(diào)度和進程調(diào)度,采用非搶占式調(diào)度方式。最高優(yōu)先權(quán)優(yōu)先調(diào)度算法(FPF)最高優(yōu)先級優(yōu)先算法(HPFHighest Priority First) 本算法考慮到緊迫型進程進入系統(tǒng)后能得到優(yōu)先處理,適用于作業(yè)調(diào)度和進程調(diào)度,是常用的一種調(diào)度算法,可以采用非搶占式或搶占式調(diào)度方式。操作系統(tǒng)第三版操作系統(tǒng)第三版時間片輪轉(zhuǎn)算法(RRRound Robin) 前面幾種算法主要用于批處理系統(tǒng),不能作為分時系統(tǒng)的主要調(diào)度

20、算法,因為它無法滿足分時系統(tǒng)中終端對響應(yīng)時間的要求。在分時系統(tǒng)中,常采用時間片輪轉(zhuǎn)調(diào)度算法,它是搶占式調(diào)度算法。該算法又分為簡單輪轉(zhuǎn)法和多隊列輪轉(zhuǎn)法兩種。多級反饋隊列算法(Round Robin with Multiple Feedback Queues) 多級反饋隊列調(diào)度算法是時間片輪轉(zhuǎn)算法和優(yōu)先級調(diào)度算法的綜合和發(fā)展,是目前公認(rèn)較好的一種進程調(diào)度算法。它采用搶占式調(diào)度方式,通過動態(tài)調(diào)整進程優(yōu)先級和時間片大小,不必事先估計進程的執(zhí)行時間,可兼顧多方面的系統(tǒng)目標(biāo),是一種考慮全面又靈活實用的調(diào)度算法。 操作系統(tǒng)第三版操作系統(tǒng)第三版1、資源可搶占資源和不可搶占資源共享資源和獨享資源(獨占資源) 永

21、久性資源和臨時性資源 進程使用一個資源的順序是:申請資源系統(tǒng)為進程分配資源使用資源釋放資源。如果申請失敗,不同的系統(tǒng)可能采用不同的對策:有的系統(tǒng)中,進程自動被阻塞、等待喚醒;有的系統(tǒng)給申請進程返回錯誤代碼,由申請進程等待一段時間后重試。 死死 鎖鎖操作系統(tǒng)第三版操作系統(tǒng)第三版2、死鎖的產(chǎn)生及原因 死鎖的產(chǎn)生和定義 在一組并發(fā)的進程中,如果每個進程都在等待被該組內(nèi)其它進程所占有的資源,而不釋放自己占有的被其它進程所等待的資源,就會出現(xiàn)僵持局面,導(dǎo)致這些進程因一直得不到所需資源而無法執(zhí)行,這種現(xiàn)象稱為進程死鎖,這組進程稱為死鎖進程。 死鎖的定義:死鎖是指多個并發(fā)的進程競爭資源而形成的一種僵局,若無

22、外力作用,這些進程將永遠不能再向前推進。 產(chǎn)生死鎖的原因 系統(tǒng)競爭臨界資源 進程推進順序不當(dāng)操作系統(tǒng)第三版操作系統(tǒng)第三版3、產(chǎn)生死鎖的必要條件 互斥條件保持和等待條件 不可搶占條件循環(huán)等待條件操作系統(tǒng)第三版操作系統(tǒng)第三版4、解決死鎖的基本策略 鴕鳥策略 l象鴕鳥一樣對死鎖視而不見、不予理睬。 不允許死鎖發(fā)生l靜態(tài)策略就是預(yù)防死鎖 l動態(tài)策略就是避免死鎖 允許死鎖發(fā)生l檢測和解除 解決死鎖的基本方法有以下三種:預(yù)防死鎖避免死鎖檢測和解除死鎖 操作系統(tǒng)第三版操作系統(tǒng)第三版1、使用“任務(wù)管理器”實現(xiàn)進程管理 “任務(wù)管理器”提供了正在計算上運行的程序和進程的相關(guān)信息,也顯示最常用的度量進程性能的單位。

23、使用任務(wù)管理器,可以查看正在運行的程序的狀態(tài),并終止已停止響應(yīng)的程序。也可以使用多達 15 個參數(shù)評估正在運行的進程的活動,查看反映 CPU 和內(nèi)存使用情況的圖形和數(shù)據(jù)。查看進程的相關(guān)信息終止進程查看進程的優(yōu)先級更改進程的優(yōu)先級給處理器指派進程使用“任務(wù)管理器” 的其它功能Windows系統(tǒng)的進程管理系統(tǒng)的進程管理操作系統(tǒng)第三版操作系統(tǒng)第三版2、使用Windows XP中的命令行工具實現(xiàn)進程管理Windows XP中的命令行工具tasklist 用來顯示應(yīng)用程序和本地或遠程系統(tǒng)上運行的相關(guān)任 務(wù)/進程的列表,執(zhí)行tasklist /? 顯示詳細的幫助信息。 Windows XP中的命令行工具t

24、askkill TASKKILL /F /IM notepad.exe /T TASKKILL /PID 1630 /PID 1641 /T Windows XP中的命令行工具ntsd命令 NTSD -C Q -P PID 操作系統(tǒng)第三版操作系統(tǒng)第三版習(xí) 題1. 畫出下面四條語句的前趨圖:S1:a=x+m;S2:b=y+n;S3:c=a+b;S4:d=c+e。 2. 程序并發(fā)執(zhí)行時有哪些特征? 3. 程序與進程之間有哪些區(qū)別和聯(lián)系?4. 進程實體由哪幾個部分組成,進程控制塊的作用是什么? 5. 進程有哪幾種基本狀態(tài)?進程是否可從阻塞狀態(tài)直接轉(zhuǎn)換到運行狀態(tài)?為什么? 6. 并發(fā)的進程之間相互制約

25、關(guān)系有哪兩種形式?請舉例說明。7. 請舉例說明什么是臨界資源、臨界區(qū)、進程同步、進程互斥?進程同步與互斥二者之間有何關(guān)系?操作系統(tǒng)對臨界區(qū)的調(diào)度原則是什么?8. 為某臨界區(qū)設(shè)置一把鎖w,當(dāng)w=1時,表示關(guān)鎖;w=0時,表示開鎖。請寫出開鎖原語和關(guān)鎖原語,并利用它們實現(xiàn)進程互斥。9. P、V操作的物理意義是什么? 在信號量S上執(zhí)行P、V操作時,S的值發(fā)生什么變化?當(dāng)S0,S=0,S0時,它們的物理意義是什么? 10. 有三個進程A、B、C,進程A通過一個緩沖區(qū)不斷地向進程B、C發(fā)送信息,A 每向緩沖區(qū)送入一個信息后,必須等進程B、C都取走后才可以發(fā)送下一個信息,B、C對A 送入的每一信息各取一次

26、,請用P、V操作實現(xiàn)它們之間的同步工作。操作系統(tǒng)第三版操作系統(tǒng)第三版11. 兩個并發(fā)進程的程序如下:int a=9; main( ) cobeginprocess1( );process2( );coend process1( ) while (TRUE) a=a+1; process2( ) while (TRUE) print(a);a=0; 在process1先執(zhí)行了二次循環(huán)后,process1和process2又并發(fā)執(zhí)行了一次循環(huán),會出現(xiàn)哪幾種情況?a的打印值應(yīng)該是多少?如果要求process1必須先執(zhí)行二次循環(huán),然后process1和process2開始并發(fā)循環(huán)執(zhí)行,執(zhí)行時不出現(xiàn)與時

27、間有關(guān)的錯誤,如何用PV操作來實現(xiàn)?12. 設(shè)有n個進程共享一臨界區(qū),對于下述情況,說明信號量的初值、含義,并用PV操作寫出有關(guān)進程的互斥算法:(1)一次只允許一個進程進入臨界區(qū)。(2)一次允許m(mn個進程進入臨界區(qū)。13. 某計算機機房有40臺計算機,最多可同時容納40個人上機,機房門很窄,每次只允許一個人出入。開始時機房沒有人上機。上機過程為:當(dāng)機房內(nèi)有40個人上機時,等待;機房有空位置時,機房門沒有人出入,就進入機房上機。上機完成后,機房門沒有人出入,就離開機房。多個上機進程可以并發(fā)執(zhí)行。請用PV操作實現(xiàn)上機進程的同步算法。14. 請用PV操作寫出下面前趨圖的并發(fā)程序。(圖見教材P85)15. 什么是高級、低級和中級調(diào)度?

溫馨提示

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

評論

0/150

提交評論