操作系統(tǒng)進(jìn)程通信練習(xí)及答案_第1頁
操作系統(tǒng)進(jìn)程通信練習(xí)及答案_第2頁
操作系統(tǒng)進(jìn)程通信練習(xí)及答案_第3頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、.進(jìn)程同步與通信練習(xí)題( 一 ) 單項選擇題1. 臨界區(qū)是指 ( ) 。 A. 并發(fā)進(jìn)程中用于實現(xiàn)進(jìn)程互斥的程序段B 并發(fā)進(jìn)程中用于實現(xiàn)進(jìn)程同步的程序段 C 并發(fā)進(jìn)程中用戶實現(xiàn)進(jìn)程通信的程序段D 并發(fā)進(jìn)程中與共享變量有關(guān)的程序段2相關(guān)臨界區(qū)是指 ( ) 。A. 一個獨占資源 B 并發(fā)進(jìn)程中與共享變量有關(guān)的程序段c一個共享資源 D 并發(fā)進(jìn)程中涉及相同變量的那些程序段3管理若干進(jìn)程共享某一資源的相關(guān)臨界區(qū)應(yīng)滿足三個要求,其中 ( ) 不考慮。 A一個進(jìn)程可以搶占己分配給另一進(jìn)程的資源B 任何進(jìn)程不應(yīng)該無限地逗留在它的臨界區(qū)中c 一次最多讓一個進(jìn)程在臨界區(qū)執(zhí)行D 不能強(qiáng)迫一個進(jìn)程無限地等待進(jìn)入它的臨

2、界區(qū)4、( ) 是只能由 P 和 v 操作所改變的整型變量。A 共享變量 B 鎖 c 整型信號量D 記錄型信號量5對于整型信號量,在執(zhí)行一次P 操作時,信號量的值應(yīng)( )。 A不變 B加1 C減1 D 減指定數(shù)值6在執(zhí)行 v 操作時, 當(dāng)信號量的值 ( ) 時,應(yīng)釋放一個等待該信號量的進(jìn)程。A>0 B.<0 c.>=0D.<=07.Pv 操作必須在屏蔽中斷下執(zhí)行,這種不可變中斷的過程稱為( ) 。A 初始化程序 B 原語c子程序 D 控制模塊8進(jìn)程間的互斥與同步分別表示了各進(jìn)程間的()。 A 競爭與協(xié)作 B相互獨立與相互制約 c 不同狀態(tài)D 動態(tài)性與并發(fā)性9并發(fā)進(jìn)程在訪

3、問共享資源時的基本關(guān)系為()。 A 相互獨立與有交往的B 互斥與同步c 并行執(zhí)行與資源共享D 信息傳遞與信息緩沖10在進(jìn)程通信中, ( ) 常用信件交換信息。A 低級通信B高級通信 c 消息通信D管道通信11在間接通信時,用 send(N , M)原語發(fā)送信件,其中N表示 () 。 A發(fā)送信件的進(jìn)程名 B 接收信件的進(jìn)程名C 信箱名 D信件內(nèi)容12下列對線程的描述中,( )是錯誤的。 A 不同的線程可執(zhí)行相同的程序B 線程是資源分配單位 c 線程是調(diào)度和執(zhí)行單位D 同一進(jìn)程中的線程可共享該進(jìn)程的主存空間13實現(xiàn)進(jìn)程互斥時,用 ( ) 對應(yīng),對同一個信號量調(diào)用Pv 操作實現(xiàn)互斥。 A 一個信號量

4、與一個臨界區(qū) B 一個信號量與個相關(guān)臨界區(qū)c 一個信號量與一組相關(guān)臨界區(qū)D 一個信號量與一個消息14實現(xiàn)進(jìn)程同步時, 每一個消息與一個信號量對應(yīng),進(jìn)程( )可把不同的消息發(fā)送出去。A在同一信號量上調(diào)用P 操作B 在不同信號量上調(diào)用P 操作 c 在同一信號量上調(diào)用v操作 D 在不同信號量上調(diào)用v 操作( 二) 填空題1目前使用的計算機(jī)的基本特點是處理器_執(zhí)行指令。 2 進(jìn)程的 _是指進(jìn)程在順序處理器上的執(zhí)行是按順序進(jìn)行的。3 當(dāng)一個進(jìn)程獨占處理器順序執(zhí)行時,具有_和_ 兩個特性。 4 進(jìn)程的封閉性是指進(jìn)程的執(zhí)行結(jié)果只取決于_,不受外界影響。5進(jìn)程的可再現(xiàn)性是指當(dāng)進(jìn)程再次重復(fù)執(zhí)行時,必定獲得_的結(jié)

5、果。 6 一個進(jìn)程的工作在沒有全部完成之前, 另一個進(jìn)程就可以開始工作,則稱這些進(jìn)程為 _. 7若系統(tǒng)中存在一組可同時執(zhí)行的進(jìn)程,則就說該組進(jìn)程具有_。 8如果個進(jìn)程的執(zhí)行不影響其他進(jìn)程的執(zhí)行,且與其他進(jìn)程的進(jìn)展情況無關(guān),則說這些并發(fā)進(jìn)程相互之間是_的。 9 如果一個進(jìn)程的執(zhí)行依賴其他進(jìn)程的進(jìn)展情況,則說這些并發(fā)進(jìn)程相互之間是_10有交往的并發(fā)進(jìn)程一定_某些資源。 11 有交往的進(jìn)程執(zhí)行時可能產(chǎn)生與時間有精選文檔.關(guān)的錯誤,造成不正確的因素與進(jìn)程_、 _和外界的影響有關(guān)。12 對 _的使用不受限制, 這是使有交往的并發(fā)進(jìn)程執(zhí)行時出現(xiàn)與時間有關(guān)的錯誤的根本原因。13 臨界區(qū)是指并發(fā)進(jìn)程中與_有關(guān)

6、的程序段。14 _是指并發(fā)進(jìn)程中涉及到相同變量的那些程序段。15 只要涉及相同變量的若干進(jìn)程的相關(guān)臨界區(qū)_,就不會造成與時間有關(guān)的錯誤。16 進(jìn)程的 _是指當(dāng)有若干進(jìn)程都要使用某一共享資源時,任何時刻最多只允許一個進(jìn)程去使用。17 Pv 操作是在一個信號量上進(jìn)行的_ 的過程,這種過程也稱為 _ 18利用 Pv 操作管理相關(guān)臨界區(qū)時,必須成對出現(xiàn),在進(jìn)入臨界區(qū)之前要調(diào)用 _,在完成臨界區(qū)操作后要調(diào)用_。 l9. 若信號量的初值為1,用 Pv 操作能限制一次 _進(jìn)程進(jìn)入臨界區(qū)操作。20 進(jìn)程的 _是指并發(fā)進(jìn)程之間存在一種制約關(guān)系,一個進(jìn)程的執(zhí)行依賴另一個進(jìn)程的消息。21 _能把它進(jìn)程需要的消息發(fā)送

7、出去,也能測試自己需要的消息是否到達(dá)。22 Pv 操作不僅是實現(xiàn)_的有效工具,而且也是一種簡單而方便的 _工具。 23 用 Pv 操作實現(xiàn)進(jìn)程同步時,調(diào)用 _測試消息是否到達(dá),調(diào)用 _發(fā)送消息。 24 用 Pv 操作實現(xiàn)生產(chǎn)者消費者之間的同步時,在訪問共享緩沖區(qū)的_ 和_ 分別調(diào)動 P 操作和 v 操作。 25 進(jìn)程的互斥實際上是進(jìn)程_的一種持殊情況。 26 進(jìn)程的互斥是進(jìn)程間 _ 共享資源的使用權(quán),其結(jié)果沒有_,而進(jìn)程的同步則在共享資源的并發(fā)進(jìn)程之間有一種_依賴關(guān)系。27 Pv 操作也可看作為進(jìn)程間的一種通信方式,由于只交換了少量的信息,故稱為_28通過專門的通信機(jī)制實現(xiàn)進(jìn)程間交換大量信息的

8、通信方式稱為_。 29 采用高級通信方式時, 進(jìn)程間用_來交換信息。 30 最基本的通信原語有兩條, 它們是 _原語和 _原語。 31 進(jìn)程通信方式有兩種:_和_ 。 32 直接通信是固定在_進(jìn)程之間通信,而間接通信以信箱為媒體實現(xiàn)通信。33 一個信息可以由 _和 _兩部分組成。 34 進(jìn)程間通過信件交換信息, 可實現(xiàn) _。 35_ 是進(jìn)程中可以獨立執(zhí)行的子任務(wù)。36 線程是處理器的獨立_單位,多個線程可以_執(zhí)行。 37 線程與進(jìn)程有許多相似之處,所以線程又稱為_。 38 線程在生命周期內(nèi)會經(jīng)歷_、 _和 _之間各種狀態(tài)變化。39采用多線程技術(shù)可把生產(chǎn)者消費者兩個進(jìn)程作為一個進(jìn)程和進(jìn)程中的兩個

9、線程來處理,這兩個線程仍具有_,但不在需要額外的 _。 40 在使 Pv操作實現(xiàn)進(jìn)程互斥時,調(diào)用 _相當(dāng)于申請一個共享資源,調(diào)用 _相當(dāng)于歸還共享資源的使用權(quán)。 41 在多線程操作系統(tǒng)中, 線程與進(jìn)程的根本區(qū)別在于進(jìn)程作為_ 單位,而線程是 _單位。( 二) 簡答題1什么是進(jìn)程的順序性和并發(fā)性? 2 為什么并發(fā)進(jìn)程執(zhí)行時可能會產(chǎn)生與時間有關(guān)的錯誤?如何避免 ? 3簡述臨界區(qū)的相關(guān)臨界區(qū)的概念。4 管理相關(guān)臨界區(qū)有些什么要求 ? 5假設(shè) PV操作用信號量s 管理某個共享資源,請問當(dāng) s0,S0和 S 0時,它們的物理意義是什么 ? 6請給出 Pv 操作的定義。7 用 Pv 操作實現(xiàn)進(jìn)程間同步與互

10、斥應(yīng)注意些什么? 8何謂進(jìn)程通信 ?最基本的通信原語有哪些? 9直接通信與間接通信有何區(qū)別?10線程與進(jìn)程的根本區(qū)別是什么?( 四) 應(yīng)用題1有一南北向的單行車道,在車道A、B 兩端以外一段距離處有減速標(biāo)志和自動計數(shù)系統(tǒng),A、 B 兩處設(shè)有信號燈,信號燈的管理要求如下:綠燈行,紅燈停,A、 B 兩端紅綠燈同時變換,一方紅變綠時另一方綠變紅。綠燈保持到同一方向進(jìn)入的車輛全部駛?cè)階B段, 當(dāng) AB之間無車輛行駛時,允許到達(dá)A 端( 或 B 端 ) 的車輛駛?cè)階B段,但只準(zhǔn)某一方的車輛進(jìn)入;一方最后一輛車進(jìn)入AB段后,雙向亮紅燈讓車輛全部通過( 假設(shè) 2分鐘 ) ,然后讓已在等待的任何一方車輛駛?cè)搿?/p>

11、試用Pv 操作管理 AB路段車輛的行駛。2在測溫系統(tǒng)中要完成采樣、轉(zhuǎn)換和顯示等任務(wù)。采樣過程把從傳感器上得到的整型微電壓精選文檔.值存入一個緩沖區(qū), 轉(zhuǎn)換過程把微電壓值從緩沖區(qū)中取出,計算轉(zhuǎn)換成溫度值再存入該緩沖區(qū),顯示過程把緩沖區(qū)中的溫度值取出并顯示。試用Pv 操作實現(xiàn)三個過程共享緩沖區(qū)的同步問題。3,現(xiàn)有三個進(jìn)程, Reader 進(jìn)程把鍵盤輸入的一個整數(shù)讀入緩沖區(qū)B1, Executor進(jìn)程把 B1中的數(shù)據(jù)取出進(jìn)行處理, 處理完后存到輸出緩沖區(qū)B2中,最后由 Pinter 進(jìn)程將 B2中的數(shù)據(jù)打印出來。假設(shè) B1和 n2都只能存放一個整數(shù),請用Pv 操作管理這三個并發(fā)進(jìn)程的執(zhí)行 .4用進(jìn)程

12、通信的方法解決生產(chǎn)者消費者問題。要求生產(chǎn)者能告訴消費者產(chǎn)品的說明、規(guī)格、價格等。而消費者能反饋對物品的評價和處理情況。第八章進(jìn)程同步與通信練習(xí)題參考答案( 一 ) 單項選擇題1 D 2 D 3 A 4 c 5 c 6 D 7 B 8 A 9 B 10 B 11 C 12 B 13 C 14 D( 二) 填空題1順序 2 順序性 3 封閉性,可再現(xiàn)件4 進(jìn)程本身 5 相同 6 可同時執(zhí)行的7 并發(fā)性 8 無關(guān) 9 有交往的 10 共享 11 占用處理器的時間,執(zhí)行的速度12 共享資源 13 共享變量14相關(guān)臨界區(qū)15 互斥執(zhí)行16 互斥 17 不可被中斷,原語18 P 操作, v 操作 19 只

13、有一個 20 同步 21 同步機(jī)制22 進(jìn)程互斥, 同步 23 P 操作, v 操作 24 前,后 25 同步 26競爭,固定的必然關(guān)系, 必然的 27 低級通信方式 28 進(jìn)程通信 29 信件 30 send,receive 31直接通信,間接通信32 一對 33 信箱說明,信箱體 34 進(jìn)程同步 35 線程 36調(diào)度,并發(fā) 37 輕型進(jìn)程38 等待態(tài), 就緒態(tài),運(yùn)行態(tài) 39 并發(fā)性,公共緩沖區(qū) 40 P操作, v 操作 41. 資源分配,調(diào)度和執(zhí)行( 三) 簡答題1進(jìn)程的順序性是指進(jìn)程在順序的處理器上嚴(yán)格地按順序執(zhí)行。若系統(tǒng)中存在一組可同時執(zhí)行的過程, 則該組程序具有并發(fā)性。 可同時執(zhí)行的

14、進(jìn)程是指這些進(jìn)程執(zhí)行時在時間上是重疊的,即一個進(jìn)程的工作沒有全部完成之前,另一個進(jìn)程就可以開始工作。2有交往的并發(fā)進(jìn)程可能會同時使用共享資源,如果對這種情況不加控制,由于進(jìn)程占用處理器的時間、 執(zhí)行的速度和外界的影響等, 就會引起與時間有關(guān)的錯誤。 只要使若干并發(fā)進(jìn)程的相關(guān)臨界區(qū)互斥執(zhí)行,就可避免造成這類錯誤。3臨界區(qū)是指并發(fā)進(jìn)程中與共享變量有關(guān)的程序段。相關(guān)臨界區(qū)是指并發(fā)進(jìn)程中涉及到相同變量的那些程序段。4管理相關(guān)臨界區(qū)有三點要求:(1) 一次最多讓一個進(jìn)程在臨界區(qū)執(zhí)行;(2) 任何一個進(jìn)入臨界區(qū)執(zhí)行的進(jìn)程必須在有限的時間內(nèi)退出臨界區(qū);(3) 不能強(qiáng)迫一個進(jìn)程無限地等待進(jìn)入它的臨界區(qū)。5信號

15、量 S 的物理意義如下:s 0時,S 表示可使用的資源數(shù)或表示可使用資源的進(jìn)程數(shù)。s 0時,表示無資源可供使用和表示不允許進(jìn)程再進(jìn)入臨界區(qū)。s 0時, S表示等待使用資源的進(jìn)程個數(shù)或表示等待進(jìn)入臨界區(qū)的進(jìn)程個數(shù)。6Pv 操作是指在信號量上進(jìn)行的P 操作和 v 操作。假定信號量為s,則 P(s) 和 v(s) 的定義如下:Procedure p(Var s:semaphore);begin s:=s-1; if s<0 then w(s)end;Procedure v(Var s:semaphore);begin s:=s+1; if s<=0 then r (s) end;其中,W

16、(s) 表示將調(diào)用P(s) 過程的進(jìn)程置成“等待信號量s”的狀態(tài), 且將其排入等待隊列。R(s) 表示釋放一個“等待信號量s”的進(jìn)程,該進(jìn)程從等待隊列退出并加入就緒隊列中.精選文檔.7.(1) 對每一個共享資源( 含變量 ) 都要設(shè)立信號量,互斥時對一個共享資源設(shè)一個信號量,同步時對一個共享資源可能要設(shè)兩個或多個信號量,視由幾個進(jìn)程來使用該共享變量而定。(2) 互斥時信號量的初值可大于或等于1, 同步時,至少有一個信號量的初值大于等于1。(3)Pv操作一定要成對調(diào)用,互斥時在臨界區(qū)前后對同一信號量作Pv 操作,同步時則對不同的信號量作 Pv 操作, Pv 操作的位置一定要正確。 (4) 對互斥

17、和同步混合問題 PV操作可能會嵌套,般同步的 Pv 操作在外,互斥的 Pv 操作在內(nèi)。8通過專門的通信機(jī)制實現(xiàn)進(jìn)程間交換大量信息的通信方式稱為進(jìn)程通信。最基本的通信原語有 send 原語和 receive 原語,前者負(fù)責(zé)發(fā)送信件,后者負(fù)責(zé)接收信件。9直接通信是固定在一對進(jìn)程間進(jìn)行的, 而間接通信時以信箱為媒體實現(xiàn)通信。因此在 send和 receive原語中 , 第一個參數(shù)互不相同。直接通信時分別為接收者進(jìn)程名和發(fā)送者進(jìn)程名,而間接通情時均為信箱名。10在采用線程技術(shù)的操作系統(tǒng)中,線程與進(jìn)程的根本區(qū)別在于:進(jìn)程是資源的分配單位,而線程是調(diào)度和執(zhí)行單位。( 四) 應(yīng)用題1分析:本題可參考讀者寫者

18、問題,相當(dāng)于兩組讀者使用一個共享文件的互斥問題。對共享資源 AB路段設(shè)一個信號量s,對 A、B 兩端的共享計數(shù)器cA 和 cB 應(yīng)設(shè)兩個信號量sA 和 SB。所設(shè)計的程序段如下:BEGIN s,sa,ab: semaphore; ca,cb:integer; s:=1; sa:=1; sb:=1;CobeginProcess car-ai;I=1,2, Begin p(sa); ca:=ca+1; if ca=1 then p(s);v(sa); 使信號燈A 端綠, B 端紅 , 車輛從 A 端駛?cè)?AB段p(sa);ca:=ca-1;ifca=0 then begin A,B 兩端都亮紅燈

19、2分鐘 v(s)end;end;Process car-bj;j=1,2, Begin p(sb); cb:=cb+1; if cb=1 then p(s); v(sb); 使信號燈B 端綠, A 端紅;車輛從B 端駛?cè)?AB段 p(sb); cb:=cb-1; if cb=0 then begin A,B兩端都亮紅燈 2分鐘 v(s) end; end;coend; end;2分析:此題類似于兩個生產(chǎn)者消費者問題。采樣過程相當(dāng)于生產(chǎn)者,轉(zhuǎn)換過程相當(dāng)于消費者,顯示過程為消費者,而轉(zhuǎn)換過程還充當(dāng)生產(chǎn)者。為此設(shè)立三個信號量:SS表示采集的微電壓值能否存入緩沖區(qū), 初值為 1;Sc 表示緩沖區(qū)中是否

20、有微電壓值要轉(zhuǎn)換成溫度值,, 初值為 0; sD 表示緩沖區(qū)是否有溫度值要顯示,初值為0。解決此同步問題的程序段為:BEGIN ss,sc,sd: semaphore; buffer : integer; ss:=1; sc:=0; sd:=0;CobeginProcess sample;Begin L1: get a sample; p(ss); buffer:= sample; v(sc); goto L1 end; Process convert;Begin L2: p(sc); take a sample from buffer; convert the sample to tempe

21、rature; buffer:= temperature; v(sd); goto L2 end;Process display;Begin L3: p(sd); take a temperature from buffer; v(ss); display the temperature; goto L3 end;Coend; end;3分析:本題也可看作是兩個生產(chǎn)者消費者問題。Reader 進(jìn)程為生產(chǎn)者,Executor進(jìn)程既精選文檔.是消費者又是生產(chǎn)者,Printer進(jìn)程為消費者,由于這里有兩個緩沖區(qū),所以要設(shè)四個信號量: sR 表示是否能把數(shù)據(jù)存入緩沖區(qū)B1,初值為 1; SEl 表示緩沖區(qū)Bl 中是否已存有數(shù)據(jù)可供處理, 初值為 0;SE2表示是否把處理過的數(shù)據(jù)存入緩沖區(qū)B2,初值為 1;sP 表示緩沖區(qū)B2中是否已存有數(shù)據(jù)可供打印,初值為0。用 Pv 操作管理這三個并發(fā)進(jìn)程的程序如下:BEGIN sr,se1,se2,sp: semaphore; b1,b2 : integer; sr:=1; se1:=0; sp:=0; se2:=1;CobeginProces

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論