操作系統(tǒng)操作系統(tǒng)題庫題庫-第01-08章練習題(答案版)_第1頁
操作系統(tǒng)操作系統(tǒng)題庫題庫-第01-08章練習題(答案版)_第2頁
操作系統(tǒng)操作系統(tǒng)題庫題庫-第01-08章練習題(答案版)_第3頁
操作系統(tǒng)操作系統(tǒng)題庫題庫-第01-08章練習題(答案版)_第4頁
操作系統(tǒng)操作系統(tǒng)題庫題庫-第01-08章練習題(答案版)_第5頁
已閱讀5頁,還剩50頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

操作系統(tǒng)練習題分章節(jié)匯總(0—08)

第01章練習題

i.操作系統(tǒng)是一種系統(tǒng)軟件。操作系統(tǒng)設(shè)計的主要目標包括方便件和行效的。操作系統(tǒng)的特批注mi]:os設(shè)計的目標:

征是并發(fā)性、共享性、虛擬性和異步性,操作系統(tǒng)最基本的特征是并發(fā)性和二字叫■操作系,彳忤、可擴充件、開放怦

統(tǒng)的主要功能是進程管理、內(nèi)存留理、文件管理、設(shè)備管理、用戶接口管理。從用戶的觀點

出發(fā),操作系統(tǒng)是用戶和計繳機之間的接口TT命令接口、圖形接口、程序接且三種。

2.按照用戶界面的使用環(huán)境和功能特征的不同,一般可以把操作系統(tǒng)分為三種基本類型,即:

批處理系統(tǒng),分時系統(tǒng)和實時系統(tǒng)。

3.軟件系統(tǒng)分為系統(tǒng)軟件,支撐軟件和應(yīng)用軟件。

4.若干事件在同一時間間隔內(nèi)發(fā)生稱為現(xiàn):若干事件在同一時刻發(fā)生稱為痂。

5.現(xiàn)代計算機中主:存儲器都是以理為單位進行編址。

6.分時系統(tǒng)中,時間片設(shè)置得越小,則平均響應(yīng)時間越短。X批注【黃2):受切換次數(shù)的增加,平均響應(yīng)時間先增加

7.實時系統(tǒng)在響應(yīng)時間、可靠性及交互作用能力等方面一般都比分時系統(tǒng)要求高。X再減少.

8.操作系統(tǒng)是系統(tǒng)軟件中的一種,在進行系統(tǒng)安裝時可以先安裝其它軟件,然后再裝操作系

統(tǒng)。X

9.與分時系統(tǒng)相比,實時操作系統(tǒng)對則應(yīng)時間的緊迫性要求面的多。V

10.早期的批處理系統(tǒng)中,用戶可以用交互式方式方便地使用計算機。X

11.多用戶操作系統(tǒng)一定是具有多道功能的操作系統(tǒng)。J

12.操作系統(tǒng)的所有程序都必須常駐內(nèi)存.X

13.通過任何手段都無法實現(xiàn)計算機系統(tǒng)資源之間的互換.X

14.對臨界資源,應(yīng)采用互斥訪問方式來實現(xiàn)共享。J

15.并發(fā)技術(shù)是現(xiàn)代操作系統(tǒng)的一個基本特征。J

16.操作系統(tǒng)只能管理計算機的軟件資源。X

17.多道批處理系統(tǒng)的主要優(yōu)點是系統(tǒng)的吞吐后大、資源利用率高。,

18.操作系統(tǒng)可以管理計算機的軟硬件資源。J

19.資源共享是現(xiàn)代操作系統(tǒng)的一個基本特征。J

20.計算機中所有的資源都是共享資源.X

21.現(xiàn)代0S具有并發(fā)性和共享性,是由(D)的引入而導致的。

A.單道程序B.磁盤C.對象技術(shù)D.多道程序

22.一個完整的計算機系統(tǒng)是由(C>組成的。

A.硬件B.軟件C,硬件和軟件D.用戶程序

23.(A)對實時系統(tǒng)最重要。

A.及時性B.交互性C.共享性D.運行效率

24.與計算機硬件關(guān)系最密切的軟件是(D)?

A.辦公軟件B.數(shù)據(jù)庫管理程序C.游戲程序D.0S

25.要求在規(guī)定的時間內(nèi)對外界的請求必須給予及時相應(yīng)的OS是(B)。

A.多用戶分時系統(tǒng)B.實時系統(tǒng)C.批處理系統(tǒng)時間I).網(wǎng)絡(luò)操作系統(tǒng)

26.從用戶的觀點看,操作系統(tǒng)是(A).

A,用戶與計算機之間的接口B.控制和管理計算機資源的軟件

C.合理地組織計算機工作流程的軟件D.由若干層次的程序按?定的結(jié)構(gòu)組成的TT機體

27.在操作系統(tǒng)中,處理機負責對進程進行管理和調(diào)度,對系統(tǒng)中的信息進行管理的部分通

常稱為(C).

A.數(shù)據(jù)庫系統(tǒng)B.軟件系統(tǒng)C.文件系統(tǒng)D.檢索系統(tǒng)

28.下面關(guān)于操作系統(tǒng)的敘述中正確的是(A)。

A.批處理作業(yè)必須具有作業(yè)控制信息B.分時系統(tǒng)不一定都具有人機交互功能

C.從響應(yīng)忖問的角度看,實時系統(tǒng)與分時系統(tǒng)差不多

D.由于采用了分時技術(shù),用戶可以獨占計算機的資源

29.訂購機票系統(tǒng)處理各個終端的服務(wù)請求,處理后通過終端回答用戶,所以它是一個(D批注【黃3):吹時信電.處理系統(tǒng)(軟實時)

A.分時系統(tǒng)B.多道批處理系統(tǒng)C.計算機網(wǎng)絡(luò)系統(tǒng)D.實時信息處理系統(tǒng)工業(yè)和武器控制(硬實時)

30.操作系統(tǒng)的基本職能是(A)o

A.控制和管理系統(tǒng)內(nèi)各種資源,有效地組織多道程序的運行

B.提供用戶界面,方便用戶使用C.提供方便的可視化編輯程序

D.提供功能強大的網(wǎng)絡(luò)管理工具

31.為「使系統(tǒng)中所有的用戶都能得到及時的響應(yīng),該操作系統(tǒng)應(yīng)該是(B

A.多道批處理系統(tǒng)B.分時系統(tǒng)C.實時系統(tǒng)D.網(wǎng)絡(luò)系統(tǒng)

32.計算機的操作系統(tǒng)是一種(B),

A.應(yīng)川軟件B.系統(tǒng)軟件C.工具軟件D.字表處理軟件

33.操作系統(tǒng)是一組(C)程序。

A.文件管理B.中斷處理C資源管理D.設(shè)備管理

34.在(A)操作系統(tǒng)控制下,計算機系統(tǒng)能及時處理由過程控制反饋的數(shù)據(jù)并作出響應(yīng)。

A.實時B.分時C.分布式D單用戶

35.以下著名的操作系統(tǒng)中,屬于多用戶、分時系統(tǒng)的是(C)。

A.DOS系統(tǒng)B.WindowsNT系統(tǒng)C.UNIX系統(tǒng)D.OS/2系統(tǒng)

36.UNIX屬于-一種(A)操作系統(tǒng)。

A.分時系統(tǒng)B.批處理系統(tǒng)C.實時系統(tǒng)D.分布式系統(tǒng)

37.Unix是一種(D):linux是一和(D);WindowsServer2003是一種(B):DOS

是一種(A)#

A.單用戶單任務(wù)B.單用戶多任務(wù)C.多用戶單任務(wù)D.多用戶多任務(wù)

38.設(shè)計實時操作系統(tǒng)時,首先應(yīng)考慮系統(tǒng)的(B)。

A.可靠性和靈活性B.實時性和可雉性

C.靈活性和可鴕性D.優(yōu)良性和分配性

39.(C)操作系統(tǒng)允許用戶把若干個作業(yè)提交給計算機系統(tǒng)。

A.單用戶B.分布式C批處理D.監(jiān)督

40.操作系統(tǒng)是對(C)進行管理的軟件。

A.軟件B.硬件C.計算機資源D.應(yīng)用程序

41.操作系統(tǒng)提供給程序員的接口是(B

A.進程B.系統(tǒng)調(diào)用C.庫函數(shù)D.B和C

42.(C)操作系統(tǒng)允許在一臺主機上同時聯(lián)接多臺終端,多個用戶可以通過各自的終端同

時交互地使用計算機。

A.網(wǎng)絡(luò)B.分布式C.分時D實時

43.計算機操作系統(tǒng)的功能是(D)。

A.把源程序代碼轉(zhuǎn)換為標準代碼B.實現(xiàn)計算機用戶之間的相互交流

C.完成計算機硬件與軟件之間的轉(zhuǎn)換D.控制、管理計算機系統(tǒng)的資源和程序的執(zhí)行

44.如果分時操作系統(tǒng)的時間片一定,那么(A),則響應(yīng)時間越短。

A.用戶數(shù)越少B.用戶數(shù)越多C內(nèi)存越少D.內(nèi)存越多

45.系統(tǒng)調(diào)用的目的是(A)

A.請求系統(tǒng)服務(wù)B.終止系統(tǒng)服務(wù)C.申請系統(tǒng)資源D.釋放系統(tǒng)資源

46.下面系統(tǒng)中,必須是實時操作系統(tǒng)的有(6)個。

圖形處理軟件;ATM機管理系統(tǒng);過程控制系統(tǒng);機器翻譯系統(tǒng);辦公自動化系統(tǒng):計算機激光

照排系統(tǒng);計算機輔助設(shè)計系統(tǒng)(CAD);航空訂票系統(tǒng);12306網(wǎng)上訂票系統(tǒng);股票交易系統(tǒng);

47.什么是操作系統(tǒng)?操作系統(tǒng)的特征行哪些?其設(shè)計基本目標是什么?操作系統(tǒng)的作用主

要表現(xiàn)在哪幾個方面?操作系統(tǒng)完成制主要功能有哪些?

答:操作系統(tǒng)是一組控制和管理計算機硬件和軟件資源、合理地對各類作業(yè)在行調(diào)度,以及

方便用戶的程序的集合。

特征:并發(fā)、共享、虛擬、異步

基本目標:方便性、有效性

作用:用戶與計算機硬件系統(tǒng)之間的接口、計律機系統(tǒng)資源的管理者、對計算機資源的抽象。

操作系統(tǒng)的主要功能:進程管理、內(nèi)存管理、文件管理、設(shè)備管理、用戶接口管理。

48.什么是多道程序技術(shù)?在操作系統(tǒng)中引入該技術(shù)帶來了哪些好處?實現(xiàn)多道程序應(yīng)解決

哪些問題?

答:定義:多道程序技術(shù)是指在內(nèi)存中同忖存放若干個作業(yè),并使它們共享系統(tǒng)的資源,同

時運行的技術(shù)。

好處:提高CPU的利用率、提高內(nèi)存和I/O設(shè)備的利用率、增加系統(tǒng)吞吐量。

問題:1)處理機管理。2)存儲器管理。3)設(shè)備管理。4)文件管理。5)用戶接口

第02章練習題(2.1-2.3)

1.進程狀態(tài)的轉(zhuǎn)換是由操作系統(tǒng)完成他,對用戶是透明的。J

2.操作系統(tǒng)對進程的管理和控制主要是通過PCB來實現(xiàn)的.J

3.多個進程可以對應(yīng)于同一個程序,且一個進程也可能會執(zhí)行多個程序。J

4.一個進程的狀態(tài)發(fā)生變化總會引起其它一些進程的狀態(tài)發(fā)生變化。X

5.一般地,進程由PCB和其執(zhí)行的程序數(shù)據(jù)所組成.V

6.系統(tǒng)調(diào)用是操作系統(tǒng)與外界程序之向的接口,它屬于核心程序。在層次結(jié)構(gòu)設(shè)計中,它最

靠近硬件。x|批注[貨仙中斷程序行旅近硬件

7.原語是一種不可分割的操作。J

8.一個進程在執(zhí)行過程中可以被中斷事件打斷,當相應(yīng)的中斷處理完成后,就一定恢夏該進批注[黃5):若進程由中斷或異常進入核心態(tài)運行,執(zhí)行

程被中斷時的現(xiàn)場,使它繼續(xù)執(zhí)行。X完后又回到用戶態(tài)剛被中斷的程序運行,則操作系統(tǒng)只

9.進程的動態(tài)、并發(fā)特征是通過程序表現(xiàn)出來的。X需快發(fā)進程進入內(nèi)核時所保存的CPU現(xiàn)場,而無須改

10.進程控制塊中的所有?信息必須常駐內(nèi)存.X變當前進程的環(huán)境信息。但若要切換進程,當前運行進

11.當一個進程從等待態(tài)變成就緒態(tài),則一定有一個進程從就緒念變成運行志.X程改變了,剜當前it程的環(huán)境信息也需發(fā)改變。運行

12.用戶程序一定在核心態(tài)下運行。>:環(huán)境佶息稱為進程的上下文:處理機狀態(tài)信息稱為處理

13.當某個特定條件滿足時,進程可以由運行狀態(tài)轉(zhuǎn)換為就緒狀態(tài).J機的上下文.

14.進程控制塊(PCB)是為所有進程設(shè)更的私有數(shù)據(jù)結(jié)構(gòu),每個進程僅有一個Pl'BoJ

15.進程是獨立的,能夠并發(fā)執(zhí)行,程序也一樣。X

進程優(yōu)先數(shù)是進程調(diào)度的重要依據(jù),必須根據(jù)進程運行情況動態(tài)改變X批注【黃司:優(yōu)先級分靜態(tài)和動態(tài)兩種.

16.進程是程序的一次執(zhí)行過程,在執(zhí)行過程中進程的狀態(tài)不斷發(fā)生變化,進程的這種特性動態(tài)優(yōu)先級是根據(jù)進程運行情況隨時調(diào)整的:

稱為(A)靜態(tài)優(yōu)先級一旦確是不能改變。

A.動態(tài)性B.并發(fā)性C.同步性D.異步性

17.造成某進程狀態(tài)從就緒態(tài)轉(zhuǎn)變成運行態(tài)的原因是(D)

A.上次分配給該進程的處理痣時間太短B.有更高優(yōu)先級的進程要運行

C.該進程需要更多的處理器時間運行D.該進程被進程調(diào)度程序選中

18.在進程管理中,當(C)時,進程從阻塞狀態(tài)變?yōu)榫途w狀態(tài)。

A.進程被進程調(diào)度程序選中B.等待某一事件

C.等待事件發(fā)生D.時間片用完

19.下列進程狀態(tài)變化中,(C)變化是不可能發(fā)生的。

A.執(zhí)行一〉就緒B.執(zhí)行一〉阻塞C.陽塞一》執(zhí)行D.阻塞一〉就緒

20.某進程由于需要從磁盤上讀入數(shù)據(jù)而處于阻塞狀態(tài)。當系統(tǒng)完成了所需的讀盤操作后,

此時該進程的狀態(tài)將(D)。

A.從就緒變?yōu)檫\行B.從運行變?yōu)榫途wC.從運行變?yōu)樽枞鸇.從阻塞變?yōu)榫途w

21.進程和程序的一個本質(zhì)區(qū)別是()),

A.前者分時使用CPU,后者獨占CPUB.前者存儲在內(nèi)存,后者存儲在外存

C.前者在一個文件中,后者在多個文件中D.前者為動態(tài)的,后者為靜態(tài)的

22.一個運行的進程用完了分配給它的時間片后,它的狀態(tài)變?yōu)椋ˋ)。

A.就緒B.等待C.運行D.由用戶自己確定

23.對進程的管理和控制使用(B)。

A.指令B.原語C.信號量D.信箱通信

24.不屬于進程控制原語的是(A)

A.接收原語B.撤消原語C.阻塞原語D.喚醒原語

25.分配到必要的資源并獲得處理機時的進程狀態(tài)是(B)

A.就緒狀態(tài)B.執(zhí)行狀態(tài)C.阻塞狀態(tài)D.撤消狀態(tài)

26.下面所述步驟中,(A)不是創(chuàng)建進程所必需的。

A.由調(diào)度程序為進程分配CPUB.建立一個進程控制塊

C.為進程分配內(nèi)存D.將進程控制塊鏈入就緒隊列

27.一個進程被喚醒意味著D)?

A.該進程重新占有了CPUB.它的優(yōu)先權(quán)變?yōu)樽畲?/p>

C.其PCB移至等待隊列隊首D.進程變?yōu)榫途w狀態(tài)

28.通常,用戶進程被建立后,(B).

A.便一直存在「?系統(tǒng)中,直到被操作人員撤消B.隨著作業(yè)運行正?;虿徽=Y(jié)束而撤消

C.隨著時間片輪轉(zhuǎn)而撤消與建立1隨著進程的阻塞或喚醒而撒消與建立

29.在操作系統(tǒng)中,進程是一個具有一定獨立功能的程疔在某個數(shù)據(jù)集上的一次(B),

A.等待活動B.運行活動C.單犯操作D.關(guān)聯(lián)操作

30.下面對進程的描述中,錯誤的是(D)。

A.進程是動態(tài)的概念B.進程執(zhí)行得要處理機

C.講程是有生命期的D.進程是指令的集合

31.一進程在某一時刻具有(A)。

A.一種狀態(tài)B.二種狀態(tài)C.三種狀態(tài)1四種狀態(tài)

32.操作系統(tǒng)的(D)管理部分負資對進程進行調(diào)度。

A.主存儲器B.控制器C.運算器D.處理機

33.進程名存放在該進程控制塊PCB的(B)區(qū)域中。

A.說明信息B.標識信息C.現(xiàn)場信息D.管理信息

34.一個進程被喚醒,意味著(B)。

A.改進程重新占有了CPUB.進程狀態(tài)變?yōu)榫途w

C.它的優(yōu)先權(quán)變?yōu)樽畲驞.其FCB移至就緒隊列的隊首

35.操作系統(tǒng)通過(B)對進程進行管理。

A.進程B.進程控制塊C.進程啟動程序D.進程控制區(qū)

36.進程在系統(tǒng)中是否存在的惟一-標志是(D).

A.數(shù)據(jù)集合B.目標程序C.源程序D.進程控制塊

37.下列進程狀態(tài)的轉(zhuǎn)換中,哪一個是不正確的(D)?

A.就緒f運行B.運行一就緒C.阻塞->就緒D.就緒一阻塞

38.進程的控制信息和描述信息存放在(B)。

A.JCBB.PCBC.AFTD.SFT

39.當一個進程完成了特定的任務(wù)后,系統(tǒng)收回這個進程所占的工作區(qū)或主存空間或資源

和取消該進程的進程控制塊,就撤消了該進程。

41.當一個進程獨占處理器順序執(zhí)行時,具有兩個特性:封閉性和可再現(xiàn)性。

42.

43.進程實體由程序、PCB或進程控制塊和數(shù)據(jù)集合三部分組成。

44.進程的基本特征包括動態(tài)性、并發(fā)性、獨立性、異步性和結(jié)

構(gòu)特征。批注[黃7]:區(qū)別「帙作系統(tǒng)的基本特征

15.算機系統(tǒng)將處理器的工作狀態(tài)劃分為管態(tài)和目態(tài)。后者一般指用戶程序運行時的狀態(tài),OS基本特征:并發(fā)、共享、虛擬、異步

又稱為用戶態(tài).進程基本特征:動態(tài)、并發(fā)、獨立、異步

46.進程是動態(tài)的概念,而程序是靜態(tài)的概念。

47.什么是進程?試說明引起進程創(chuàng)建的事件有哪些?進程的基本狀態(tài)有哪些?各種狀態(tài)是

如何切換的(畫出進程狀態(tài)轉(zhuǎn)換圖)?進程同步應(yīng)遵循哪些原則?為什么?

答:進程:進程是具有獨立功能的程序關(guān)于某個數(shù)據(jù)集合上的一次運行活動,是系統(tǒng)進行資

源分配和調(diào)度的獨立單位

進程創(chuàng)建事件:用戶登錄:作業(yè)調(diào)度:提供服務(wù):應(yīng)用請求。批注[黃8):用戶登錄、作業(yè)調(diào)度、提供版務(wù)均為系統(tǒng)

狀態(tài):就緒、運行、阻塞內(nèi)核為用戶創(chuàng)建一人新進程:

應(yīng)用請求由用戶進程自己創(chuàng)建新進程.

進程同步原則:空閑讓進、忙則等待、有限等待、讓權(quán)等待。

原因:為實現(xiàn)進程能互斥地進入到自己的臨界區(qū)

48.進程與程序是兩個完全不同的概念,但又有密切的聯(lián)系,試從動態(tài)性、并發(fā)性和獨立性

三方面比較進程和程序。

答:1)動態(tài)性是進程最基木的特性,可表現(xiàn)為由創(chuàng)建而產(chǎn)生,由調(diào)度而執(zhí)行,因得不到資

源而暫停執(zhí)行,以及由撤俏而消亡,因而進程有一定的生命期:而程序只是一組有序指令的

集合,是靜態(tài)實體。

2)并發(fā)性是進程的重要特征,同時也是OS的重要特征。引入進程的目的正是為了使其程序

能和其它建立了進程的程序并發(fā)執(zhí)行,而程序本身是不能并發(fā)執(zhí)行的。

3)獨立性是指進程實體是一個能獨立運行的基本單位,同時也是系統(tǒng)中獨立獲得資源和獨

立調(diào)度的基本單位。而對于未建立任何進程的程序,都不能作為?個獨立的單位來運行。

49.什么是操作系統(tǒng)中的并發(fā)技術(shù)?

答:在多道程序環(huán)境下,為使程序并發(fā)獨立運行,操作系統(tǒng)引入了“進程”的概念。進程具

有并發(fā)性。并發(fā)性是指兩個或多個進程在同一時間間隔內(nèi)同時執(zhí)行。

第02章練習題(2.4)

I.進程間的互斥是一種特殊的同步關(guān)系.V

2.用信號量和P,V原語操作可解決互斥問題,互斥信號量的初值一定為1.X

3.對臨界資源,應(yīng)采用互斥訪問方式來實現(xiàn)共享。J

4.如果一組并發(fā)進程是有交互的,則它們(B)

A.一定含有相同的程序B.程序間會有依賴關(guān)系

C.進程的執(zhí)行具有封閉性D.進程的執(zhí)行速度各自獨立

5.對一組并發(fā)進程來說,其中每一個進程都(A)

A.具有順序性B.不能被中斷C.不與其它進程共享資源D.含有不同的程序

6.多個進程的實體能存在于同吶存中,在一段時間內(nèi)都得到運行。這種性版稱作進程的

(B

A.動態(tài)性B.并發(fā)性C.調(diào)度性D.異步性

7.進程的并發(fā)執(zhí)行是指若干個進程(B)(.

A.同時執(zhí)行B.在執(zhí)行的時間上是重登為C.在執(zhí)行的時間上是不可重登的D.共享系統(tǒng)資源

8.進程間的同步是指進程間在邏輯上的相互(B)關(guān)系。

A.聯(lián)接B.制約C.繼續(xù)D.調(diào)用

9.用P、V操作管理臨界區(qū)時,信號量的初值應(yīng)定義為(C)批注[黃9):I題,正確應(yīng)選BC若號試中遇到,

A.-lB.OC.1D.任意值選C

10.用V操作喚醒一個等待進程時,被喚醒進程的狀態(tài)變?yōu)椋˙).

A.等待B.就緒C.運行D.完成

H.臨界區(qū)是(C)o

A.一個緩沖區(qū)B.一段共享數(shù)據(jù)區(qū)C.一段程序D.一個互斥資源

12.用P、Y操作可以解決(A)互斥問題。

A.一切B.某些C.正確D.錯誤

13.正在運行的進程在信號量S上操作P操作之后,當S<0,進程將進入信號量的(A

A.等待隊列B.提交隊列C.后備隊列D.就緒隊列

14.當對記錄型信號線進行V原語操作之后(C).

A.當S<0,進程繼續(xù)執(zhí)行B.當S>0,要喚醒一個就緒進程

C.當S<=0,要喚醒一個等待進程D.當S<=0,要喚醒一個就緒進程

15.PW操作是(A).

A.兩條低級進程通信原語B.兩組不同的機器指令

C.兩條系統(tǒng)調(diào)用命令D.兩條高級進程通信原語

16.兩個進程合作完成?個任務(wù),在并發(fā)執(zhí)行中?個進程要等待其合作伙伴發(fā)來消息,或者建

立某個條件后再向前執(zhí)行,這種制約性合作關(guān)系被稱為進程的(A)。

A.同步B.互斥C.調(diào)度D.執(zhí)行

17.(D)是一種只能進行P操作和V操作的特殊變量。

A.調(diào)度B.進程C.同步D.信號量

18.設(shè)與某資源相關(guān)聯(lián)的信號量初值為3,當前值為1,若M表示該資源的可用個數(shù),N表

示等待該資源的進程數(shù),則M,N分別是(B)

A.0,1B.1.0C.1,2D.2,0

19.可以被多個進程在任一時刻共享的代碼必須是(A

A.不能自身修改的代碼B.順序代碼C.無轉(zhuǎn)移指令的代碼D.匯編語言編制的代碼

20.原語是一種特殊的系統(tǒng)調(diào)用命令,它的特點是(D),

A.功能強B.自己調(diào)用自己C.可被外層調(diào)用D.執(zhí)行時不可中斷

21.如果信號母的當前值為一4,則表示系統(tǒng)中在該信號員上有(A)個進程等待。

A.4B.3C.5D.0

22.設(shè)兩個進程共用一個臨界資源的互斥信號量mucex,肖mulex=T時表示?:A工

A.一個進程進入了臨界區(qū),另一個進程等待B.沒有一個進程進入臨界區(qū)

C.兩個進程都進入臨界區(qū)D.兩個進程都在等待

23.如果進程PA對信號量S執(zhí)行P操作,則信號量S的值應(yīng)(B)。

A.加1B.減1C.等于0D.小于0

24.在下面的敘述中正確的是(C),

A.臨界資源是非共享資源B.臨界貨源是任意共享資源

C.臨界資源是互斥共享資源D.臨界貨源是同時共享資源

25.在操作系統(tǒng)中解決進程間同步和互斥的?種方法是使用信號成。

26.什么是臨界資源?什么是臨界區(qū)?進程進入臨界區(qū)的調(diào)度原則是什么?

答:臨界資源:單位時間只允許一個進程訪問的資源稱為臨界資源。

臨界區(qū):在每個進程中訪問臨界資源什J那段程序叫臨界區(qū)。

調(diào)度原則:空閑讓進、忙則等待、有限等待、讓權(quán)等待。

第02章練習題(2.5)

一、互斥訪問和程序段前趨關(guān)系控制問題及擴展

1.有兩個用戶進程A和B,在運行過程中都要使用系統(tǒng)中的一臺打印機輸出計算結(jié)果,為

保證這兩個進程能正確地打印出各自的結(jié)果,請用信號量和P、V操作寫出各自的有關(guān)申請、

使用打印機的代碼。要求給出信號吊;的含義和初值。

答:評定義信號信*/

semaphoremutex=l;〃打印機互斥信號量,初始值1代表可用

A(){/*A描述*/

while(l){

打印前的處理工作;

wail(muiex);“等打印機可用,申請打印機

打印;〃成功申請打印機,打印

signaKmutex);〃置打印機可用,釋放打印機

打印后的處理工作;

)

)

B(){/*B描述*/

while(l){

打印前的處理工作;

wail(muicx);〃等打印機可用,申請打印機

打卬;〃成功申請打印機,打印

signal(muiex);〃置打印機可用,釋放打印機

打印后的處理工作;

)

)

main(){

cobcgin

A();B():

coend

)

2.在公共汽車不斷地到站、停車、行駛過程中,司機和售票員的活動分別如下:(1)司機:

啟動車輛:正常行車:到站停車;<2)售票員:關(guān)車門:售票;開車門。請用記錄型信號量

機制描述司機和售票員的同步關(guān)系。

答:尸定義信號量及初值*/

jsem叩horeSI=0;〃表示是否允許司機啟動車輛,其初值為0;批注Mho]:光關(guān)車門,再啟動車輛

semaphoreS2=0:〃表示是否允許售票員開車門,其初值為0。|

批注I黃11]:信票之后,再上車

driver(){/*司機描述*/

whiled){

wait(SI);

啟動車輛;

正常行車;

到站停車;

signal(S2):

}

)

Seller()(尸售票員描述*/

whilefl){

關(guān)車門;

signal(SI);

售票;

wait(S2);

開車門;

}

}

tnain(){

cobegin

Seller():drived);

coend

)

3.假定系統(tǒng)有三個并發(fā)進程read,move和print共享緩沖器Bl和B2.進程read負責從輸入

設(shè)備上讀信息,每讀出一個記錄后把它存放到緩沖器BI中.進程move從緩沖涔BI中取出一

記錄加工后存入緩沖器B2.進程piini格B2中的記#:取山打卬輸出.緩沖器BI和B2每次只

能存放一個記錄.要求三個進程協(xié)調(diào)完成任務(wù),使打印出來的與讀入的記錄的個數(shù),次序完全

一樣.請用PV操作,寫出它們的并發(fā)程序.

答:產(chǎn)定義信號量及初值*/

recordB1.B2;〃B1第一個緩沖區(qū),B2第二個緩沖區(qū)

semaphoreempty1=1:〃緩沖區(qū)bI空緩沖區(qū)數(shù)量信號量,I代表可用。

semaphorefull1=0:〃緩沖區(qū)bl滿緩沖區(qū)數(shù)量信號量,0代表無資源。

semaphoreempty2=l;〃緩沖區(qū)b2空緩沖區(qū)數(shù)成信號成,I代表可用。

semaphorefull2=0;〃緩沖區(qū)b3滿緩沖區(qū)數(shù)設(shè)信號量,0代表無資源。

rcad(){

recordX;

while"){

X=接收來自輸入設(shè)備上一個記錄;

wait(empty1):〃等b1空

BI=X;

signal(ftiHl);〃置bl滿,喚move

)

)

inove(){

recordY;

while(l){

wait(fulll);〃等bl滿

Y=BI;

signal(cmptyI);〃置bI空,喚read

加工Y;

wait(cmpty2);〃等b2空

B2=Y;

signal(full2);//Sb2滿,喚prini

)

)

printOf

recordZ;

while(l){

wait(full2);〃等b2滿

Z=B2;

signal(cmpty2);〃置b2空,喚move

打印Z;

}

)

inain(){

cobegin

read();move();print();

coend

)

4.三個進程:輸入、計算、輸出。它們通過兩個緩沖區(qū)傳遞數(shù)據(jù),如圖所示,

手個緩沖區(qū)一次只能放入一條數(shù)據(jù)。寫出用信號量進行同步。

公共緩公共緩

-

0^沖區(qū)沖區(qū)2d

答:原理同3題

【多個同樣進程,多緩沖區(qū),同步】

5.彳1一?閱覽室,讀者進入時必須先在?張登記表上登記,該表為每?座位列出?個表目,

包括座號、姓名,讀者離開時要注銷登記信息:假如閱覽室共有*100個座位。試用:信號戰(zhàn)

和P、V操作,來實現(xiàn)用戶進程的同步算法。

答:/*定義信號量及初值*/

stringAI100]:〃晉記表,座何號0-99,存儲座位上讀者的名字

semaphoremutcxA=l;〃mulcxA座位數(shù)組A互斥信號量,初始值I代表可用

semaphoresea(count=IOO;"seaicouni空余的座位數(shù),初始值100

reader(stringreadernaine){〃讀者進程,傳遞讀者名

intreadernumber;〃讀者座位號

wait(seatcount);〃等有空座位,座位-1

wait(mulexA);〃等座位數(shù)組A可用

for(i=0;i<100;i++)”找空座,并占住

if(A[i].name==NULL)

{A[i].name=readername:break;}批注【黃12]:登記表為臨界資源,而并非座位

readenmmber=i;〃記錄座位號for循環(huán)體為臨界M

signal(niutexA);〃置座位數(shù)組A可用readnumber=i可以放在臨界區(qū)內(nèi)也可以放在臨界區(qū)

讀者進入閱覽室,作在rcadcrnumbcr號座位讀書;外無影響

讀者準備離開閱覽室

wait(mutcxA);〃等座位數(shù)組A可用

A[readcmumber]=NULL;〃離開座位,空出座位

signal(muiexA);〃置座位數(shù)組A可用

signal(seatcount);〃座位+1,喚讀者

讀者離開閱覽室;

)

main()(

for(i=0;i<100;i++)A[i].name=null;

cobcgin

whiled){

rcademame=?r來的讀者名;

reader(reademanie);

}

coend

)

二、生產(chǎn)者-消費者問題及擴展

【經(jīng)典生產(chǎn)者?消費者問題】

6.為了解決生產(chǎn)者和消責者的問題,當生產(chǎn)者和消皴者共享一個緩沖區(qū)時,請用信號量和P、

V操作寫出各自的有關(guān)申請、使用緩沖區(qū)的代碼。要求給出信號量的含義和初值。

【書P60-61]

答:/*記錄型信號量定義*/

intin=0.ou(=0;

itembuffering〃緩沖區(qū)臨界資源

semaphoreniutex=l;〃緩沖I乂互斥信號量,初始值1代表資源可用

semaphoreeinpty=n;〃緩沖區(qū)空緩沖數(shù)量信號量,初始值n代表n個可用

semaphorefull=0;〃緩沖區(qū)產(chǎn)品個數(shù)信號量,初始值0代表無

voidproceducer(){

while(l)(〃生產(chǎn)者進程

produceranitemnextp:

wait(empty);〃等有空位,空位J

wait(mutex):〃等緩沖區(qū)可用

〃向緩沖區(qū)內(nèi)放產(chǎn)品

bufferlin]=nexip;

in=(in+l)%n;

signal(mutex):〃置緩沖區(qū)可用,喚消費者

signal(full);〃產(chǎn)品數(shù)+1

)

voidconsumer。(

while(l)(〃消費者進程

wait(full);〃等有產(chǎn)品,產(chǎn)品數(shù)-1

wait(mutex);〃等緩沖區(qū)可用

〃從緩沖區(qū)內(nèi)取產(chǎn)品

nextc=buner|out|;

out=(oul+l)%oul;

signal(numtcx);〃置緩沖區(qū)可用,喚消費者

signal(empty);"空位+】

consumertheiteminnextc;

I

)

voidmain(){

cobcgin

proccduccr();consumer。;

cocnd

}

【一生產(chǎn)者,單緩沖區(qū),二互斥消費者】批注[黃13]:I,「.單援沖區(qū),互斥信號量mutex

7.桌上有一空盤,允許存放一只水果。媽媽可向盤中放白梨,也可向盤中放橙子,兒子專無影響.

等吃盤中的白梨,女兒專等吃盤中的橙子。規(guī)定當盤空時一次只放一只水果供吃者取用,請enip(y[-1,1]

用P,V原語實現(xiàn)媽媽,兒子,女兒三個并發(fā)進程的同步。

答:/*記錄型信號呈定義*/

itemplace:〃盤子臨界資源

semaphoreempiy=l;〃盤子中可放水果數(shù)信號量,互斥,I代表可放水果

semaphorefullp=0;〃盤子中白梨數(shù)信號量,0代表無

5Vinapliuicfullu-O,〃盤了中橙了數(shù)信號量,。代表無

產(chǎn)程序代碼,pv原語句

mothcr()(〃母親進程

while(l){

wait(empty);〃等待盤子空

plate=fifi機水果(pearororange);

if(plate==pe;u)

signal(fullp);〃置Fl梨可用,通知兒子

else

signal(fullo);“置橙子可用,通知女兒

son(){〃兒子進程

itemx;

whiled){

wail(fiillp);〃等白梨

x=plate:

signal(cmpiy);〃置盤子可用,通知媽媽

吃白梨X;

)

)

daughter!){〃女兒進程

itemx;

whilc(l){

wait(fullo);〃等橙子

x=plate;

signal(cmply);〃置盤子可用,通知媽媽

吃橙子X;

)

)

main(){

cobegin

mothcrf);son();daughtcr();

cocnd

)

8.某幼兒園中班有兩個班級每班各30名孩子。年底匯演中班排練節(jié)目,節(jié)目中需要手鼓和

搖於兩種樂器。園長負貨分發(fā)樂器,一班拿手鼓,二班拿搖鈴。園長一次只鋌發(fā)一種樂器且

將樂器放在指定位置匕一班和二班班主任每次按照所需要的也只能拿一件樂器發(fā)給班里小

朋友。請用P.V原語實現(xiàn)園長、一班和二班班主任三個人的進程同步。

答:同7題

9.學校羽毛球館,館內(nèi)提供羽毛球拍和羽毛球若干。有A、B兩組學生,A組學生每人都

備有羽毛球拍,B組學生每人都備有羽毛球.任意?組學生只要能得到其他?種材料就可

以打球。有一個可以存放一個球拍或一個羽毛球的筐子,當筐子中無物品時,管理員就隨機

的放一個球拍或一個羽毛球供學生取用,每次允許一個學生從中取出自己所需的材料,當學

生從留了中取走材料后允許管理員再以件材料,請用信號身與P、V操作。

答:同7題

10.有一體育器材保管員,他網(wǎng)球拍和網(wǎng)球若干。有A、B兩組學生,A組學生每人都備

有網(wǎng)球拍,B組學生每人都備有網(wǎng)球.任意一組學生只要能得到其他一種材料就可以打網(wǎng)

球。有一個可以放一個球拍或一個網(wǎng)球的筐子,當筐子中無物品時,保管員就可任意放一個

球拍或一個網(wǎng)球供學生取用,每次允許一個學生從中取出自己所需的材料,當學生從筐子中

取走材料后允許保管員再放一件材料,請用信號量與P、V操作。

答:同7題

11.有一材料保管員,他保管紙和筆若干。有Al、A2兩組學生,A1組學生每人都備有

紙,A2組學生每人都備有筆.任意一名學生只要能得到其他-?種材料就可以寫信。有一個

可以放一張紙或一支筆的小盒,當小盒中無物品時,保管員就可任意放一張紙或一支筆供學

牛取用,每次允許一個學牛從中取出自己所需的材料,當學牛從禽中取走材料后允許保管員

再存放一件材料,請用信號量與P、V操作。

答:同7題

【一生產(chǎn)者,多緩沖區(qū),二互斥消費者】

12.三個進程PI、P2、P3互斥使用一個包含N(NX))個單元的緩沖區(qū)。P1每次用produceO

生成一個正整數(shù)并用pui()送入緩沖區(qū)某一空單元中;P2每次用geioddO從該援沖區(qū)中取出

一個奇數(shù)并用countoddO統(tǒng)計奇數(shù)個數(shù);P3每次用gctevenO從該緩沖區(qū)中取出一個偶數(shù)并用

counieven。統(tǒng)計偶數(shù)個數(shù)。請用信號量機制實現(xiàn)這三個進程的同步與互斥活動,并說明所定

義的信號量的含義。要求用偽代碼描述。

答:/*信號量定義及含義*/

semaphoreempty=N;〃緩沖區(qū)空緩沖數(shù)成信號成,N代表初始N個"J'用

semaphorefullodd=0;〃緩沖區(qū)中奇數(shù)個數(shù)信號量,0代表無

semaphorefullevcn=O;〃緩沖區(qū)中偶數(shù)個數(shù)信號量,0代表無

semaphoremutex=l;〃緩沖區(qū)互斥信號量,I代表可用

Pl()(〃進程PI,生成正整數(shù)

while(I){

X=produce();〃生成數(shù)

wail(empiy);〃等有空位

wait(mutex);"等緩沖區(qū)可用

put(X);

signal(muiex);"放緩沖區(qū)

iRx%2==0)

signal(fulleven);〃喚p3

else

signal(fullodd);〃喚p2

}

)

P2(){〃進程P2

while(l){

wait(fullodd);〃等奇數(shù)

wait(mutex);"等緩沖區(qū)可用

X=getodd();

signal(mutex);〃放緩沖

sigiiul(cinply),〃喚pl

countodd(X);

}

)

P3()(〃進程P3

while(l){

wail(i'ulleven);〃等偶數(shù)

wait(nnitex):〃等緩沖

X=geteven();

signal(mutex);〃放緩沖

signal(empty);〃喚pl

countcven(X):

}

)

niain(){

cobegin

PIO;P2():P3();

coend

【一生產(chǎn)者,單緩沖區(qū),二共用消費者】

13.計算進程PC和打印進程POI、P02共享一個單緩沖區(qū)。計算進程負責計算,并把計算

結(jié)果放入單緩沖區(qū)中。打印進程POI、P02負責從單緩沖區(qū)中取出計算結(jié)果進行打印,而

且對于每一個計算結(jié)果,POI和P02都需分別打印一次。請用記錄型信號戰(zhàn)機制描述上述

三個進程之間的同步關(guān)系。

答:/*定義信號量*/,拙仁0,桃z

semaphorefull1=0;〃表示緩沖區(qū)中是否有可供POI打印的i|算結(jié)果,其初值為0:旗)fpoiOf

semaphorefull2=0;〃表示緩沖區(qū)中是否有可供PO2打卬的計算結(jié)果,其初值為0:5如?

semaphoreempty1=1;〃表示計算結(jié)果是否已被PO1取走,其初值為1:

semaphoreemp【y2=1;〃表示計算結(jié)果是否己被PO2取走,其初值為1。

PC()(/*PC描述*/

while(l){

計算;

POX)|

wait(emptyi);〃等pol取

wait(empty2);〃等po2取

計算結(jié)果放入緩沖;怡—初小初

signal(fulll);/帙pol

signal(full2);〃喚po2

}

)初」外國2死住做B%

POI(){/*P01描述刊及娼偃茲肛

while(l){批注(#14]:

wait(fulll):〃等結(jié)果,poi可用

取出計算結(jié)果;

signal(emptyl);〃喚pc,pel用完

打卬結(jié)果,

}

)

PO2(){/*PO2描述力

whiled){

wait(full2);〃等結(jié)果,po2可用

取出計算結(jié)果;

signal(empty2);〃喚pc.po2用完

打印結(jié)果;

)

)

main(){

cobegin

PC();P01();P02();

coend

J

【多生產(chǎn)者,一消費者問題】

14.某繳費中心提供I個服務(wù)窗口和5個供顧客等待的座位,顧客到達該中心時,若有空座

位,則到取號機上領(lǐng)取一個號,等待山號。取號機每次僅允許一位顧客使用。當收銀員空閑

時:通過叫號選取一位顧客,并為其服務(wù)。顧客和收銀員的活動表述如下:

Process顧客:

從取號機獲取一個號碼:

等待叫號:

獲取服務(wù):

)

Process收銀員

(

叫號:

為顧客服務(wù):

)

請?zhí)砑颖匾男盘柍呛蚉、V(或者wail。和signal。)操作,實現(xiàn)上述過程中的互斥與同步。

要求寫出完整的過程,說明信號量的含義并賦初值。

【分析】空座死等,無需定義int變量進行判斷。

無法實現(xiàn)順序叫號和服務(wù)的對應(yīng)關(guān)系

答:/*信號量定義*/

為”寸城街

semaphorescatcs=5:〃表示空余座位數(shù)量的資源信號量,初值為5

攵《1吐皿*?5=0;□□□

semaphorecustoniers=0:〃表示等待服務(wù)顧客的數(shù)量的資源信號量,初值為0

勿乃?馬〃評巴

semaphoremu(ex=l;〃管理取號機的互斥信號量,初值為1,表示取號機空閑

semaphoreservice=0:〃獲取服務(wù)的信號量I

se*u>pWwvite,?o,

customer){〃顧客進程

wait(seats);〃等空位

水,時,懂機生…

kTMCtMtwwK)

wait(mutex);〃等取號機,互斥資源刖(中),

從取號機獲取一個號碼;WKtCiMrt*);

崢機&Ig"

sigiial(mulcA),〃秤放取耳機,產(chǎn)〔MS〉,

signal(cuslomcrs);〃喚收銀員

等待叫號:

wait(service);〃等待叫號

獲取服務(wù);

溫馨提示

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

最新文檔

評論

0/150

提交評論