版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《家樂(lè)福模式分析》課件
- 管理顧問(wèn)工作總結(jié)
- 房地產(chǎn)行業(yè)客服經(jīng)驗(yàn)分享
- 服裝行業(yè)的保安工作總結(jié)
- 中央財(cái)經(jīng)大學(xué)財(cái)務(wù)管理課件-風(fēng)險(xiǎn)與報(bào)酬
- 銀行求職自我介紹(15篇)
- 2023-2024年項(xiàng)目部治理人員安全培訓(xùn)考試題(原創(chuàng)題)
- 《電子政務(wù)》課件
- 2024年公司項(xiàng)目部負(fù)責(zé)人安全教育培訓(xùn)試題含答案(模擬題)
- 銷(xiāo)售個(gè)人年度工作總結(jié)(7篇)
- GB/T 32491-2016玻璃纖維增強(qiáng)熱固性樹(shù)脂管及管件長(zhǎng)期靜水壓試驗(yàn)方法
- 書(shū)名號(hào)測(cè)試的文檔
- 交大醫(yī)學(xué)院研究生現(xiàn)代免疫學(xué)基礎(chǔ)和進(jìn)展《免疫學(xué)原理》考試重點(diǎn)
- 全文解讀改革開(kāi)放簡(jiǎn)史專(zhuān)題解讀
- 熱電廠工程燃煤系統(tǒng)施工方案
- 福建省南平市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名明細(xì)及行政區(qū)劃代碼
- 金融科技課件(完整版)
- 中國(guó)建筑史經(jīng)典題型
- 計(jì)算機(jī)信息系統(tǒng)分級(jí)保護(hù)方案
- 頂管施工技術(shù)全面詳解
- 公路工程質(zhì)量檢驗(yàn)評(píng)定標(biāo)準(zhǔn)(交安部分)
評(píng)論
0/150
提交評(píng)論