進程管理習(xí)題及答案_第1頁
進程管理習(xí)題及答案_第2頁
免費預(yù)覽已結(jié)束,剩余23頁可下載查看

下載本文檔

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

文檔簡介

1、.進程管理習(xí)題答案一選擇題1在進程管理中,當時進程從阻塞狀態(tài)變?yōu)榫途w狀態(tài).A. 進程被進程調(diào)度程序選中 B等待某一事件C等待的事件發(fā)生 D時間片用完答:C2分配到必要的資源并獲得處理機時的進程狀態(tài)是 。A就緒狀態(tài) B執(zhí)行狀態(tài)C阻塞狀態(tài) D撤消狀態(tài)答:B3P、V操作是。A兩條低級進程通信原語 B兩組不同的機器指令C兩條系統(tǒng)調(diào)用命令 D兩條高級進程通信原語答:A4對進程的管理和控制使用。A指令 B原語C信號量 D信箱通信答:B5進程的并發(fā)執(zhí)行是指假設(shè)干個進程。A同時執(zhí)行 B在執(zhí)行的時間上是重疊的C在執(zhí)行的時間上是不可重疊的 D共享系統(tǒng)資源答:B6假設(shè)P、V操作的信號量S初值為2,當前值為1,那么表

2、示有等待進程。A0個 B1個 C 2個 D3個答:B7進程的三個根本狀態(tài)在一定條件下可以相互轉(zhuǎn)化,進程由就緒狀態(tài)變?yōu)檫\行狀態(tài)的條件是;由運行狀態(tài)變?yōu)樽枞麪顟B(tài)的條件是 。A時間片用完 B等待某事件發(fā)生C等待的某事件己發(fā)生 D被進程調(diào)度程序選中答,D B8以下的進程狀態(tài)變化中,變化是不可能發(fā)生的。A運行一就緒 B運行一等待C等待一運行 D等待一就緒答:C9一個運行的進程用完了分配給它的時間片后,它的狀態(tài)變?yōu)?。A就緒 B等待C運行 D由用戶自己確定答:A10用P、V操作管理臨界區(qū)時,信號量的初值應(yīng)定義為 。A一1 B0 C1 D任意值答:C11用V操作喚醒一個等待進程時,被喚醒進程的狀態(tài)變?yōu)锳等待

3、 B就緒 C運行 D完成答:B12進程間的同步是指進程間在邏輯上的相互關(guān)系。A聯(lián)接 B制約 C. 繼續(xù) D調(diào)用答:B13是一種只能進展P操作和V操作的特殊變量。A調(diào)度 B進程 C同步 D信號量答:D14下面對進程的描述中,錯誤的選項是 。A進程是動態(tài)的概念 B進程執(zhí)行需要處理機C進程是有生命期的 D進程是指令的集合答:D15下面的表達中正確的選項是。A操作系統(tǒng)的一個重要概念是進程,因此不同進程所執(zhí)行的代碼也一定不同。B為了防止發(fā)生進程死鎖,各進程只能逐個申請資源。C操作系統(tǒng)用PCB管理進程,用戶進程可以從此PCB中讀出與本身運行狀況有關(guān)的信息D進程同步是指某些進程之間在邏輯上的相互制約關(guān)系答:

4、D16進程控制就是對系統(tǒng)中的進程實施有效的管理,通過使用、進程撤銷、進程阻塞、進程喚醒等進程控制原語實現(xiàn)。A進程運行 B進程管理C進程創(chuàng)立 D進程同步答:C17操作系統(tǒng)通過對進程進展管理。AJCB BPCB CDCT DCHCT答:B18用P、V操作可以解決互斥問題。A一切 B某些 C正確 D錯誤答:A19通常,用戶進程被建立后,。A便一直存在于系統(tǒng)中,直到被操作人員撤消B隨著作業(yè)運行正?;虿徽M戤叾废鸆隨著時間片輪轉(zhuǎn)而撤消與建立D隨著進程的阻塞或喚醒而撤消與建立答:B20一個進程被喚醒意味著。A該進程重新占有了CPU B它的優(yōu)先權(quán)變?yōu)樽畲笃銹CB移至等待隊列隊首 D進程變?yōu)榫途w狀態(tài)答:D

5、21下面所述步驟中,不是創(chuàng)立進程所必需的。A由調(diào)度程序為進程分配CPU B建立一個進程控制塊C為進程分配內(nèi)存 D將進程控制塊鏈入就緒隊列答:A22多道程序環(huán)境下,操作系統(tǒng)分配資源以為根本單位。A程序 B指令 C. 進程 D作業(yè)答:C 23對于兩個并發(fā)進程,設(shè)互斥信號量為mutex,假設(shè)mutex=0,那么 。A表示沒有進程進入臨界區(qū)B表示有一個進程進入臨界區(qū)C表示有一個進程進入臨界區(qū),另一個進程等待進入D表示有兩個進程進入臨界區(qū)答:B 24兩個進程合作完成一個任務(wù),在并發(fā)執(zhí)行中,一個進程要等待其合作伙伴發(fā)來消息,或者建立某個條件后再向前執(zhí)行,這種制約性合作關(guān)系被稱為進程的。A同步 B互斥 C調(diào)

6、度 D執(zhí)行答:A 25為了進展進程協(xié)調(diào),進程之間應(yīng)當具有一定的聯(lián)系,這種聯(lián)系通常采用進程間交換數(shù)據(jù)的方式進展,這種方式稱為。A進程互斥 B進程同步 C進程制約 D進程通信答:D 26設(shè)有5個進程共享一個互斥段,如果最多允許有3個進程同時進入互斥段,那么所采用的互斥信號量的初值應(yīng)是。A5 B3 C1 D0答:B27支持多道程序設(shè)計的操作系統(tǒng)在運行過程中,不斷地選擇新進程運行來實現(xiàn)CPU的共享,但其中不是引起操作系統(tǒng)選擇新進程的直接原因。A. 運行進程的時間片用完 B. 運行進程出錯C. 運行進程要等待某事件的發(fā)生 D. 有新進程進入就緒狀態(tài)答:D28在多道程序設(shè)計系統(tǒng)中,多個計算問題同時裝入計算

7、機系統(tǒng)的主存儲器。A并發(fā)執(zhí)行 B順序執(zhí)行C. 并行執(zhí)行 D同時執(zhí)行答:A29引入多道程序設(shè)計技術(shù)后,處理器的利用率。A有所改善 B極大地提高C降低了 D無變化,僅使程序執(zhí)行方便答:B30從總體上說,采用多道程序設(shè)計技術(shù)可單位時間的算題量,但對每一個算題,從算題開場到全部完成所需的時間比單道執(zhí)行所需的時間可能要。A增加,減少 B增加,延長C. 減少,延長 D減少,減少答:B31同一程序運行在不同的數(shù)據(jù)集上,創(chuàng)立了的進程。A同步 B互斥C. 一樣 D不同答:D二填空題1進程的根本特征有、 、獨立性、異步性及構(gòu)造特征。答:動態(tài)性 并發(fā)性2信號量的物理意義是當信號量值大于零時表示;當信號量值小于零時其

8、絕對值表示。答:可用資源的數(shù)目 因請求該資源而被阻塞的進程數(shù)目3臨界資源的概念是,而臨界區(qū)是指 。答:一次僅允許一個進程訪問的資源進程中訪問臨界資源的那段程序代碼4進程在運行過程中有三種根本狀態(tài),它們是、 、。答:運行 就緒 等待阻塞5進程主要由、 、三局部內(nèi)容組成,其中是進程存在的唯一標志,而局部也可以為其他進程共享。答:程序段 數(shù)據(jù)段 PCB PCB 程序段6系統(tǒng)中各進程之間邏輯上的相互制約關(guān)系稱為。答:進程同步7:假設(shè)一個進程己進入臨界區(qū),其他欲進入臨界區(qū)的進程必須 。答:等待8將進程的在一起就形成了進程隊列。答:PCB9用P、V操作管理臨界區(qū)時,任何一個進程在進入臨界區(qū)之前應(yīng)調(diào)用操作,

9、在退出臨界區(qū)時應(yīng)調(diào)用操作。答:P V10用信箱實現(xiàn)通信時,應(yīng)有和兩條根本原語。答:發(fā)送 接收11在多道程序系統(tǒng)中,進程之間存在著的不同制約關(guān)系可以劃分為兩類:與 。指進程間具有的一定邏輯關(guān)系;是指進程間在使用共享資源方面的約束關(guān)系。答:同步 互斥 同步 互斥12有m個進程共享同一臨界資源,假設(shè)使用信號量機制實現(xiàn)對臨界資源的互斥訪問,那么信號量值的變化X圍是。答:1至(m1)13設(shè)系統(tǒng)中有n(n>2)個進程,且當前不再執(zhí)行進程調(diào)度程序,試考慮下述4種情況:沒有運行進程,有2個就緒進程,n個進程處于等待狀態(tài)。有1個運行進程,沒有就緒進程,n一1進程處于等待狀態(tài)。有1個運行進程,有1個就緒進程

10、,n一2進程處于等待狀態(tài)。有1個運行進程,n一1個就緒進程,沒有進程處于等待狀態(tài)。上述情況中,不可能發(fā)生的情況是。答:14在一個單處理機系統(tǒng)中,假設(shè)有5個用戶進程,且假設(shè)當前時刻為用戶態(tài),那么處于就緒狀態(tài)的用戶進程最多有個,最少有個。答:4 015操作系統(tǒng)中,對信號量S的P原語操作定義中,使進程進入相應(yīng)等待隊列等待的條件是。答:S<016下面關(guān)于進程的表達不正確的選項是。進程申請CPU得不到滿足時,其狀態(tài)變?yōu)榈却隣顟B(tài)。在單CPU系統(tǒng)中,任一時刻至多有一個進程處于運行狀態(tài)。優(yōu)先級是進展進程調(diào)度的重要依據(jù),一旦確定不能改變。進程獲得處理機而運行是通過調(diào)度而實現(xiàn)的。答:17信箱邏輯上分成和兩局

11、部。中存放有關(guān)信箱的描述。由假設(shè)干格子組成,每格存放一信件,格子的數(shù)目和大小在創(chuàng)立信箱時確定。答:信箱頭 信箱體18當多個進程等待分配處理機時,系統(tǒng)按一種規(guī)定的策略從多個處于狀態(tài)的進程中選擇一個進程,讓它占有處理機,被選中的進程就進入了狀態(tài)。答:就緒、執(zhí)行19假設(shè)使當前運行的進程總是優(yōu)先級最高的進程,應(yīng)選擇進程調(diào)度算法。答:搶占式剝奪式20操作系統(tǒng)中用于完成一些特定功能的、不可中斷的過程稱為。答:原語三簡答題1在操作系統(tǒng)中為什么要引入進程概念"它與程序的關(guān)系是怎樣的"答:在操作系統(tǒng)中,由于多道程序并發(fā)執(zhí)行時共享系統(tǒng)資源,共同決定這些資源的狀態(tài),因此系統(tǒng)中各程序在執(zhí)行過程中就

12、出現(xiàn)了相互制約的新關(guān)系,程序的執(zhí)行出現(xiàn)“走走停停的新狀態(tài)。這些都是在程序執(zhí)行的動態(tài)過程中發(fā)生的。用程序這個靜態(tài)概念已不能如實反映程序并發(fā)執(zhí)行過程中的這些特征。為此,人們引入“進程這一概念來描述程序動態(tài)執(zhí)行過程的性質(zhì)。進程和程序是既有聯(lián)系又有區(qū)別的兩個概念,進程不能脫離具體程序而虛設(shè),程序規(guī)定了相應(yīng)進程所要完成的動作。它們的主要區(qū)別如下:(1)程序是指令的有序集合,其本身沒有任何運行的含義,它是一個靜態(tài)的概念;進程是程序在處理機上的一次執(zhí)行過程,它是一個動態(tài)概念。(2)程序的存在是永久的,而進程那么是有生命期的,它因創(chuàng)立而產(chǎn)生,因調(diào)度而執(zhí)行,因得不到資源而暫停,因撤銷而消亡。(3)程序僅是指令的

13、有序集合。而進程那么由程序、數(shù)據(jù)和進程控制塊組成。(4)在傳統(tǒng)的操作系統(tǒng)中,進程是資源分配和調(diào)度運行的根本單位,而程序不是。(5)進程與程序之間不是一一對應(yīng)的,即同一程序同時運行于假設(shè)干不同的數(shù)據(jù)集合上,它將屬于假設(shè)干個不同的進程;而一個進程至少對應(yīng)執(zhí)行一個程序。2為了實現(xiàn)并發(fā)進程間的合作和協(xié)調(diào)工作,以及保證系統(tǒng)的平安,操作系統(tǒng)在進程管理方面應(yīng)做哪些工作"答:(1)進程控制:系統(tǒng)必須設(shè)置一套控制機構(gòu)來實現(xiàn)進程創(chuàng)立、進程撤消以及進程在運行過程中的狀態(tài)轉(zhuǎn)換。(2)進程同步:系統(tǒng)必須設(shè)置同步機制來實現(xiàn)對所有進程的運行進展協(xié)調(diào),協(xié)調(diào)的方式包括進程的互斥和進程的同步。(3)進程通信:多道程序環(huán)

14、境下可能需要諸進程合作完成一個任務(wù),這些進程相互間需要通過交換信息來協(xié)調(diào)各自工作的進度。因此系統(tǒng)必須具有進程之間通信(交換信息)的能力。(4)進程調(diào)度:系統(tǒng)必須能夠在處理機空閑時,按一定算法從就緒進程隊列中選擇一個就緒進程,把處理機分配給它,并為之設(shè)置運行的現(xiàn)場使其投入運行。3在操作系統(tǒng)中引入線程概念的主要目的是什么.答:減少程序并發(fā)執(zhí)行時所需付出的時空開銷,提高程序執(zhí)行的并發(fā)度。特別有利于共享存儲器的多處理機系統(tǒng),和更加適合cs模型。4在一個單CPU的多道程序設(shè)計系統(tǒng)中,假設(shè)在某一時刻有N個進程同時存在,那么處于運行態(tài)、等待態(tài)和就緒態(tài)進程的最小和最大值分別可能是多少.答:假設(shè)多道程序設(shè)計系統(tǒng)

15、中,在某一時刻有N個進程同時存在,那么處于運行態(tài)的進程最少0個,最大1個;處于就緒態(tài)的進程最少0個,最大N1個;處于等待態(tài)的進程最少0個,最大N個。5進程之間存在哪幾種相互制約關(guān)系"各是什么原因引起的"以下活動分別屬于哪種制約關(guān)系"(1)假設(shè)干同學(xué)去圖書館借書;(2)兩隊舉行籃球比賽;(3)流水線生產(chǎn)各道工序;(4)商品生產(chǎn)和社會消費答:進程之間的制約關(guān)系分為直接制約關(guān)系(即同步)和間接制約關(guān)系(即互斥)。同步是因合作進程之間協(xié)調(diào)彼此的工作而控制自己的執(zhí)行速度,即因相互合作、相互等待而產(chǎn)生的制約關(guān)系;而互斥是進程之間競爭臨界資源而制止兩個以上的進程同時進入臨界區(qū)所

16、發(fā)生的制約關(guān)系。 (1)屬于互斥關(guān)系,因為一本書只能借給一個同學(xué)。 (2)屬于互斥關(guān)系,籃球只有一個,兩隊都要爭奪。 (3)居于同步關(guān)系,各道工序的開場都依賴前一道工序的完成。 (4)屬于同步關(guān)系,商品沒生產(chǎn)出來那么消費無法進展,商品沒有消費完那么無須再生產(chǎn)。6為了讓用戶進程互斥地進入臨界區(qū),可以把整個臨界區(qū)實現(xiàn)成不可中斷的過程,即讓用戶具有屏蔽所有中斷的能力。每當用戶程序進入臨界區(qū)的時候,屏蔽所有中斷;當出了臨界區(qū)的時候,再開放所有中斷。你認為這種方法有什么缺點。答:用戶進程進入臨界區(qū)時屏蔽所有中斷,應(yīng)當也包括系統(tǒng)程序。假設(shè)屏蔽的是用戶進程,確實可以保護臨界資源,但假設(shè)系統(tǒng)所發(fā)出的中斷也被屏

17、蔽,那么會引起錯誤,因為系統(tǒng)的中斷往往與當前運行的程序無關(guān),卻可能是一些重要的硬件中斷,如電源故障等,故不可盲目屏蔽所有中斷;又或者當時發(fā)出故障中斷的中斷源恰好是該臨界資源,那么更應(yīng)該及時響應(yīng)處理。7設(shè)有n個進程共享一個互斥段,對于如下兩種情況:(1)如果每次只允許一個進程進入互斥段; (2)如果每次最多允許m個進程m<n同時進入互斥段。試問:所采用的互斥信號量初值是否一樣"信號量的變化X圍如何"答:(1)信號量的初值為1。信號量的變化X圍是1,0,1,(n1)。(2)信號量的初值為m。信號量的變化X圍是:m,m1,,1,0,(nm)。四應(yīng)用題1假設(shè)程序A和B單獨執(zhí)行

18、時分別需要1小時和1.5小時,其中CPU工作時間分別為18分鐘和27分鐘。假設(shè)采用多道程序設(shè)計方法,讓A和B并行工作,假定CPU利用率到達50,另加15分鐘系統(tǒng)開銷,請問系統(tǒng)效率能提高多少"解:在多道系統(tǒng)中,程序A和B共用的CPU時間為:(18十27)5090分鐘系統(tǒng)效率提高(A和B單獨執(zhí)行的時間總和多道方式下總時間)A和B單獨執(zhí)行的時間總和,即(60十90)(90十15)(60十90)45150302在測量控制系統(tǒng)中,數(shù)據(jù)采集任務(wù)把所采集的數(shù)據(jù)送入一單緩沖區(qū);計算任務(wù)從該單緩沖區(qū)中取出數(shù)據(jù)進展計算。試寫出利用信號量機制實現(xiàn)兩者共享單緩沖區(qū)的同步算法。 解:在此題中,應(yīng)設(shè)置兩個信號童

19、sf,se,信號量sf表示緩沖區(qū)中是否有可供打印的計算結(jié)果,其初值為o;信號量se用于表示緩沖區(qū)有無空位置存放新的信息,其初值為1。此題的同步描述如下:int se=1;int sf=0;main( ) cobeginget ( ) ;pute ( ); coendget ( ) while (采集工作未完成) 采集一個數(shù)據(jù);p(se);將數(shù)據(jù)送入緩沖區(qū);v(sf); pute ( )while (計算工作未完成) p(sf); 從緩沖區(qū)中取出數(shù)據(jù); v(se); 進展數(shù)據(jù)計算;3以下圖給出了四個進程合作完成某一任務(wù)的前趨圖,試說明這四個進程間的同步關(guān)系并用P、V操作描述它。解:上圖說明任務(wù)啟

20、動后Sl先執(zhí)行。當S1完畢后,S2、S3可以開場執(zhí)行。S2、S3完成后,S4才能開場執(zhí)行。為了確保這一執(zhí)行順序,設(shè)三個同步信號量b2、b3、b4分別表示進程S2、S3、S4是否可以開場執(zhí)行,其初值均為0。這四個進程的同步描述如下:int b2=0;int b3=0;int b4=0;main ( )cobegin s1 ( ); s2 ( ); s3 ( ); s4 ( );coends1 ( )v(b2);v(b3);s2 ( )p(b2);v(b4);s3 ( )p(b3);v(b4);s4 ( )p(b4);p(b4); /*因在s2和s3完成后均對b4作了v操作,因此這里要用兩個p操作

21、*/4某系統(tǒng)的進程狀態(tài)轉(zhuǎn)換圖如下,請說明:1引起各種狀態(tài)轉(zhuǎn)換的典型事件有哪些"2)當我們觀察系統(tǒng)中某些進程時,能夠看到某一進程產(chǎn)生的一次狀態(tài)轉(zhuǎn)換能引起另一進程作一次狀態(tài)轉(zhuǎn)換。在什么情況下,當一個進程發(fā)生轉(zhuǎn)換3時能立即引起另一個進程發(fā)生轉(zhuǎn)換l"3)試說明是否會發(fā)生下述因果轉(zhuǎn)換:2 l3241答:1在此題所給的進程狀態(tài)轉(zhuǎn)換圖中存在四種狀態(tài)轉(zhuǎn)換。當進程調(diào)度程序從就緒隊 列中選取一個進程投入運行時引起轉(zhuǎn)換1;正在執(zhí)行的進程如因時間片用完而被暫停執(zhí)行就會引起轉(zhuǎn)換2;正在執(zhí)行的進程因等待的事件尚未發(fā)生而無法執(zhí)行(如進程請求完成I/O)那么會引起轉(zhuǎn)換3;當進程等待的事件發(fā)生時(如I/O完

22、成)那么會引起轉(zhuǎn)換4。(2)如果就緒隊列非空,那么一個進程的轉(zhuǎn)換3會立即引起另一個進程的轉(zhuǎn)換1。這是因為一個進程發(fā)生轉(zhuǎn)換3意味著正在執(zhí)行的進程由執(zhí)行狀態(tài)變?yōu)樽枞麪顟B(tài),這時處理機空閑,進程調(diào)度程序必然會從就緒隊列中選取一個進程并將它投入運行,因此只要就緒隊列非空,一個進程的轉(zhuǎn)換3能立即引起另一個進程的轉(zhuǎn)換1。(3)所謂因果轉(zhuǎn)換指的是有兩個轉(zhuǎn)換,一個轉(zhuǎn)換的發(fā)生會引起另一個轉(zhuǎn)換的發(fā)生,前一個轉(zhuǎn)換稱為因,后一個轉(zhuǎn)換稱為果,這兩個轉(zhuǎn)換稱為因果轉(zhuǎn)換。當然這種因果關(guān)系并不是什么時候都能發(fā)生,而是在一定條件下才會發(fā)生。 2 1:發(fā)生轉(zhuǎn)換2時,就必然引起另一進程的轉(zhuǎn)換1。因為當發(fā)生轉(zhuǎn)換2時,正在執(zhí)行的進程從執(zhí)行

23、狀態(tài)變?yōu)榫途w狀態(tài),進程調(diào)度程序必然會從就緒隊列中選取一個進程投入運行,即發(fā)生轉(zhuǎn)換1。3 2: 某個進程的轉(zhuǎn)換3決不可能引起另一進程發(fā)生轉(zhuǎn)換2。這是因為當前執(zhí)行進程從執(zhí)行狀態(tài)變?yōu)樽枞麪顟B(tài)不可能又從執(zhí)行狀態(tài)變?yōu)榫途w狀態(tài)。4 1: 當處理機空閑且就緒隊列為空時,某一進程的轉(zhuǎn)換4就會引起該進程的轉(zhuǎn)換1。因為此時處理機空閑,一旦某個進程發(fā)生轉(zhuǎn)換4,就意味著有一個進程從阻塞狀態(tài)變?yōu)榫途w狀態(tài),因而調(diào)度程序就會將就緒隊列中的此進程投入運行。5某車站售票廳,任何時刻最多可容納20名購票者進入,當售票廳中少于20名購票者時,廳外的購票者可立即進入,否那么需在外面等待。假設(shè)把一個購票者看作一個進程,請答復(fù)以下問題:

24、(1)用PV操作管理這些并發(fā)進程時,應(yīng)怎樣定義信號量,寫出信號量的初值以及信號量各種取值的含義。(2)根據(jù)所定義的信號量,把應(yīng)執(zhí)行的P、V操作填入下面橫線上,以保證進程能夠正確地并發(fā)執(zhí)行。(3)假設(shè)欲購票者最多為n個人,寫出信號量可能的變化X圍(最大值和最小值)。答:(1)定義一信號量S,初始值為20,其意義如下:S>0S的值表示可繼續(xù)進入售票廳的人數(shù)S=0表示售票廳中已有20名顧客(購票者)S<0|S|的值為等待進入售票廳的人數(shù)(2)根據(jù)所定義的信號量,把應(yīng)執(zhí)行的P、V操作填入下面橫線上,以保證進程能夠正確地并發(fā)執(zhí)行。COBEGINPROCESSPi(i=1,2,)begin;P

25、(S)進入售票廳;購票;退出;V(S)end;COEND(3)S的最大值為20;S的最小值為20n6理發(fā)店里有一位理發(fā)師,一把理發(fā)椅和N把供等候理發(fā)的顧客坐的椅子.如果沒有顧客,那么理發(fā)師便在理發(fā)椅上睡覺.當一個顧客到來時,他必須先喚醒理發(fā)師.如果顧客到來時理發(fā)師正在理發(fā),那么如果有空椅子,可坐下來等;否那么離開。解:定義信號量如下:VarSn:semaphore; 位子數(shù)目,初值為nS:semaphore; 理發(fā)師睡覺,初值為1 mutex:semaphore; 初值為1用P、V操作實現(xiàn)如下:顧客進程 i:P(Sn);門外觀望P(mutex);進門;V(mutex);V(S); if(sn=

26、n-1) v(s); 等候;理發(fā);V(Sn)P(mutex);出門;V(mutex);理發(fā)師進程:Repeat P(S); P(mutex);叫人理發(fā); V(mutex);理發(fā);Until false;7試寫出用加鎖原語和開鎖原語實現(xiàn)兩個進程關(guān)于臨界資源的操作的描述。 答:Program test begin s:=0 (表示該資源可用) cobegin (1) A: begin 加鎖原語; 臨界區(qū)A; 開鎖原語; end B: begin 加鎖原語; 臨界區(qū)B; 開鎖原語; end conend end8. 桌子上有一只盤子,每次只能放入一只水果。爸爸專向盤中放蘋果,媽媽專向盤中放桔子,一個兒子專等吃盤中的桔子,一個女兒專等吃盤中的蘋果。請利用P、V操作實現(xiàn)他們之間的同步。解:在此題中,應(yīng)設(shè)置三個信號量s、so、sa,信號量s表示盤子是否為空,其初值為1;信號量so表示盤中是否有桔子,其初值為0;信號量sa表示盤中是否有蘋果,其初值為0。同步描述如下:int s=1;int sa=0;int so=0;main ( ) co

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論