計(jì)算機(jī)學(xué)院-課件操作系統(tǒng)題庫(kù)-第01-08章練習(xí)題(答案版)_第1頁(yè)
計(jì)算機(jī)學(xué)院-課件操作系統(tǒng)題庫(kù)-第01-08章練習(xí)題(答案版)_第2頁(yè)
計(jì)算機(jī)學(xué)院-課件操作系統(tǒng)題庫(kù)-第01-08章練習(xí)題(答案版)_第3頁(yè)
計(jì)算機(jī)學(xué)院-課件操作系統(tǒng)題庫(kù)-第01-08章練習(xí)題(答案版)_第4頁(yè)
計(jì)算機(jī)學(xué)院-課件操作系統(tǒng)題庫(kù)-第01-08章練習(xí)題(答案版)_第5頁(yè)
已閱讀5頁(yè),還剩46頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

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

第01章練習(xí)題

1.操作系統(tǒng)是一種系統(tǒng)軟件。操作源統(tǒng)設(shè)計(jì)的主要目標(biāo)包括方便性和有效性。操作

系統(tǒng)的特征是虛擬、共享、并發(fā)和異步,操作系統(tǒng)最基本的特征是并發(fā)和

共享。操作系統(tǒng)的主要功能是一進(jìn)程管理、文件管理、內(nèi)存管理、用戶(hù)接口

管理、設(shè)備管理.從用戶(hù)的觀點(diǎn)出發(fā),操作系統(tǒng)是用戶(hù)和計(jì)一機(jī)之間的接口行命

令接口、程序接n、圖形接n三種。

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

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

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

4.若干事件在同一時(shí)間間隔內(nèi)發(fā)生稱(chēng)為)遺_:若干事件在同一時(shí)刻發(fā)生稱(chēng)為加二。

5.現(xiàn)代計(jì)算機(jī)中主存儲(chǔ)器都是以主忙為單位進(jìn)行編址。

6.分時(shí)系統(tǒng)中,時(shí)間片設(shè)置得越小,則平均響應(yīng)時(shí)間越短。X

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

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

統(tǒng)。X

9.與分時(shí)系統(tǒng)相比,實(shí)時(shí)操作系統(tǒng)對(duì)響應(yīng)時(shí)間的緊迫性要求高的多。J

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

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

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

13.通過(guò)任何手段都無(wú)法實(shí)現(xiàn)計(jì)算機(jī)系統(tǒng)資源之間的互換.X

14.對(duì)臨界資源,應(yīng)采用互斥訪問(wèn)方式來(lái)實(shí)現(xiàn)共享。V

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

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

17.多道批處理系統(tǒng)的主要優(yōu)點(diǎn)是系統(tǒng)的吞吐成大'資源利用率高。J

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

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

20.計(jì)算機(jī)中所有的資源都是共享資源。X

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

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

22.-■個(gè)完整的計(jì)算機(jī)系統(tǒng)是由(C)組成的。

A.硬件B.軟件C.硬件和軟件D.用戶(hù)程序

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

A.及時(shí)性B.交互性C,共享性D.運(yùn)行效率

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

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

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

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

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

A.用尸與計(jì)算機(jī)之I.可的接口B.拴制和管理計(jì)算機(jī)資源的軟件

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

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

常稱(chēng)為(C)。

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

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

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

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

D.由于采用了分時(shí)技術(shù),用戶(hù)可以獨(dú)占計(jì)算機(jī)的資源

29.訂購(gòu)機(jī)票系統(tǒng)處理各個(gè)終端的服務(wù)請(qǐng)求,處理后通過(guò)終端回答用戶(hù),所以它是一個(gè)

(D

A.分時(shí)系統(tǒng)B.多道批處理系統(tǒng)C.計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)I).實(shí)時(shí)信息處理系統(tǒng)

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

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

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

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

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

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

32.計(jì)算機(jī)的操作系統(tǒng)是一種(B)。

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

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

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

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

應(yīng)。

A.實(shí)時(shí)B.分時(shí)C.分布式D單用戶(hù)

35.以下著名的操作系統(tǒng)中,屬于多用戶(hù)、分時(shí)系統(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.分時(shí)系統(tǒng)B.批處理系統(tǒng)C.實(shí)時(shí)系統(tǒng)D.分布式系統(tǒng)

37.Unix是一種(D);linux是一種(D);WindowsServer2003是一種

(B):DOS是一種(A)?

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

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

A.可靠性和靈活性B.實(shí)時(shí)性和可靠性

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

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

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

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

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

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

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

12.(C)操作系統(tǒng)允許在一臺(tái)主機(jī)上同時(shí)聯(lián)接多臺(tái)終端,多個(gè)用戶(hù)可以通過(guò)各自的終

端同時(shí)交互地使用計(jì)算機(jī)。

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

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

A.把源程序代碼牯換為標(biāo)準(zhǔn)代碼B.實(shí)現(xiàn)計(jì)算機(jī)用戶(hù)之間的相互交流

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

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

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

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

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

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

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

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

47.什么是操作系統(tǒng)?操作系統(tǒng)的特征有哪些?其設(shè)計(jì)基本目標(biāo)是什么?操作系統(tǒng)的作用

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

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

方便用戶(hù)的程序的集合。

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

基本目標(biāo):方便性、有效性

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

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

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

決哪些問(wèn)題?

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

時(shí)運(yùn)行的技術(shù)。

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

問(wèn)題;1)處理機(jī)管理。2)存儲(chǔ)制管理。3)設(shè)備管理。4)文件管理。5〉用戶(hù)接口

第02章練習(xí)題(2.1-2.3)

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

2.操作系統(tǒng)對(duì)進(jìn)程的管理和控制主要是通過(guò)PCB來(lái)實(shí)現(xiàn)的。J

3.多個(gè)進(jìn)程可以對(duì)應(yīng)于同?個(gè)程序,且?個(gè)進(jìn)程也可能會(huì)執(zhí)行多個(gè)程序。J

1.一個(gè)進(jìn)程的狀態(tài)發(fā)生變化總會(huì)引起其它一些進(jìn)程的狀態(tài)發(fā)生變化。X

5.一般地,進(jìn)程由PCB和其執(zhí)行的程用數(shù)據(jù)所組成。J

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

靠近硬件。X

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

8.一個(gè)進(jìn)程在執(zhí)行過(guò)程中可以被中斷事件打斷,當(dāng)相應(yīng)的中斷處理完成后,就一定恢史該進(jìn)

程被中斷時(shí)的現(xiàn)場(chǎng),使它繼續(xù)執(zhí)行。X

9.進(jìn)程的動(dòng)態(tài)、并發(fā)特征是通過(guò)程序表現(xiàn)出來(lái)的。X

10.進(jìn)程控制塊中的所有信息必須常駐內(nèi)存。X

1L當(dāng)一個(gè)進(jìn)程從等待態(tài)變成就緒態(tài),則一定布?一個(gè)進(jìn)程從就緒態(tài)變成運(yùn)行態(tài)。X

12.用戶(hù)程序一定在核心態(tài)下運(yùn)行。X

13.當(dāng)某個(gè)特定條件滿足時(shí),進(jìn)程可以由運(yùn)行狀態(tài)轉(zhuǎn)換為就緒狀態(tài)。J

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

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

16.進(jìn)程是程序的一次執(zhí)行過(guò)程,在執(zhí)行過(guò)程中進(jìn)程的狀態(tài)不斷發(fā)生變化,進(jìn)程的這種特性

稱(chēng)為(A)

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

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

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

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

18.在進(jìn)程管理中,當(dāng)(C)時(shí),進(jìn)程從阻塞狀態(tài)變?yōu)榫途w狀態(tài)。

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

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

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

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

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

此時(shí)該進(jìn)程的狀態(tài)將(D),

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

21.進(jìn)程和程序的一個(gè)本質(zhì)區(qū)別是(D

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

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

22.一個(gè)運(yùn)行的進(jìn)程用完工分配給它的時(shí)間片后,它的狀態(tài)變?yōu)椋ˋ

A.就緒B,等待C.運(yùn)行D.由用戶(hù)自己確定

23.對(duì)進(jìn)程的管理和控制使用(B!),

A指令B.原語(yǔ)C.信號(hào)量D?倍箱通信

24.不屬于進(jìn)程控制原語(yǔ)的是(A1)

A.接收原語(yǔ)B.撤消原語(yǔ)C,.阻塞原語(yǔ)D.喚醒原語(yǔ)

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

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

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

A.由調(diào)度程序?yàn)檫M(jìn)程分配CPUB.建立一個(gè)進(jìn)程控制塊

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

27.一個(gè)進(jìn)程被喚醐意味著(D).

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

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

28.通常,用戶(hù)進(jìn)程被建立后,(B

A.便一直存在于系統(tǒng)中,直到被操作人員撤消B.附著作業(yè)運(yùn)行正常或不正常結(jié)束而撤消

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

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

<B).

A.等待活動(dòng)B.運(yùn)行活動(dòng)C.的犯操作D.關(guān)聯(lián)操作

30.下面對(duì)進(jìn)程的描述中,錯(cuò)誤的是(D

A.進(jìn)程是動(dòng)態(tài)的概念B.進(jìn)程執(zhí)行需要處理機(jī)

C.進(jìn)程是有生命期的D.進(jìn)程是指令的集合

31.一進(jìn)程在某一時(shí)刻具有(A

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

32.操作系統(tǒng)的(D)管理部分負(fù)責(zé)對(duì)進(jìn)程進(jìn)行調(diào)度。

A.主存儲(chǔ)器B,控制器C,運(yùn)算器D.處理機(jī)

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

A.說(shuō)明信息R.標(biāo)識(shí)信息C.現(xiàn)場(chǎng)信息D.管理信息

34.一個(gè)進(jìn)程被喚醒,意味著(B)。

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

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

35.操作系統(tǒng)通過(guò)(B)對(duì)正程進(jìn)行管理。

A.進(jìn)程B.進(jìn)程控制塊C.進(jìn)程啟動(dòng)程序D.進(jìn)程控制區(qū)

36.進(jìn)程在系統(tǒng)中是否存在的惟一標(biāo)志是(D

A.數(shù)據(jù)集合B.目標(biāo)程序C.源程序D,進(jìn)程控制塊

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

A.就緒T?運(yùn)行B.運(yùn)行T就緒C.阻塞T就緒D.就緒T阻塞

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

A.JCBB.PCBC.AFTD.SFT

39.當(dāng)一個(gè)進(jìn)程完成了特定的任務(wù)后,系統(tǒng)收I可這個(gè)進(jìn)程所占的主存空間和取消該

進(jìn)程的進(jìn)程控制塊,就撤消了該進(jìn)程。

41.當(dāng)一個(gè)進(jìn)程獨(dú)占處理器順序執(zhí)行時(shí).具有兩個(gè)特性:封閉性和可再現(xiàn)性。

43.進(jìn)程實(shí)體由PCB、程序段和數(shù)據(jù)段三部分組成。

44.進(jìn)程的基本特征包括動(dòng)態(tài)性、并發(fā)性、獨(dú)立性、異步性和結(jié)構(gòu)特征。

45.計(jì)并機(jī)系統(tǒng)將處理器的匚作狀態(tài)劃分為管態(tài)和目態(tài)。后者一般指用戶(hù)程序運(yùn)行時(shí)的狀態(tài),

又稱(chēng)為用戶(hù)態(tài).

46.進(jìn)程是動(dòng)態(tài)的概念,而程序是靜態(tài)的概念。

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

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

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

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

進(jìn)程創(chuàng)建事件:用戶(hù)登錄:作業(yè)調(diào)度:提供服務(wù):應(yīng)用請(qǐng)求。

狀態(tài):就緒、運(yùn)行、阻塞

時(shí)間片先

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

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

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

方面比較進(jìn)程和程序。

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

源而暫停執(zhí)行,以及由撤銷(xiāo)而消亡,因而進(jìn)程由一定的牛.命期:而程序只是一組有序指令的

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

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

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

3)獨(dú)立性是指進(jìn)程實(shí)體是?個(gè)能獨(dú)立運(yùn)行的基本單位,同時(shí)也是系統(tǒng)中獨(dú)立獲得資源和獨(dú)

立調(diào)度的基本單位。而對(duì)于未建立任何進(jìn)程的程序,都不能作為一個(gè)獨(dú)立的單位來(lái)運(yùn)行。

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

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

有并發(fā)性。并發(fā)性是指兩個(gè)或答個(gè)講拜在同一忖間間隔內(nèi)同時(shí)執(zhí)行。

第02章練習(xí)題(2.4)

1.進(jìn)程間的互斥是一種特殊的同步關(guān)系。J

2.用信號(hào)量和P,V原語(yǔ)操作可解決互斥問(wèn)題,互斥信號(hào)量的初值一定為lox

3.對(duì)臨界資源,應(yīng)采用互斥訪問(wèn)方式來(lái)實(shí)現(xiàn)共享。J

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

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

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

5.對(duì)一組并發(fā)進(jìn)程來(lái)說(shuō),其中每一個(gè)進(jìn)程都(A)

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

6.多個(gè)進(jìn)程的實(shí)體能存在于同一內(nèi)存中,在一段時(shí)間內(nèi)都得到運(yùn)行。這種性質(zhì)稱(chēng)作進(jìn)程的

(B).

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

7.進(jìn)程的并發(fā)執(zhí)行是指若干個(gè)進(jìn)程(B)。

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

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

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

9.用P、V操作管理臨界區(qū)時(shí),信號(hào)量的初值應(yīng)定義為(C)

A.-1B.OC.1D.任意值

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

A.等待B,就緒C.運(yùn)行D.完成

1L臨界區(qū)是(C

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

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

A.一切B.某些C.正確D.錯(cuò)誤

13.正在運(yùn)行的進(jìn)程在信號(hào)量S上操作P操作之后,當(dāng)S<0,進(jìn)程將進(jìn)入信號(hào)城的

(A).

A.等待隊(duì)列B.提交隊(duì)列C.后備隊(duì)列D.就緒隊(duì)列

14.當(dāng)對(duì)記錄型信號(hào)量進(jìn)行V原語(yǔ)操作之后(C

A.當(dāng)S<0,進(jìn)程繼續(xù)執(zhí)行B.當(dāng)S〉0,要喚解一個(gè)就緒進(jìn)程

C.當(dāng)S<=0,要喚醒?個(gè)等待進(jìn)程I).當(dāng)SCO,要喚謖一個(gè)就緒進(jìn)程

15.P\V操作是(A

A.兩條低級(jí)進(jìn)程通信原語(yǔ)B.兩組不同的機(jī)器指令

C.兩條系統(tǒng)調(diào)用命令D.兩條鬲級(jí)進(jìn)程通信原語(yǔ)

16.兩個(gè)進(jìn)程合作完成一個(gè)任務(wù),在并發(fā)執(zhí)行中一個(gè)進(jìn)程要等待其合作伙伴發(fā)來(lái)消息,或者建

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

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

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

A.調(diào)度B.進(jìn)程C.同步D.信號(hào)成

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

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

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

19.可以被多個(gè)進(jìn)程在任一時(shí)刻共享的代碼必須是(A).

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

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

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

21.如果信號(hào)量的當(dāng)前值為一4,則表示系統(tǒng)中在該信號(hào)量上有(A)個(gè)進(jìn)程等待。

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

22.設(shè)兩個(gè)進(jìn)程共用一個(gè)臨界資源的互斥信號(hào)量mutex,當(dāng)mutex=-l時(shí)表示?A).

A.一個(gè)進(jìn)程進(jìn)入了臨界區(qū),另一個(gè)進(jìn)程等待B.沒(méi)有一個(gè)進(jìn)程進(jìn)入臨界區(qū)

C.兩個(gè)進(jìn)程都進(jìn)入臨界區(qū)D.兩個(gè)進(jìn)程都在等待

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

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

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

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

C.臨界資源是互斥共享資源D.臨界資源是同時(shí)共享資源

25.在操作系統(tǒng)中解決進(jìn)程間.同步和互斥的一種方法是使用信號(hào)量。

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

答:臨界資源:?jiǎn)挝粫r(shí)間只允許一個(gè)進(jìn)程訪問(wèn)的資源稱(chēng)為臨界資源。

臨界區(qū):在每個(gè)進(jìn)程中訪問(wèn)臨界資源『J那段程序叫臨界區(qū)。

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

第02章練習(xí)題(2.5)

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

1.彳j兩個(gè)用戶(hù)進(jìn)程A和B,在運(yùn)行過(guò)程中都要使用系統(tǒng)中的?臺(tái)打印機(jī)輸出計(jì)算結(jié)果,為

保證這兩個(gè)進(jìn)程能正確地打印出各自制結(jié)果,請(qǐng)用信號(hào)量和P、V操作寫(xiě)出各自的有關(guān)申請(qǐng)、

使用打印機(jī)的代碼。要求給出信號(hào)量的含義和初值。

答:/*定義信號(hào)量*/

semaphoremutcx=l;〃打印機(jī)互斥信號(hào)星:,初始值I代表可用

A(){/*A描述*/

while(1){

打印前的處理工作;

wait(mutex);〃等打印機(jī)可用,申請(qǐng)打印機(jī)

打??;〃成功申請(qǐng)打印機(jī),打印

signal(mutex);〃置打印機(jī)可用,釋放打印機(jī)

打印后的處理工作;

)

}

B(){/*B描述*/

while(l){

打印前的處理工作;

wait(nuuex):〃等打印機(jī)可用,申請(qǐng)打印機(jī)

打??;〃成功申請(qǐng)打印機(jī),打印

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

打印后的處理工作;

)

)

main(){

cobcgin

A();B();

coend

)

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

啟動(dòng)車(chē)輛;正常行車(chē):到站停車(chē);(2)售票員:關(guān)車(chē)門(mén);售票;開(kāi)車(chē)門(mén)。請(qǐng)用記錄型信號(hào)信

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

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

semaphoreSl=0:〃表示是否允許司機(jī)啟動(dòng)車(chē)輛,其初值為0;

semaphoreS2=0:〃表示是否允許售票員開(kāi)車(chē)門(mén),其初值為0。

driver()(/*司機(jī)描述*/

while(l){

wait(SI);

啟動(dòng)車(chē)輛;

正常行車(chē);

到站停車(chē);

signal(S2);

)

)

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

while(l){

關(guān)車(chē)門(mén);

signal(SI);

售票:

wail(S2);

開(kāi)車(chē)門(mén);

}

)

inain(){

cobegin

SellerO;driver();

coend

)

3.假定系統(tǒng)有三個(gè)并發(fā)進(jìn)程lead.muve和piiul共享緩沖器Bl和B2.進(jìn)程lead負(fù)選從輸入

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

記錄加工后存入緩沖器B2.進(jìn)程prim將B2中的記錄取出打印輸出.緩沖器BI和B2每次只

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

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

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

recordBI.B2;〃BI第一個(gè)緩沖區(qū),B2第二個(gè)緩沖區(qū)

semaphoreempty1=1;〃緩沖區(qū)bI空緩沖區(qū)數(shù)成信號(hào)依,I代表可用。

semaphorefull1=0;〃緩沖區(qū)bl滿緩沖區(qū)數(shù)設(shè)信號(hào)或,0代表無(wú)資源。

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

semaphorefull2=0;〃緩沖區(qū)b3滿緩沖區(qū)數(shù)量信號(hào)量,0代表無(wú)資源。

rcad(){

recordX;

while!I){

X=接收來(lái)白輸入設(shè)備上一個(gè)記錄;

wail(emptyl):〃等bl空

BI=X;

signal(fiilll);〃置bI滿,喚move

)

)

move(){

recordY;

while(l){

wait(fulll);〃等bl滿

Y=BI;

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

加工Y

wait(empty2);〃等b2空

B2=Y;

signal(ftill2);Z/Sb2滿,喚print

I

)

print()(

recordZ;

whilc(l){

wail(full2);〃等b2滿

Z=B2:

signal(emply2);Z/Sb2空,喚move

打印Z;

)

)

main(){

cobegin

read。;movc();print();

cucnd

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

竺個(gè)緩沖區(qū)一次只能放入一條數(shù)據(jù)。寫(xiě)出用信號(hào)員進(jìn)行同步。

答:原理同3題

多個(gè)同樣進(jìn)程,多緩沖區(qū),同步:

5.有一閱覽室,讀者進(jìn)入時(shí)必須先在一張登記表上登記,該表為每一座位列出一個(gè)表目,

包括座號(hào)、姓名,讀者離開(kāi)時(shí)要注俏登記信息:假如閱覽室共有100個(gè)座位。試用:信號(hào)量

和P、V操作,來(lái)實(shí)現(xiàn)用戶(hù)講稗的同步苴法。

答:/*定義信號(hào)量及初值*/

stringA|100];〃登記表,座位號(hào)>99,存儲(chǔ)座位上讀者的名字

semaphoremu(exA=l;//muiexA座位數(shù)組A互斥信號(hào)量,初始值1代表可用

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

reader(stringreadernan)e){//讀者進(jìn)程,傳遞讀者名

intreademumber;〃讀者座位號(hào)

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

wait(inutexA);//等座位數(shù)組A可用

for(i=0:i<IOO;i++)〃找空座,并占住

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

{A[=readername;break;}

rcadcmumbcr=i;

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

讀者進(jìn)入閱覽室,作在rcadcrnunibcr號(hào)座位讀書(shū);

讀者準(zhǔn)備離開(kāi)閱覽室

wait(mutexA);"等座位數(shù)組A可川

A|reademumberj=NULL;〃離開(kāi)座位,空出座位

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

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

讀者禹開(kāi)閱覽室:

)

main(){

for(i=0:i<l()0:i++)A[i].nanic=null:

cobcgin

while(l){

"2加17出催=新來(lái)的讀者名;

readerfreadername);

}

coend

)

二、生產(chǎn)者-消費(fèi)者問(wèn)題及擴(kuò)展

經(jīng)典生產(chǎn)者?消費(fèi)者問(wèn)題:

6.為了解決生產(chǎn)者和消費(fèi)者的問(wèn)題,當(dāng)生產(chǎn)者和消費(fèi)者共享個(gè)緩沖區(qū)時(shí),請(qǐng)用信號(hào)星和P、

V操作寫(xiě)出各自的有關(guān)申請(qǐng)、使用緩汨區(qū)的代碼。要求給出信號(hào)里的含義和初值。

答:答案見(jiàn)書(shū)上60-61頁(yè)代碼。

一生產(chǎn)者,單緩沖區(qū),二互斥消費(fèi)者:

7.桌上有一空盤(pán),允許存放一只水果。媽媽可向盤(pán)中放白梨,也可向盤(pán)中放橙子,兒子專(zhuān)

等吃盤(pán)中的白梨,女兒專(zhuān)等吃盤(pán)中的松子。規(guī)定當(dāng)盤(pán)空時(shí)一次只放一只水果供吃者取用,請(qǐng)

用P,V原語(yǔ)實(shí)現(xiàn)媽媽?zhuān)瑑鹤樱畠喝齻€(gè)并發(fā)進(jìn)程的同步。

答:/*記錄型信號(hào)量定義*/

itemplate;〃盤(pán)子臨界資源

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

semaphorefullp=O;〃盤(pán)子中白梨數(shù)信號(hào)量,0代表無(wú)

semaphorefullo=0:〃嗇千中橙子數(shù)信號(hào)量,0代表無(wú)

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

inoiher(){〃母親進(jìn)程

whiled){

wait(empty);〃等待盤(pán)子空

plate=R?機(jī)水果(pearororange);

if(plate==pear)

signal(fullp);//置白梨可用,通知兒子

else

signal(fullo);〃置檢子可用,通知女兒

1

)

son(){〃兒子進(jìn)程

itemX;

while(l){

wail(fullp);〃等白梨

x=pla(e:

signal(empiy);〃置盤(pán)子可用,通知媽媽

吃白梨X;

)

)

daughter){"女兒進(jìn)程

itemx;

whilc(l){

wail(full。);〃等橙子

x=plate;

signal(cmpiy);//置盤(pán)子可用,通知媽媽

吃橙子X(jué);

)

)

main(){

cobegin

mothcr();son();daughtcr();

cucnd

)

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

搖鈴兩種樂(lè)器。園長(zhǎng)負(fù)責(zé)分發(fā)樂(lè)器,一班拿手鼓,二班拿搖鈴。園長(zhǎng)一次只能發(fā)一種樂(lè)器且

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

朋友。請(qǐng)用P.V原語(yǔ)實(shí)現(xiàn)園長(zhǎng)、一班和二班班主任三個(gè)人的進(jìn)程同步。

答:同7題

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

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

以打球。有一個(gè)可以存放一個(gè)球拍或一個(gè)羽毛球的筐子,當(dāng)筐子中無(wú)物品時(shí),管理員就隨機(jī)

的放一個(gè)球拍或一個(gè)羽毛球供學(xué)生取用,每次允許一個(gè)學(xué)生從中取出自己所需的材料,當(dāng)學(xué)

牛從鐐干中取走材料后允許管理員再以一件材料,詁用信號(hào)用與P、V操作。

答:同7題

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

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

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

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

取走材料后允許保管員再放一件材料,請(qǐng)用信號(hào)星與P、V操作。

答:同7題

11.有一材料保管員,他保管紙和笫若干。有Al、A2兩組學(xué)生,A1組學(xué)生每人都飴有

紙,A2組學(xué)生每人都備有筆.任意一名學(xué)生只要能得到其他一種材料就可以寫(xiě)信。有一個(gè)

可以放一張紙或支筆的小盒,當(dāng)小盒中無(wú)物品時(shí),保管員就可任意放一張紙或及筆供學(xué)

生取用,每次允許一個(gè)學(xué)生從中取出自己所得的材料,當(dāng)學(xué)生從盒中取走材料后允許保管員

再存放一件材料,請(qǐng)用信號(hào)量與P、V操作。

答:同7題

一生產(chǎn)者,多緩沖區(qū),二互斥消費(fèi)者:

12.三個(gè)進(jìn)程Pl、P2、P3互斥使用一個(gè)包含N(NX))個(gè)單元的緩沖區(qū)。PI每次用produccO

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

一個(gè)奇數(shù)并用counioddO統(tǒng)計(jì)奇數(shù)個(gè)數(shù);P3每次用geteven。從該緩沖區(qū)中取出一個(gè)偶數(shù)并用

counieven()統(tǒng)計(jì)偶數(shù)個(gè)數(shù)。請(qǐng)用信號(hào)量機(jī)制實(shí)現(xiàn)這三個(gè)進(jìn)程的同步與互斥活動(dòng),并說(shuō)明所定

義的信號(hào)量的含義。要求用偽代內(nèi)描述.

答:〃信號(hào)城定義及含義

semaphoreempty=N;〃緩沖區(qū)空緩沖數(shù)量信號(hào)量,N代表初始N個(gè)可用

semaphorefullodd=0;〃緩沖區(qū)中奇數(shù)個(gè)數(shù)信號(hào)量,0代表無(wú)

semaphorefullevcn=O;〃緩沖區(qū)中偶數(shù)個(gè)數(shù)信號(hào)量,。代表無(wú)

semaphoremutcx=I;〃緩沖區(qū)互斥信號(hào)量,I代表可用

Pl(){〃進(jìn)程PI,生成正整數(shù)

while(1){

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

wait(empiy);〃等有空位

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

put(X);

signal(mutex);〃放緩沖區(qū)

if(x%2==0)

&igiiul(fulleveit);〃唉p3

else

signaKfullodd);〃喚p2

}

)

P2(){〃進(jìn)程P2

while(l){

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

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

X=getodd();

signal(mutex);〃放緩沖

signal(cmply):〃喚pl

counlodd。;

}

)

P3(){〃進(jìn)程P3

while(l){

wail(fulleven);”等偶數(shù)

wait(muiex);〃等緩沖

X=geteven();

signal(mutex);〃放緩沖

signal(en〕Dtv);〃喚pl

counteven();

main(){

cobegin

Pl();P2();P3():

coend

)

一生產(chǎn)者,單緩沖區(qū),二共用消費(fèi)者:

13.計(jì)算進(jìn)程PC和打印進(jìn)程POI、P02共享一個(gè)單緩沖區(qū)。計(jì)算進(jìn)程負(fù)貢計(jì)算,并把計(jì)算

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

且對(duì)于每一個(gè)計(jì)算結(jié)果,POI和P02都需分別打印一次。請(qǐng)用記錄型信號(hào)量機(jī)制描述上述

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

答:/*定義信號(hào)量*/

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

semaphoreful12=0;〃表示緩沖區(qū)中是否有可供PO2打印的計(jì)算結(jié)果,其初值為0;

sein叩horeempiy1=]:〃表示計(jì)算結(jié)果是否己被P01取走,其初值為1:

semaphoreempty2=1:〃表示計(jì)算結(jié)果是否已被P02取走,其初值為1。

PC()(/*PC描述*/

while(l){

計(jì)算;

wait(emptyl);〃等pol取

wuil(uuiply2),〃等pu2取

計(jì)算結(jié)果放入緩沖;

signal(fulll);〃喚pol

signal(full2);〃喚po2

POI(){/*P01描述,

while(l){

wait(fulll);〃等結(jié)果,阿可用

取出計(jì)算結(jié)果;

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

打印結(jié)果:

P02(){/*P02描述曾

whiled){

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

取出計(jì)算結(jié)果;

$ignal(empiy2);〃喚pc,po2用完

打印結(jié)果;

}

1

main(){

cobcgin

PC();PO1();PO2():

coend

)

多生產(chǎn)者,一消費(fèi)者問(wèn)題:

14.某繳費(fèi)中心提供I個(gè)服務(wù)窗I」和5個(gè)供顧客等待的座位,顧客到達(dá)該中心時(shí),若有空座

位,則到取號(hào)機(jī)上領(lǐng)取一個(gè)號(hào),等待嘰號(hào)。取號(hào)機(jī)每次僅允許一位顧客使用。當(dāng)收銀員空閑

時(shí).,通過(guò)叫號(hào)選取一位顧客,并為其服務(wù)。顧客和收銀員的活動(dòng)表述如下:

Process顧客:

(

從取號(hào)機(jī)獲取一個(gè)號(hào)碼;

等待叫號(hào):

獲取服務(wù):

)

Process收銀員

(

叫號(hào):

為顧客服務(wù);

)

請(qǐng)?zhí)砑颖匾男盘?hào)量和P、V(或者wail。和signal。)操作,實(shí)現(xiàn)上述過(guò)程中的互斥與同步。

要求寫(xiě)出完整的過(guò)程,說(shuō)明信號(hào)量的含義并賦初值。

答:/*信號(hào)星定義*/

#defincN5

itemseal!N1:〃5個(gè)座位

in(in=0.out=0:

semaphoreemptyseats=N:〃表示空余座位數(shù)量的資源信號(hào)量,初值為5。

semaphorefullcustomers=0;〃表示等待服務(wù)顧客數(shù)量的資源信號(hào)量,初值為0。

semaphoremutexA=l;〃管理取號(hào)機(jī)的互斥信號(hào)量,初值為I,表示取號(hào)機(jī)空閑。

semaphoremu(exS=1;〃管理共享資源座位seal的互斥信號(hào)笊,初值為I,表示空閑。

customer){〃顧客進(jìn)程

whilc(l){

wait(emptyseats);〃等空位

wait(mutex):〃等取號(hào)機(jī).互.斥濟(jì)源

cid=從取號(hào)機(jī)獲取一個(gè)號(hào)碼;

signal(mutex);〃釋放取號(hào)機(jī)

wait(muiexS);〃等seal,互斥資源

seat(in]=cid:in=(in+l)%N;〃顧客做進(jìn)座位

signal(mutexS);〃釋放seat

signal(fulIcustomers);〃喚收銀員

等待叫號(hào);

獲取服務(wù);

}

1

cashier(){〃收銀員進(jìn)程

whilc(l){

wait(fullcustomcrs);〃等顧客

wail(mulcxS);〃等seal,互斥資源

cid=seat[out]:oul=(oul+l)%N:〃從座位上讀取號(hào)碼

signal(nuitexS);〃釋放seat

叫號(hào);

為顧客服務(wù);

signal(emptyseats);〃服務(wù)完成,喚顧客離開(kāi)空出座位

)

)

main(){

cobcgin

cashicrt);while。){customcrf);}

coend

)

生成者-消費(fèi)者問(wèn)題的復(fù)雜化,匯合機(jī)制:

15.某公園有一個(gè)恐龍博物館和一個(gè)公園.有m個(gè)旅客和n輛車(chē)間輛車(chē)只能容納一個(gè)旅客。

旅客在博物館逛了一會(huì)兒,然后排隊(duì)乘坐旅行車(chē)。當(dāng)?輛車(chē)可用時(shí),它放入一個(gè)旅客,然后

繞公園行駛?cè)我忾L(zhǎng)的時(shí)間。如果n輛車(chē)都已被旅客乘坐游玩,則想坐車(chē)的旅客需要等待;如

果一輛車(chē)已經(jīng)就緒,但沒(méi)有旅客等待,那么這輛車(chē)等待。使用信號(hào)量同步m個(gè)旅客和n輛

車(chē)的進(jìn)程。

答:這是個(gè)匯合機(jī)制,有兩類(lèi)進(jìn)程:顧客進(jìn)程和不柄進(jìn)程,需要進(jìn)行匯合、即顧客要坐進(jìn)

車(chē)柄后才能游玩,開(kāi)始時(shí)讓車(chē)輛進(jìn)程進(jìn)入等待狀態(tài)。

產(chǎn)定義信號(hào)量及初值*/

datashareareii;〃登記車(chē)輛被服務(wù)乘客信息的共享區(qū)

semaphoremu(ex=I;//mutex共享區(qū)sharearea互.斥信號(hào)量,初值為I可用

semaphoreeinptycar=n;//empiycar可汨車(chē)的數(shù)量信號(hào)量,初值n

semaphorefullpass=O://fullpass等待的旅客數(shù)屬信號(hào)信,初值0

semaphorepass(m+1)={0}:〃m個(gè)旅客的卜,車(chē)互斥信號(hào)JR,初值都為0,含義未卜,車(chē)

passenger!intci)("旅客進(jìn)程,ci=l...m

whilc(l){

逛博物館;

wait(cmptycar):〃等有空下

wail(mutex);〃封鎖共享區(qū),互斥操作

在共享區(qū)sharearea登記被服務(wù)的旅客的ci的信息,起始和到達(dá)地點(diǎn)

signal(fullpass);〃喚醒等待的車(chē)輛,即找到一輛空車(chē)

wait(pass[cij);//ci旅客等下車(chē)

signal(empiycar);〃空車(chē)輛數(shù)加1

)

car(intcj){〃車(chē)輛進(jìn)程,cj=l...n

while!I){

wait(fullpass);〃車(chē)輛等待旅客

wait(muiex);〃封鎖共享區(qū),互斥操作

在共享區(qū)sharearca讀取等車(chē)的ci旅客,并登記cj車(chē)被ci旅客使用,與旅客進(jìn)程匯合

signal(mutex);〃釋放共享區(qū),讓另一旅客雇車(chē)

車(chē)輛裁著ci顧客開(kāi)行到目的地;

signal(pass[ci|);〃允許顧客下車(chē)

)

)

main(){

cobegin

for(i=l;i<=n;i++)car(i):〃n輛車(chē),n個(gè)進(jìn)程

for(i=l;i<=m;i++)passenger(i);個(gè)旅客,m個(gè)進(jìn)程

coend

)

三、讀者.寫(xiě)者問(wèn)題及擴(kuò)展

經(jīng)典讀者.寫(xiě)者問(wèn)題:

16.為了解決讀者和寫(xiě)者問(wèn)題,保證讀者之間不互斥、寫(xiě)者間互斥、讀者和耳者間互斥,詩(shī)

用信號(hào)量和P、V操作完成一段代碼實(shí)現(xiàn)以上的保護(hù)要求。要求給出信號(hào)量的含義和初值。

答:答案見(jiàn)書(shū)上65-66頁(yè)代碼。

讀者一寫(xiě)者問(wèn)題,多同時(shí)讀,多同時(shí)寫(xiě),讀寫(xiě)互斥,讀讀不互斥,寫(xiě)寫(xiě)不互斥:

17.“過(guò)獨(dú)木橋”問(wèn)題:同?方向的行人可連續(xù)過(guò)橋,當(dāng)某?方向有人過(guò)橋時(shí),另?方向的

行人必須等待:當(dāng)某一方向無(wú)人過(guò)橋時(shí),另一方向的行人可以過(guò)橋。請(qǐng)用記錄型信號(hào)量機(jī)制

描述兩個(gè)方向行人的同步關(guān)系。

答:/+定義信號(hào)量及初俵"

〃將獨(dú)木橋的兩個(gè)方向分別標(biāo)記為A和B:

intcountA=0.countB=0:〃并用整形變錄countA和couniB分別表示A和B方向上已在獨(dú)木

橋上的行人數(shù),它們的初值為0;

semaphoreSA=1;〃用信號(hào)量SA來(lái)實(shí)現(xiàn)對(duì)countA的互斥訪問(wèn),其初值為1:

semaphoreSB=k〃用信號(hào)量SB來(lái)實(shí)現(xiàn)對(duì)couniB的互斥訪問(wèn),其初值為I;

semaphoremu(ex=k〃用信號(hào)品inutex來(lái)實(shí)現(xiàn)兩個(gè)方向的行人對(duì)■獨(dú)木橋的互斥使用。

A(){/*A方向描述*/

while(l){

wait(SA);〃等互斥資源ccuntA可用

if(countA==0)wait(mutex);〃如A方向無(wú)人過(guò)橋,則競(jìng)爭(zhēng)橋方向

countA++:〃人數(shù)+1

signal(SA);〃樣放互斥資源

通過(guò)獨(dú)木橋;

wait(SA);〃等互斥資源counlA可用

countA-;〃過(guò)完橋了,人數(shù)-1

if(coun(A==0)signal(mutex):〃沒(méi)人了,釋放橋資源

signal(SA);〃釋放

)

)

B(){/*B方向描述*/

while(l){

wait(SB);

if(countB==0)wait(mutex);

countB++;

signal(SB);

通過(guò)獨(dú)木橋;

wait(SB);

countB-:

if(coun(B==0)signal(mutex);

signal(SB);

)

)

main(){

cobcgin

A();B();

coend

)

第02章練習(xí)題(2.6-Z.7)

1.進(jìn)程的高級(jí)通信機(jī)制不包括(D)

A.共享存儲(chǔ)器系統(tǒng)B.消息傳遞系統(tǒng)C.管道通信D.RAID

2.信箱通信是一種(B)通信方式。

A.直接通信B.間接通信C.低級(jí)通信D.信號(hào)量

3.(D)是解決邊:程間同步和電斥的一對(duì)低級(jí)通信原語(yǔ)。

A.luck和unlockB.P和VC.W和SD.Send和Receive

4.目前,高級(jí)通信機(jī)制可歸結(jié)為三大類(lèi):共享存儲(chǔ)器系統(tǒng)、消息傳遞系統(tǒng)以及管道通

良。

5.使用共享文件進(jìn)行進(jìn)程通伯的方式被稱(chēng)為管道.所謂管道,是指用「連接一個(gè)讀進(jìn)程

和一個(gè)寫(xiě)進(jìn)程以實(shí)現(xiàn)它們通信的一個(gè)天享文件,又稱(chēng)為pipe文件。

6.把進(jìn)程間用信件來(lái)交換信息的方式稱(chēng)為信箱通信。

7.管道通信系統(tǒng),信息傳輸?shù)膯挝皇且蛔址鳌?gt;

8.消息傳遞系統(tǒng),信息傳輸?shù)膯挝皇且粓?bào)文。

9.在現(xiàn)代操作系統(tǒng)中,資源的分配M位是一進(jìn)程.而處理機(jī)的調(diào)度單位是線程,一個(gè)進(jìn)程可

以有多個(gè)線程。

10.什么是線程?

答:為了減少程序在并發(fā)執(zhí)行忖所付出的時(shí)空開(kāi)箱,使OS具有更好的并發(fā)性,在操作系統(tǒng)

中引入了線程。引入線程后線程則成為獨(dú)立調(diào)度和分派的基本單位。在一個(gè)進(jìn)程中的多個(gè)線

程,線程間也能并發(fā)執(zhí)行,且線程能更好地支持多處理機(jī)系統(tǒng)。引入線程后進(jìn)程仍是資源分

配的基本單位,而線程僅有一點(diǎn)在運(yùn)行時(shí)必不可少、能保證獨(dú)立運(yùn)行的資源,且線程的創(chuàng)建、

撤消和切換開(kāi)銷(xiāo)要比進(jìn)程小得多。

11.試說(shuō)明系統(tǒng)中弓I入線程前后的區(qū)別。

答:1)調(diào)度的基本單位。引入線程前獨(dú)立調(diào)度和分派的基本單位是進(jìn)程,而引入后是線程。

2)并發(fā)性。引入線程后不僅進(jìn)程之間可以并發(fā)執(zhí)行,而且在一個(gè)進(jìn)程中的多個(gè)線程之間,亦

可并發(fā)執(zhí)行。

3)搠有資源。引入線程前后進(jìn)程始終是擁有資源的一個(gè)基本單位,而線程并不楣有系統(tǒng)資源,

而是僅TT一點(diǎn)在運(yùn)行時(shí)必不可少、能俁證獨(dú)立運(yùn)行的資源.

4)獨(dú)立性。同一進(jìn)程內(nèi)的不同線程間的獨(dú)立性要比不同進(jìn)程間的獨(dú)立性低得多。

5)系統(tǒng)開(kāi)銷(xiāo)。操作系統(tǒng)在創(chuàng)建、撤消和切換進(jìn)程時(shí)所付出的開(kāi)銷(xiāo)將顯著地大于線程。

6)支持多處理系統(tǒng)。多處理機(jī)系統(tǒng)中,單進(jìn)程只能同時(shí)運(yùn)行于一個(gè)處理機(jī)上,而多線程進(jìn)程

的多個(gè)線程可分配到多個(gè)處理機(jī)上,步行執(zhí)行。

第03章練習(xí)題(3.133)

1.先來(lái)先服務(wù)(FCFS)算法是一種簡(jiǎn)單的調(diào)度算法,但其效率比較高。X

2.FCFS調(diào)度算法對(duì)短作業(yè)有利。X

3.優(yōu)先級(jí)是進(jìn)程調(diào)度的重要依據(jù),所有的調(diào)度算法中優(yōu)先級(jí)?旦確定就不能改變。X

4.優(yōu)先數(shù)是進(jìn)程調(diào)度的重要依據(jù),必須根據(jù)進(jìn)程運(yùn)行情況動(dòng)態(tài)改變。X

5.時(shí)間片的大小對(duì)輪轉(zhuǎn)法(RR)的性能有很大的影響,時(shí)間片太短,會(huì)導(dǎo)致系統(tǒng)開(kāi)銷(xiāo)大大

增加。J

6.進(jìn)程從運(yùn)行狀態(tài)變?yōu)榈却隣顟B(tài)是由于時(shí)間片中斷發(fā)生。X

7.若無(wú)進(jìn)程處于運(yùn)行狀態(tài),則就緒隊(duì)列和等待隊(duì)列一定都為空。X

8.進(jìn)程獲得處理機(jī)而運(yùn)行是通過(guò)申請(qǐng)而得到的。X

9.處理機(jī)管理的實(shí)現(xiàn)策略決定了操作系統(tǒng)的類(lèi)型,其算法的優(yōu)劣不會(huì)影響整個(gè)系統(tǒng)的性能。X

10.進(jìn)程調(diào)度是指把進(jìn)程從內(nèi)存調(diào)到外存。X

11.低級(jí)調(diào)度是指把作業(yè)從內(nèi)存調(diào)到外存。X

12.作業(yè)調(diào)度是指把作業(yè)從內(nèi)存調(diào)到外存。X

13.作業(yè)調(diào)度是指把作業(yè)從外存調(diào)到內(nèi)存。V

14.一種既有利于短小作業(yè)又兼顧到長(zhǎng)作業(yè)的作業(yè)調(diào)度算法是(C)

A.先來(lái)先服務(wù)B.時(shí)間片輪轉(zhuǎn)C.最高響應(yīng)比優(yōu)先D.短作業(yè)優(yōu)先

15.在各種作業(yè)調(diào)度算法中,若所有作業(yè)同時(shí)到達(dá),則平均等待時(shí)間最短的算法是(D)o

A.先來(lái)先服務(wù)B.優(yōu)先數(shù)C.最高響應(yīng)比優(yōu)先D.短作業(yè)優(yōu)先

16.既考慮作業(yè)等待時(shí)間,又考慮作業(yè)執(zhí)行時(shí)間的調(diào)度算法是(A)

A.響應(yīng)比高者優(yōu)先B.短作業(yè)優(yōu)先C.優(yōu)先級(jí)調(diào)度D.先來(lái)先服務(wù)

17.作業(yè)調(diào)度算法的選擇??紤]因素之一是使系統(tǒng)有最高的吞吐率,為此應(yīng)(B)。

A.不讓處理機(jī)空閑B.能夠處理盡可能多的作業(yè)C.使各類(lèi)用戶(hù)都滿意D.不使系統(tǒng)過(guò)于宓雜

18.作業(yè)調(diào)度程序從處于(D)狀態(tài)的隊(duì)列中選取適當(dāng)?shù)淖鳂I(yè)投入運(yùn)行。

A.運(yùn)行B.提交C.完成D.后備

19.(A)是指從作業(yè)提交給系統(tǒng)到作業(yè)完成的時(shí)間間隔。

A.周轉(zhuǎn)時(shí)間B.響應(yīng)時(shí)間

溫馨提示

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

評(píng)論

0/150

提交評(píng)論