進程同步與通信作業習題與答案_第1頁
進程同步與通信作業習題與答案_第2頁
進程同步與通信作業習題與答案_第3頁
進程同步與通信作業習題與答案_第4頁
進程同步與通信作業習題與答案_第5頁
免費預覽已結束,剩余7頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第三章一.選擇題(50題)1 .以下_B_操作系統中的技術是用來解決進程同步的。A.管道B.管程C.通道D.DMA2 .以下_B_不是操作系統的進程通信手段。A.管道B.原語C.套接字D.文件映射3 .如果有3個進程共享同一程序段,而且每次最多允許兩個進程進入該程序段,則信號量的初值應設置為_B_。A.3B.2C.1D.04 .設有4個進程共享一個資源,如果每次只允許一個進程使用該資源,則用P、V操作管理時信號量S的可能取值是_C_。A.3,2,1,0,-1B.2,1,0,-1,-2C.1,0,-1,-2,-3D.4,3,2,1,05 .下面有關進程的描述,是正確的_A_oA.進程執行的相對速

2、度不能由進程自己來控制B.進程利用信號量的P、V操作可以交換大量的信息C.并發進程在訪問共享資源時,不可能出現與時間有關的錯誤D.P、V操作不是原語操作6 .信號燈可以用來實現進程之間的_B_。A.調度B.同步與互斥C.同步D.互斥7 .對于兩個并發進程都想進入臨界區,設互斥信號量為S,若某時S=0,表示_B_0A.沒有進程進入臨界區8 .有1個進程進入了臨界區C.有2個進程進入了臨界區D.有1個進程進入了臨界區并且另一個進程正等待進入8 .信箱通信是一種_B_方式A.直接通信B.間接通信C.低級通信D.信號量9 .以下關于臨界區的說法,是正確的_CA.對于臨界區,最重要的是判斷哪個進程先進入

3、B.若進程A已進入臨界區,而進程B的優先級高于進程A,則進程B可以打斷進程A而自己進入臨界區C.信號量的初值非負,在其上只能做PV操作D.兩個互斥進程在臨界區內,對共享變量的操作是相同的10 .并發是指_C_。A.可平行執行的進程B.可先后執行的進程C.可同時執行的進程D.不可中斷的進程11 .臨界區是_C_。A.一個緩沖區B.一段數據區C.一段程序D.棧12 .進程在處理機上執行,它們的關系是_C_。A.進程之間無關,系統是封閉的B.進程之間相互依賴相互制約C.進程之間可能有關,也可能無關D.以上都不對13 .在消息緩沖通信中,消息隊列是一種_A_資源。A.臨界B.共享C.永久D.可剝奪14

4、 .以下關于P、V操作的描述正確的是_D_。A.機器指令B.系統調用C.高級通信原語D.低級通信原語15 .當對信號量進行V源語操作之后,_C_。A.當S0,要喚醒一個就緒進程C.當S=0,要喚醒一個阻塞進程D.當S=0,要喚醒一個就緒16 .對臨界區的正確論述是_D_oA.臨界區是指進程中用于實現進程互斥的那段代碼B.臨界區是指進程中用于實現進程同步的那段代碼C.臨界區是指進程中用于實現進程通信的那段代碼D.臨界區是指進程中訪問臨界資源的那段代碼17 ._工不是進程之間的通信方式。A.過程調用B.消息傳遞C.共享存儲器D.信箱通信18 .同步是指進程之間邏輯上的_A_關系。A.制約B.調用C

5、.連接D.排斥19 .正在運行的進程在信號量S上作P操作之后,當S0B.=0D.=025 .Pv操作必須在屏蔽中斷下執行,這種不可變中斷的過程稱為_B_。A初始化程序B.原語c.子程序D控制模塊26 .進程間的互斥與同步分別表示了各進程間的_A_oA.競爭與協作B.相互獨立與相互制約c.不同狀態D.動態性與并發性27 .并發進程在訪問共享資源時的基本關系為_E_。A.相互獨立與有交往的B.互斥與同步C并行執行與資源共享D信息傳遞與信息緩沖28 .在進程通信中,_B_常用信件交換信息。A.低級通信B.高級通信C.消息通信D.管道通信29 .在間接通信時,用send(N,M)原語發送信件,其中N表

6、示_C_。A.發送信件的進程名B.接收信件的進程名C.信箱名D.信件內容30 .實現進程互斥時,用_C_對應,對同一個信號量調用Pv操作實現互斥。A.一個信號量與一個臨界區B.一個信號量與一個相關臨界區C.一個信號量與一組相關臨界區D.一個信號量與一個消息31.實現進程同步時,每一個消息與一個信號量對應,進程_D_可把不同的消息發送出去。A.在同一信號量上調用P操作B在不同信號量上調用P操作C.在同一信號量上調用v操作D.在不同信號量上調用v操作32 .臨界區是指_D_。A.并發進程中用于實現進程互斥的程序段B.并發進程中用于實現進程同步的程序段C,并發進程中用戶實現進程通信的程序段D.并發進

7、程中與共享變量有關的程序段33 .相關臨界區是指_D_。A.一個獨占資源B.并發進程中與共享變量有關的程序段C.一個共享資源D,并發進程中涉及相同變量的那些程序段34 .P、V操作是_A_。A.兩條低級進程通信原語B.兩組不同的機器指令C.兩條系統調用命令D.兩條高級進程通信原語35 .對進程的管理和控制使用_B_。A.指令B.原語C.信號量D.信箱通信A.1B.0C.1D.任意值37 .用V操作喚醒一個等待進程時,被喚醒進程的狀態變為_B_。A.等待B.就緒C.運行D.完成38 .進程間的同步是指進程間在邏輯上的相互_B_關系。A.聯接B.制約C.繼續D.調用39 ._是一種只能進行P操作和

8、V操作的特殊變量。A.調度B.進程C.同步D.信號量40 .用P、V操作可以解決_人_互斥問題。A.一切B.某些C.正確D.錯誤41 .對于兩個并發進程,設立斥信號量為mutex,若mutex=0,則_B_。A.表示沒有進程進入臨界區B.表示有一個進程進入臨界區C.表示有一個進程進入臨界區,另一個進程等待進入D.表示有兩個進程進入臨界區42 .兩個進程合作完成一個任務,在并發執行中,一個進程要等待其合作伙伴發來消息,或者建立某個條件后再向前執行,這種制約性合作關系被稱為進程的_。A.同步B.互斥C.調度D.執行43 .為了進行進程協調,進程之間應當具有一定的聯系,這種聯系通常采用進程間交換數據

9、的方式進行,這種方式稱為_D_oA.進程互斥B.進程同步C.進程制約D.進程通信44 .兩個進程合作完成一項任務。在并發執行中,一個進程要等待其合作伙伴發來消息,或建立某個條件后再運行,這種制約性合作關系被稱為進_A_oA.同步B.執行C.互斥D.調度45 .為了進行進程協調,進程之間應當具有一定的聯系,這種聯系通常采用進程間交換數據的方式進行,這種方式通常稱為_C_。A.進程互斥B.進程同步C.進程通信D.進程制約46 .不是信號量能實現的功能是_D_oA.進程同步B.進程互斥C.執行的前趨關系D.進程的并發執行47 .若P、V操作的信號量S初值為2,當前值為-1,則表示有_B_等待進程。A

10、.0個B.1個C.2個D.3個48 .在進程通信中,常_C_通過變量、數組形式來實現。A.高級通信B.消息通信C.低級通信D.管道通信49 .管道通信是以_B_進行寫入和讀出。A.消息為單位B.自然字符流C.文件D.報文50 .進程間的基本關系為_B_。A.相互獨立與相互制約B.同步與互斥C.行執行與資源共享D.信息傳遞與信息緩沖二.填空題(50空)1 .進程的_順序性是指進程在順序處理器上的執行是按順序進行的。2 .當一個進程獨占處理器順序執行時,具有封閉性和可再現件兩個特性。3 .進程的封閉性是指進程的執行結果只取決于進程本身,不受外界影響。4 .進程的可再現性是指當進程再次重復執行時,必

11、定獲得相同的結果。5 .一個進程的工作在沒有全部完成之前,另一個進程就可以開始工作,則稱這些進程為可同時執行的.6 .臨界區是指并發進程中與共享變量有關的程序段。7 .相關臨界區是指并發進程中涉及到相同變量的那些程序段。8 .只要涉及相同變量的若干進程的相關臨界區互斥執行,就不會造成與時間有關的錯誤。9 .進程的互斥是指當有若干進程都要使用某一共享資源時,任何時刻最多只允許一個進程去使用。10 .Pv操作是在一個信號量上進行的不可被中斷的過程,這種過程也稱為原語。11 .利用P、v操作管理相關臨界區時,必須成對出現,在進入臨界區之前要調用P操作,在完成臨界區操作后要調用_v操作012 .進程的

12、同步是指并發進程之間存在一種制約關系,一個進程的執行依賴另一個進程的消息。13 ._同步機制能把它進程需要的消息發送出去,也能測試自己需要的消息是否到達。14 .P、v操作不僅是實現_進程互斥的有效工具,而且也是一種簡單而方便的同步工具。15 .用P、v操作實現進程同步時,調用P操作測試消息是否到達,調用v操作發送消息。24.用P、v操作實現生產者消費者之間的同步時,在訪問共享緩沖區的前和后分別調動P操作和v操作。16 .進程的互斥實際上是進程同步的一種持殊情況。17 .進程的互斥是進程間競爭共享資源的使用權,其結果沒有固定的必然關系,而進程的同步則在共享資源的并發進程之間有一種必然的依賴關系

13、。18 .Pv操作也可看作為進程間的一種通信方式,由于只交換了少量的信息,故稱為低級通信方式19 .通過專門的通信機制實現進程間交換大量信息的通信方式稱為進程通信020 .采用高級通信方式時,進程間用信件來交換信息。21 .最基本的通信原語有兩條,它們是_send原語和receive_原022 .進程通信方式有兩種:直接通信和間接通信o23 .直接通信是固定在一對進程之間通信,而間接通信以信箱為媒體實現通信。24 .一個信息可以由信箱說明和信箱體兩部分組成。25 .進程間通過信件交換信息,可實現進程同步。26 .并發帶來的問題全局變量的共享問題、操作系統很難最佳的管理資源的分配、配位程序的錯誤

14、很困難、保證講程執行結果的正確性。27 .并發原理有并發帶來的問題、進程的交互、進程互斥、進程同步。28 .管理的結構有條件變量、管理的結構。29 .進程通信表現在效率低、通信對用戶不透明。30 .Monitors:管程。3 .名詞解釋(20題)1 .進程通信:進程之間的信息交換。2 .臨界區:操作系統中把并發進程中訪問臨界資源那段代碼。3 .臨界資源:操作系統中將一次僅允許一個進程訪問的資源。4 .進程同步:指多個進程中發生的事件存在著某種時序關系必須協同動作、相互配合,以共同完成一個任務。5 .信號量機制:它是一種公認的卓有成效的進程同步機制。6 .管程:一個共享資源的數據結構以及一組能為

15、并發進程在其上執行的針對該資源的一組操作,這組操作能同步進程和改變管程中的數據。7 .CWAIT(C):調用進程的執行在條件C上掛起,管程現在可被另一個進程使用。8 .CSIGNAL(C):恢復在cwait上因為某些條件而掛起的進程的執行。9 .Message:報文。10 .Client/ServerInteraction:客戶/服務器交換。11 .單向通信:只允許發送進程向接收進程發送消息,反之不行。12 .雙向通信:允許一個進程向另外一個進程發送消息,也可以反過來由另一個進程向發過消息的進程回送消息。13 .點對點方式:用一條鏈路將兩個進程連接,通信的完成只與這兩個進程有關。14 .多點方

16、式:用一條鏈路連接多個進程(2)。15 .無容量通信鏈路:通信鏈路上沒有用于暫存數據的緩沖區,因而不能暫存任何消息。16 .有容量通信鏈路:通信鏈路中設置了緩沖區,因而可以暫存數據,緩沖區的數目越大,通信鏈路的容量越大。17 .鏈路的容量:通信鏈路上是否有用于暫存數據的緩沖區。18 .阻塞方式:操作方要等待操作結束,才能繼續執行。19 .非阻塞方式:操作方在提交后立即返回,不需要等待。20 .管道:指用于連接一個讀進程和一個寫進程,以實現它們之間通信的共享文件,又稱為pipe文件。4 .簡答題(20題)1 .以下進程之間存在相互制約關系嗎?是什么制約關系?為什么?幾個同學去圖書館借同一本書;籃

17、球比賽中兩隊同學爭搶籃板球;果汁流水線生產中搗碎、消毒、灌裝、裝箱等、各道工序;商品的入庫和出庫;工人做工與農民種糧。答:(1)答:存在互斥關系,因為同一本書只能借給一個同學。(2)答:存在互斥關系,因為籃球只有一個,兩隊只能有一個隊搶到球(3)答:存在同步關系,因為最后一道工序的開始依賴于前一道工序的完成。(4)答:存在同步關系,因為商品若沒有入庫就無法出庫,若商品沒有出庫,裝滿了庫房,也就無法再入庫。(5)答:工人與農民之間沒有相互制約關系。2 .說明PV存在為什么要設計成原語?答:用信號量S表示共享資源,其初值為1表示有一個資源。設有兩個進程中請該資源,若其中一個進程先執行P操作。P操作

18、中的減1操作有3跳及其指令組成:去S送寄存器R;R-1送S。若P操作不用原語實現,在執行了前述三條指令中的2條,即還未執行R送S時(此時S值仍為1),進程被剝奪CPU另一個進程執行也要執行P操作,執行后S的值為0,導致信號量的值錯誤。正確的結果是兩個進程執行完P操作后,信號量S的值為-1,進程阻塞。3 .設有一個售票大廳,可容納200人購票。如果廳內不足200人,則允許進入,超過則在廳外等候;售票員某時只能給一個購票者服務,購票者買完票后就離開。試問:購票者之間是同步關系還是互斥關系?用PV操作描述購票者的工作過程。(1)答:購票者之間是互斥關系。(2) semaphoreempty=200;

19、semaphoremutex=1;voidbuyer()P(empty);P(mutex);購票;V(mutex);V(empty);)4 .分析生產者消費者問題中多個P操作顛倒引起的后果答:semaphoremutex=1;semaphoreempty=nsemaphorefull=0;inti,j;ITEMbuffern;ITEMdata_p,data_c;voidproducer()while(true)produceanitemindata_p;P(mutex);P(empty);bufferi=data_p;i=(i+1)%n;V(mutex);V(full);)voidconsum

20、er()while(true)P(full);P(mutex);data_c=bufferj;j=(j+1)%n;V(mutex);V(empty);consumetheitemindata_c)5 .請簡述進程的互斥與同步之間的異同答:進程的同步與互斥是指進程在推進時的相互制約關系。為了保證進程的正確運進程之間的制約關系體現為:進程的同步和互斥。進程同步:它主要源于進程合作,是進程間共同完成一項任務時直接發生相互作用的關系。為進程之間的直接制約關系。在多道環境下,這種進程間在執行次序上的協調是必不可少的。行以及相互合作的進程之間交換信息,需要進程之間的通信。進程互斥:主要源于資源共享,是進程

21、之間的間接制約關系。6 .什么是進程的順序性和并發性?答:進程的順序性是指進程在順序的處理器上嚴格地按順序執行。若系統中存在一組可同時執行的過程,則該組程序具有并發性。可同時執行的進程是指這些進程執行時在時間上是重疊的,即一個進程的工作沒有全部完成之前,另一個進程就可以開始工作。7 .為什么并發進程執行時可能會產生與時間有關的錯誤?如何避免?答:有交往的并發進程可能會同時使用共享資源,如果對這種情況不加控制,由于進程占用處理器的時間、執行的速度和外界的影響等,就會引起與時間有關的錯誤。只要使若干并發進程的相關臨界區互斥執行,就可避免造成這類錯誤。8 .簡述臨界區的相關臨界區的概念。答:臨界區是

22、指并發進程中與共享變量有關的程序段。相關臨界區是指并發進程中涉及到相同變量的那些程序段。9 .管理相關臨界區有些什么要求?答:管理相關臨界區有三點要求:(1)一次最多讓一個進程在臨界區執行;任何一個進入臨界區執行的進程必須在有限的時間內退出臨界區;(3)不能強迫一個進程無限地等待進入它的臨界區。10 .用Pv操作實現進程間同步與互斥應注意些什么?答:(1)對每一個共享資源(含變量)都要設立信號量,互斥時對一個共享資源設一個信號量,同步時對一個共享資源可能要設兩個或多個信號量,視由幾個進程來使用該共享變量而定。(2)互斥時信號量的初值可大于或等于1,同步時,至少有一個信號量的初值大于等于1。(3)Pv操作一定要成對調用,互斥時在臨界區前后對同一信號量作Pv操作,同步時則對不同的信號量作Pv操作,Pv操作的位置一定要正確。(4)對互斥和同步混合問題.PV操作可能會嵌套,一般同步的Pv操作在外,互斥的Pv操作在內。11 .何謂進程通信?最基本的通信原語有哪些?答:通過專門的通信機制實現進程間交換大量信息的通信方式稱為進程通信。最基本的通信原語有send原語和

溫馨提示

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

評論

0/150

提交評論