![計(jì)算機(jī)操作系統(tǒng)課后答案_第1頁](http://file4.renrendoc.com/view/ce55e68c097ebb53d44dd4fc501a994f/ce55e68c097ebb53d44dd4fc501a994f1.gif)
![計(jì)算機(jī)操作系統(tǒng)課后答案_第2頁](http://file4.renrendoc.com/view/ce55e68c097ebb53d44dd4fc501a994f/ce55e68c097ebb53d44dd4fc501a994f2.gif)
![計(jì)算機(jī)操作系統(tǒng)課后答案_第3頁](http://file4.renrendoc.com/view/ce55e68c097ebb53d44dd4fc501a994f/ce55e68c097ebb53d44dd4fc501a994f3.gif)
![計(jì)算機(jī)操作系統(tǒng)課后答案_第4頁](http://file4.renrendoc.com/view/ce55e68c097ebb53d44dd4fc501a994f/ce55e68c097ebb53d44dd4fc501a994f4.gif)
![計(jì)算機(jī)操作系統(tǒng)課后答案_第5頁](http://file4.renrendoc.com/view/ce55e68c097ebb53d44dd4fc501a994f/ce55e68c097ebb53d44dd4fc501a994f5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第一章操作系統(tǒng)引論思考與練習(xí)題什么是操作系統(tǒng)?它的主要功能是什么?什么是多道程序設(shè)計(jì)技術(shù)?多道程序設(shè)計(jì)技術(shù)的主要特點(diǎn)是什么?批處理系統(tǒng)是怎樣的一種操作系統(tǒng)?它的特點(diǎn)是什么?什么是分時(shí)系統(tǒng)?什么是實(shí)時(shí)系統(tǒng)?試從交互性,及時(shí)性,獨(dú)立性,多路性,可靠性等幾個(gè)方面比較分時(shí)系統(tǒng)和實(shí)施系統(tǒng)。實(shí)時(shí)系統(tǒng)分為哪倆種類型?操作系統(tǒng)主要特征是什么?操作系統(tǒng)也用戶的接口有幾種?它們各自用在什么場合?“操作系統(tǒng)是控制硬件的軟件”這一說法確切嗎?為什么?設(shè)內(nèi)存中有三道程序,A,B,C,它們按ABC的先后順序執(zhí)行,它們進(jìn)行“計(jì)算”和“I/o操作”的時(shí)間如表1-2所示,假設(shè)三道程序使用相同的I/O設(shè)備。表1-2三道程操作程序
2、計(jì)算A20B30C10序的操作時(shí)間I/o操作計(jì)算301050202010試畫出單道運(yùn)行時(shí)三道程序的時(shí)間關(guān)系圖,并計(jì)算完成三道程序要花多少時(shí)間。試畫出多道運(yùn)行時(shí)三道程序的時(shí)間關(guān)系圖,并計(jì)算完成三道程序要花多少時(shí)間。10將下列左右兩列詞連接起來形成意義最恰當(dāng)?shù)?對。DOS網(wǎng)絡(luò)操作系統(tǒng)OS/2自由軟件UNIX多任務(wù)Linux單任務(wù)WindowsNT為開發(fā)操作系統(tǒng)而設(shè)計(jì)C語言11選擇一個(gè)現(xiàn)代操作系統(tǒng),查找和閱讀相關(guān)的技術(shù)資料,寫一篇關(guān)于操作系統(tǒng)如何進(jìn)行內(nèi)存管理、存儲(chǔ)管理、設(shè)備管理和文件管理的文章。答案1答:操作系統(tǒng)是控制和管理計(jì)算機(jī)的軟、硬件資源,合理地組織計(jì)算機(jī)的工作流程,以方便用戶使用的程序集合。
3、2答:把多個(gè)獨(dú)立的程序同時(shí)放入內(nèi)存,使她們共享系統(tǒng)中的資源。多道,即計(jì)算機(jī)內(nèi)存中同時(shí)放多道相互獨(dú)立的程序。宏觀上并行,是指共識進(jìn)入系統(tǒng)的多道程序都處于運(yùn)行過程。微觀上串行,是指在單道處理機(jī)環(huán)境下,內(nèi)存中的多道程序輪流地占有CPU,交替執(zhí)行。3答:批處理操作系統(tǒng)是一種基本的操作系統(tǒng)類型。在該系統(tǒng)中用戶的作業(yè)被成批地輸入到計(jì)算機(jī)中,然后在操作系統(tǒng)的控制下,用戶的作業(yè)自動(dòng)的執(zhí)行。特點(diǎn)是:資源利用率高。系統(tǒng)吞吐量大。平均周轉(zhuǎn)時(shí)間長。無交互能力。4答:分時(shí)系統(tǒng):允許多個(gè)終端用戶同時(shí)使用計(jì)算機(jī),在這樣的系統(tǒng)中,用戶感覺不到其他用戶的存在,好像獨(dú)占計(jì)算機(jī)一樣。實(shí)時(shí)系統(tǒng):對外輸入出信息,實(shí)時(shí)系統(tǒng)能夠在規(guī)定的時(shí)
4、間內(nèi)處理完畢并作出反應(yīng)。1)多路性:分時(shí)系統(tǒng)是為多個(gè)終端用戶提供服務(wù),實(shí)時(shí)系統(tǒng)的多路性主要表現(xiàn)在經(jīng)常對多路的現(xiàn)場信息進(jìn)行采集以及多多個(gè)對象或多個(gè)執(zhí)行機(jī)構(gòu)進(jìn)行控制。2)獨(dú)立性:每個(gè)終端向?qū)崟r(shí)系統(tǒng)提出服務(wù)請求時(shí),是彼此獨(dú)立的工作、互不干擾。3)及時(shí)性:實(shí)時(shí)信息處理系統(tǒng)與分時(shí)系統(tǒng)對及時(shí)性的要求類似,都以人們能夠接受的等待時(shí)間來確定。實(shí)時(shí)控制系統(tǒng)對一時(shí)性的要求更高,是以控制對象所要求的開始截止時(shí)間或完成截止時(shí)間來確定的。5答:(1)實(shí)時(shí)控制系統(tǒng)(2)實(shí)時(shí)信息處理系統(tǒng)。6答:1)并發(fā)性2)共享性3)虛擬性4)不確定性。7答:兩種,命令接口,程序接口。命令接口:分為聯(lián)機(jī)命令接口,脫機(jī)命令接口,圖形用戶命令
5、接口。方便用戶直接控制自己的作業(yè)而提供的接口。程序接口:又稱系統(tǒng)調(diào)用,是為了用戶在程序一級訪問操作系統(tǒng)功能而設(shè)置的。8答:不正確,因?yàn)椴僮飨到y(tǒng)不僅僅是控制硬件,同時(shí)它還控制計(jì)算機(jī)的軟件。9(1)20ms+30ms+10ms+30ms+50ms+20ms+10ms+20ms+10ms=200ms(2)20ms+30ms+10ms+40ms+20ms+10ms=130ms網(wǎng)絡(luò)操作系統(tǒng)自由軟件多任務(wù)單任務(wù)為開發(fā)操作系統(tǒng)而設(shè)計(jì)的C語言10DOSOS/2UNIXLinuxWindowsNT第二章進(jìn)程與線程思考與練習(xí)題1操作系統(tǒng)中為什么要引入進(jìn)程的概念?為了實(shí)現(xiàn)并發(fā)進(jìn)程之間的合作和協(xié)調(diào),以及保證系統(tǒng)的安全
6、,操作系統(tǒng)在進(jìn)程管理方面要做哪些工作?2試描述當(dāng)前正在運(yùn)行的進(jìn)程狀態(tài)改變時(shí),操作系統(tǒng)進(jìn)行進(jìn)程切換的步驟。3現(xiàn)代操作系統(tǒng)一般都提供多任務(wù)的環(huán)境,是回答以下問題。(1)為支持多進(jìn)程的并發(fā)執(zhí)行,系統(tǒng)必須建立哪些關(guān)于進(jìn)程的數(shù)據(jù)結(jié)構(gòu)?(2)為支持進(jìn)程的狀態(tài)變遷,系統(tǒng)至少應(yīng)該供哪些進(jìn)程控制原語?(3)當(dāng)進(jìn)程的狀態(tài)變遷時(shí),相應(yīng)的數(shù)據(jù)結(jié)構(gòu)發(fā)生變化嗎?4什么是進(jìn)程控制塊?從進(jìn)程管理、中斷處理、進(jìn)程通信、文件管理、設(shè)備管理及存儲(chǔ)管理的角度設(shè)計(jì)進(jìn)程控制塊應(yīng)該包含的內(nèi)容。假設(shè)系統(tǒng)就緒隊(duì)列中有10個(gè)進(jìn)程,這10個(gè)進(jìn)程輪換執(zhí)行,每隔300ms輪換一次,CPU在進(jìn)程切換時(shí)所花費(fèi)的時(shí)間是10ms,試問系統(tǒng)化在進(jìn)程切換上的開銷
7、占系統(tǒng)整個(gè)時(shí)間的比例是多少?試述線程的特點(diǎn)及其與進(jìn)程之間的關(guān)系。根據(jù)圖2-18,回答以下問題。(1)進(jìn)程發(fā)生狀態(tài)變遷1、3、4、6、7的原因。(2)系統(tǒng)中常常由于某一進(jìn)程的狀態(tài)變遷引起另一進(jìn)程也產(chǎn)生狀態(tài)變遷,這種變遷稱為因果變遷。下述變遷是否為因果變遷:32,45,72,36,是說明原因。(3)根據(jù)此進(jìn)程狀態(tài)轉(zhuǎn)換圖,說明該系統(tǒng)CPU調(diào)度的策略和效果?;卮鹨韵聠栴}。(1)若系統(tǒng)中沒有運(yùn)行進(jìn)程,是否一定沒有就緒進(jìn)程?為什么?若系統(tǒng)中既沒有運(yùn)行進(jìn)程,也沒有就緒進(jìn)程,系統(tǒng)中是佛就沒有阻塞進(jìn)程?解釋。如果系統(tǒng)采用優(yōu)先級調(diào)度策略,運(yùn)行的進(jìn)程是否一定是系統(tǒng)中優(yōu)先級最高的進(jìn)程?為什么?9假如有以下程序段,回答
8、下面的問題。S1:a=3-x;S2:b=2*a;S3:c=5+a;(1)并發(fā)程序執(zhí)行的Bernstein條件是什么?是畫圖表示它們執(zhí)行時(shí)的先后次序。利用Bernstein條件證明,S1、S2和S3哪兩個(gè)可以并發(fā)執(zhí)行,哪兩個(gè)不能。答案答:為了從變化角度動(dòng)態(tài)地分析研究可以并發(fā)執(zhí)行的程序,真實(shí)的反應(yīng)系統(tǒng)的獨(dú)立性、并發(fā)性、動(dòng)態(tài)性和相互制約,操作系統(tǒng)中不得不引入進(jìn)程的概念。為了防止操作系統(tǒng)及其關(guān)鍵的數(shù)據(jù)結(jié)構(gòu)受到用戶程序破壞,將處理機(jī)分為核心態(tài)和用戶態(tài)。對進(jìn)程進(jìn)行創(chuàng)建、撤銷以及在某些進(jìn)程狀態(tài)之間的轉(zhuǎn)換控制。答:運(yùn)行狀態(tài)一就緒狀態(tài):此進(jìn)程根據(jù)自身的情況插入到就緒隊(duì)列的適當(dāng)位置,系統(tǒng)收回處理及轉(zhuǎn)入進(jìn)程調(diào)度程序
9、重新進(jìn)行調(diào)度。運(yùn)行狀態(tài)一阻塞狀態(tài):一個(gè)進(jìn)程從運(yùn)行狀態(tài)道阻塞狀態(tài)后。系統(tǒng)會(huì)調(diào)用進(jìn)程調(diào)度程序重新選擇一個(gè)進(jìn)程投入運(yùn)行。答:為支持多進(jìn)程的并發(fā)執(zhí)行,系統(tǒng)必須建立的數(shù)據(jù)結(jié)構(gòu)式PCB,不同狀態(tài)進(jìn)程的PCB用鏈表組織起來,形成就緒隊(duì)列、阻塞隊(duì)列。答:阻塞原句、喚醒原句、掛起原句、激活原句答:創(chuàng)建原句:建立進(jìn)程的PCB,并將進(jìn)程投入就緒隊(duì)列。撤銷原句:刪除進(jìn)程的PCB,并將進(jìn)程在其隊(duì)列中摘除。阻塞原句:將進(jìn)程PCB中進(jìn)程的狀態(tài)從運(yùn)行狀態(tài)改為阻塞狀態(tài),并將進(jìn)程投入阻塞隊(duì)列。喚醒原句:將進(jìn)程PCB中進(jìn)程的狀態(tài)從阻塞狀態(tài)改為就緒狀態(tài),并將進(jìn)程從則色隊(duì)列摘下,投入到就緒隊(duì)列中。答:進(jìn)程控制塊(PCB)是為了描述進(jìn)程
10、的動(dòng)態(tài)變化而設(shè)置的一個(gè)與進(jìn)程相聯(lián)系的數(shù)據(jù)結(jié)構(gòu),用于記錄系統(tǒng)管理進(jìn)程所需信息。PCB是進(jìn)程存在的唯一標(biāo)識,操作系統(tǒng)通過PCB得知進(jìn)程的尋在。為了進(jìn)程管理,進(jìn)程控制塊包括以下幾方面。(1)進(jìn)程的描述信息,包括進(jìn)程標(biāo)識符、進(jìn)程名等。進(jìn)程的當(dāng)前狀況。當(dāng)前隊(duì)列鏈接指針。進(jìn)程的家族關(guān)系。為了中斷處理,進(jìn)程控制塊的內(nèi)容應(yīng)該包括處理機(jī)狀態(tài)信息和各種寄存器的內(nèi)容,如通用寄存器、指令計(jì)數(shù)器、程序狀態(tài)字(PSW)寄存器及棧指針等。為了內(nèi)存管理的需要,進(jìn)程控制塊的內(nèi)容應(yīng)該包括進(jìn)程使用的信號量、消息隊(duì)列指針等。為了設(shè)備管理,進(jìn)程控制塊的內(nèi)容應(yīng)該包括進(jìn)程占有資源的情況。答:就緒隊(duì)列中有10個(gè)進(jìn)程,這10個(gè)進(jìn)程輪換執(zhí)行,每
11、隔進(jìn)程的運(yùn)行時(shí)間是300ms,切換另一個(gè)進(jìn)程所花費(fèi)的總時(shí)間是10ms,隱刺系統(tǒng)化在進(jìn)程切換上的時(shí)間開銷占系統(tǒng)整個(gè)時(shí)間的比例是:10/(300+10)=3.2%.答:線程是進(jìn)程內(nèi)的一個(gè)相對獨(dú)立的運(yùn)行單元,是操作系統(tǒng)調(diào)度和分派的單位。線程只擁有一點(diǎn)必不可少的資源(一組寄存器和棧),但可以和銅屬于一個(gè)進(jìn)程的其他線程共享進(jìn)程擁有的資源。線程是進(jìn)程的一部分,是進(jìn)程內(nèi)的一個(gè)實(shí)體;一個(gè)進(jìn)程可以有多個(gè)線程,但至少必須有一個(gè)線程。答:1表示新進(jìn)程創(chuàng)建后,進(jìn)入高優(yōu)先級就緒隊(duì)列;3表示進(jìn)程因請求I/O活等待某件事兒阻塞;4表示進(jìn)程運(yùn)行的時(shí)間片到;6表示進(jìn)程I/O完成或等待的時(shí)間到達(dá);7表示進(jìn)程運(yùn)行完成而退出。答:3
12、一2是因果變遷,當(dāng)一個(gè)進(jìn)程從運(yùn)行態(tài)變?yōu)樽枞麘B(tài)時(shí),此時(shí)CPU空閑,系統(tǒng)首先到高優(yōu)先級隊(duì)列中選擇一個(gè)進(jìn)程投入運(yùn)行。4-5是因果變遷,當(dāng)一個(gè)進(jìn)程運(yùn)行完畢時(shí),此時(shí)CPU空閑,系統(tǒng)首先到高優(yōu)先級隊(duì)列中選擇進(jìn)程,但如果高優(yōu)先級隊(duì)列為空,則從低優(yōu)先隊(duì)列中選擇一個(gè)進(jìn)程投入運(yùn)行。7-2是因果變遷,當(dāng)一個(gè)進(jìn)程運(yùn)行完畢時(shí),CPU空閑,系統(tǒng)首先到高優(yōu)先級隊(duì)列中選擇一個(gè)進(jìn)程投入運(yùn)行。3-6不是因果變遷。一個(gè)進(jìn)程阻塞時(shí)由于自身的原因而發(fā)生的,和另一個(gè)進(jìn)程等待的時(shí)間到達(dá)沒有因果關(guān)系。答:當(dāng)進(jìn)程調(diào)度時(shí),首先從高優(yōu)先級就緒隊(duì)列選擇一個(gè)進(jìn)程,賦予它的時(shí)間片為100ms。如果高優(yōu)先級就緒隊(duì)列為控,則從低優(yōu)先級就緒隊(duì)列選擇進(jìn)程,但賦
13、予該進(jìn)程的時(shí)間片為500ms。這種策略一方面照顧了短進(jìn)程,一個(gè)進(jìn)程如果在100ms運(yùn)行完畢它將退出系統(tǒng),更主要的是照顧了I/O量大的進(jìn)程,進(jìn)程因I/O進(jìn)入阻塞隊(duì)列,當(dāng)I/O完成后它就進(jìn)入了高優(yōu)先級就緒隊(duì)列,在高優(yōu)先級就緒隊(duì)列等待的進(jìn)程總是優(yōu)于低優(yōu)先級就緒隊(duì)列的進(jìn)程。而對于計(jì)算量較大的進(jìn)程,它的計(jì)算如果在100ms的時(shí)間內(nèi)不能完成,它將進(jìn)入低優(yōu)先級就緒隊(duì)列,在這個(gè)隊(duì)列的進(jìn)程被選中的機(jī)會(huì)要少,只有當(dāng)高優(yōu)先級就緒隊(duì)列為空,才從低優(yōu)先級就緒隊(duì)列選擇進(jìn)程,但對于計(jì)算量大的進(jìn)程,系統(tǒng)給予的適當(dāng)照顧時(shí)間片增大為500ms。答:是。若系統(tǒng)中沒有運(yùn)行進(jìn)程,系統(tǒng)會(huì)馬上選擇一個(gè)就緒進(jìn)程隊(duì)列中的進(jìn)程投入運(yùn)行。只有在就
14、緒隊(duì)列為空時(shí),CPU才會(huì)空閑。答:不一定。當(dāng)系統(tǒng)中所有進(jìn)程分別等待各自希望發(fā)生的事件時(shí),它們都處于阻塞狀態(tài),此時(shí)系統(tǒng)中既沒有運(yùn)行進(jìn)程,也沒有就緒進(jìn)程。這種情況出現(xiàn)時(shí),如果各個(gè)進(jìn)程沒有相互等待關(guān)系,只要等待的時(shí)間發(fā)生了,進(jìn)程就會(huì)從等待狀態(tài)轉(zhuǎn)化為就緒狀態(tài)。但如果處于阻塞狀態(tài)的進(jìn)程相互等待彼此占有的資源,系統(tǒng)就有可能發(fā)生死鎖。答:不一定。因?yàn)楦邇?yōu)先級的進(jìn)程有可能處于等待狀態(tài),進(jìn)程調(diào)度程序只能從就緒隊(duì)列中挑選一個(gè)進(jìn)程投入運(yùn)行。被選中進(jìn)程的優(yōu)先級在就緒隊(duì)列中是最高的,但在整個(gè)系統(tǒng)中它不一定是最高的,等待隊(duì)列中進(jìn)程的優(yōu)先級有可能高于就緒隊(duì)列中所有進(jìn)程的優(yōu)先級。1)答:P1和P2并發(fā)執(zhí)行的條件是,當(dāng)且僅當(dāng)R
15、(P1)CW(P2)UR(P2)nW(P1)UW(P1)CW(P2)=答:R(S1)=x,W(S2)=a,R(S2)=a,W(S2)=b,R(S3)=a,W(S3)=c所以W(S1)nR(S2)=a,因此S1和S2不能并發(fā)執(zhí)行。W(S1)nR(S2)=a,因此S1和S3也不能并發(fā)執(zhí)行。而R(S2)nw(S3)UR(S3)nw(S2)UW(S2)nw(S3)=,因此S2和S3可以并發(fā)執(zhí)行。第三章進(jìn)程同步與通信思考與練習(xí)題1一下進(jìn)程之間存在相互制約關(guān)系嗎?若存在,是什么制約關(guān)系?為什么?幾個(gè)同學(xué)去圖書館借同一本書?;@球比賽中兩隊(duì)同學(xué)爭搶籃板球。果汁流水線生產(chǎn)中搗碎、消毒、灌裝、裝箱等各道工序。商品
16、的入庫出庫。工人做工與農(nóng)民種糧。2在操作系統(tǒng)中引入管程的目的是什么?條件變量的作用是什么?說明P、V操作為什么要設(shè)計(jì)成原語。4設(shè)有一個(gè)售票大廳,可容納200人購票。如果廳內(nèi)不足200人則允許進(jìn)入,超過則在廳外等候;售票員某時(shí)只能給一個(gè)購票者服務(wù),購票者買完票后就離開。試問:購票者之間是同步關(guān)系還是互斥關(guān)系?用P、V操作描述購票者的工作過程。進(jìn)程之間的關(guān)系如圖3-16所示,試用P、V操作描述它們之間的同步。有4個(gè)進(jìn)程P1、P2、P3、P4共享一個(gè)緩沖區(qū),進(jìn)程P1向緩沖區(qū)存入消息,進(jìn)程P2、P3、P4從緩沖區(qū)中去消息,要求發(fā)送者必須等三個(gè)進(jìn)程都去過本消息后才能發(fā)送下調(diào)消息。緩沖區(qū)內(nèi)每次只能容納一個(gè)
17、消息,用P、V操作描述四個(gè)進(jìn)程存取消息的情況。分析生產(chǎn)者消費(fèi)者問題中多個(gè)P操作顛倒引起的后果。讀者寫者問題中寫者優(yōu)先的實(shí)現(xiàn)。寫一個(gè)用信號量解決哲學(xué)家進(jìn)餐問題不產(chǎn)生鎖死的算法。一個(gè)文件可有若干個(gè)不同的進(jìn)程所共享,每個(gè)進(jìn)程具有唯一的編號。假定文件可有滿足下列限制的若干個(gè)不同的進(jìn)程同時(shí)訪問,并發(fā)訪問該文件的哪些進(jìn)程的編號的總和不得大于n設(shè)計(jì)一個(gè)協(xié)調(diào)對該文件訪問的管程。用管程解決讀者寫者問題,并采用公平原則。答案答:存在互斥關(guān)系,因?yàn)橥槐緯荒芙杞o一個(gè)同學(xué)。答:存在互斥關(guān)系,因?yàn)榛@球只有一個(gè),兩隊(duì)只能有一個(gè)隊(duì)搶到球答:存在同步關(guān)系,因?yàn)樽詈笠坏拦ば虻拈_始依賴于前一道工序的完成。答:存在同步關(guān)系,因?yàn)?/p>
18、商品若沒有入庫就無法出庫,若商品沒有出庫,裝滿了庫房,也就無法再入庫。答:工人與農(nóng)民之間沒有相互制約關(guān)系。答:引入管程的目的是為了實(shí)現(xiàn)進(jìn)程之間的同步和互斥。優(yōu)于使用信號量在解決同步和互斥問題時(shí)要設(shè)置多個(gè)信號量,并使用大量的P、V操作,其中P操作的排列次序不當(dāng),還會(huì)引起系統(tǒng)死鎖,因此引入另外一種同步機(jī)制。答:用信號量S表示共享資源,其初值為1表示有一個(gè)資源。設(shè)有兩個(gè)進(jìn)程申請?jiān)撡Y源,若其中一個(gè)進(jìn)程先執(zhí)行P操作。P操作中的減1操作有3跳及其指令組成:去S送寄存器R;R-1送S。若P操作不用原語實(shí)現(xiàn),在執(zhí)行了前述三條指令中的2條,即還未執(zhí)行R送S時(shí)(此時(shí)S值仍為1),進(jìn)程被剝奪CPU,另一個(gè)進(jìn)程執(zhí)行也
19、要執(zhí)行P操作,執(zhí)行后S的值為0導(dǎo)致信號量的值錯(cuò)誤。正確的結(jié)果是兩個(gè)進(jìn)程執(zhí)行完P(guān)操作后,信號量S的值為-1,進(jìn)程阻塞。(1)答:購票者之間是互斥關(guān)系。答:semaphoreempty=200;semaphoremutex=1;voidbuyer()P(empty);P(mutex);購票;V(mutex);V(empty);semaphorea,b,c,d,e,f,g=0,0,0,0,0,0,0;voidP1()voidP2()voidP3()voidP4()voidP5()voidP6()S1;P(a);P(b);P(c);P(d);P(e)V(a);S2;S3;S4;S5;P(f)V(b);
20、V(e);V(c);V(f);V(g);P(g)V(d);S6semaphoreS1=1;semaphoreS2,S3,S4=0,0,0;intcount=0;semaphoremutex=1;voidPl()/*發(fā)送進(jìn)程*/voidP2()/*接收進(jìn)程*/voidP3()/*接受進(jìn)程*/voidP4()/*接受進(jìn)程*/while(true)while(true)P(S1);P(S2);發(fā)送消息;接收消息;P(mutex);P(mutex);count=0;count=count+1;V(mutex);if(count=3)V(S1);V(S2);V(mutex)V(S3);while(tru
21、e)while(true)P(S3);P(S4);接收消息;接收消息;P(mutex);P(mutex);count=count+1;count=count+1;if(count=3)V(S1);if(count=3)V(S1);V(mutex)V(mutex)V(s4);7答:semaphoremutex=1;semaphoreempty=n;semaphorefull=0;inti,j;ITEMbuffern;ITEMdata_p,data_c;voidproducer。/*生產(chǎn)者進(jìn)程*/while(true)produceanitemindata_p;P(mutex);P(empty);
22、bufferi=data_p;i=(i+1)%n;V(mutex);V(full);答:semaphoreWmutex,Rmutex=l;intRcount=0;voidconsumer()/*消費(fèi)者進(jìn)程*/while(true)P(full);P(mutex);data_c=bufferj;j=(j+1)%n;V(mutex);V(empty);consumetheitemindata_csemaphoremutex=1voidreader()/*讀者進(jìn)程*/while(true)P(mutex);P(Rmutex);If(Rcount=0)P(wmutex);Rcount=Rcount+1
23、;voidwriter()/*寫者進(jìn)程*/while(true)P(mutex);P(wmutex);;write;/*執(zhí)行寫操作*/V(Rmutex);V(Wmutex);V(mutex);V(mutex);read;/*執(zhí)行讀操作*/;P(Rmutex);Rcount=Rcount-1;if(Rcount=0)V(wmutex);V(Rmutex);答:semaphorechopstick5=l,l,l,l,l;semaphoremutex=1;voidphilosopher()/*哲學(xué)家進(jìn)餐*/while(true)P(mutex);P(chopsticki);P(chopstick(i
24、+1)%5);V(mutex);;eat;/*進(jìn)餐*/;V(chopsticki);V(chopstick(i+1)%5);think;/*思考*/;第四章調(diào)度與死鎖思考與練習(xí)題1某進(jìn)程被喚醒后立刻投入運(yùn)行,能說明該系統(tǒng)采用的是可剝奪調(diào)度算法嗎?2在哲學(xué)家進(jìn)餐問題中,如果將先拿起左邊筷子的哲學(xué)家稱為左撇子,先拿起右邊筷子的哲學(xué)家稱為右撇子。請說明在同時(shí)存在左、右撇子的情況下,任何的就坐安排都不能產(chǎn)生鎖死。3系統(tǒng)中有5個(gè)資源被4個(gè)進(jìn)程所共享,如果每個(gè)進(jìn)程最多需要2個(gè)這種資源,試問系統(tǒng)是否會(huì)產(chǎn)生鎖死?計(jì)算機(jī)系統(tǒng)有8臺(tái)磁帶機(jī),由N個(gè)進(jìn)程競爭使用,每個(gè)進(jìn)程最多需要3臺(tái)。問:N為多少時(shí),系統(tǒng)沒有死鎖的危
25、險(xiǎn)?系統(tǒng)有5個(gè)進(jìn)程,它們的到達(dá)時(shí)間和服務(wù)時(shí)間如表4-8所示。新進(jìn)程(沒有運(yùn)行過)與老進(jìn)程(運(yùn)行過的進(jìn)程)的條件相同時(shí),假定系統(tǒng)選新進(jìn)程運(yùn)行。表4-8進(jìn)程情況若按先來先服務(wù)(FCFS)、時(shí)間片輪法(時(shí)間片q=1)、短進(jìn)程優(yōu)先(SPN)、最短剩余時(shí)間優(yōu)先(SRT,時(shí)間片q=1)、響應(yīng)比高者優(yōu)先(HRRN)及多級反饋隊(duì)列(MFQ,第一個(gè)隊(duì)列的時(shí)間片為1,第i(i1)個(gè)隊(duì)列的時(shí)間片q=2(i-1)算法進(jìn)行CPU調(diào)度,請給出各個(gè)進(jìn)程的完成時(shí)間、周轉(zhuǎn)時(shí)間、帶權(quán)周轉(zhuǎn)時(shí)間,及所有的進(jìn)程的平均周轉(zhuǎn)時(shí)間和平均帶權(quán)周轉(zhuǎn)時(shí)間。6.設(shè)系統(tǒng)中有5個(gè)進(jìn)程P1、P2、P3、P4、P5,有3種類型的資源A、B、C,其中A資源的
26、數(shù)量是17,B資源的數(shù)量是5,C資源的數(shù)量是20,T0時(shí)刻系統(tǒng)狀態(tài)如表4-9所示。表4-9T0時(shí)刻系統(tǒng)狀態(tài)進(jìn)程已分配資源數(shù)量最大資源需求量仍然需求資源數(shù)ABCABCABCP1212559347P2402536134P34054011006P4204425221P5314424110(1)計(jì)算每個(gè)進(jìn)程還可能需要的資源,并填入表的“仍然需要資源數(shù)”的欄目。(2)T0時(shí)刻系統(tǒng)是否處于安全狀態(tài)?為什么?如果T0時(shí)刻進(jìn)程P2又有新的資源請求(0,3,4),是否實(shí)施資源分配?為什么?如果TO時(shí)刻,若進(jìn)程P4又有新的資源請求(2,0,1),是否實(shí)施資源分配?為什么?(5)在(4)的基礎(chǔ)上,若進(jìn)程P1又有新的
27、資源請求(02,0),是否實(shí)施資源分配?為什么?答案答:不能。如果當(dāng)前就緒列隊(duì)為空,這樣被喚醒的進(jìn)程就是就緒隊(duì)列中的唯一的一個(gè)進(jìn)程,于是調(diào)度程序自然選中它投入運(yùn)行。答:該題的關(guān)鍵是證明該情況不滿足產(chǎn)生死鎖的四個(gè)必要條件之一。在死鎖的四個(gè)必要條件中,本體對于互斥條件、請求與保持條件、不可剝奪條件肯定是成立的,因此必須證明環(huán)路條件不成立。對于本體,如果存在環(huán)路條件必須是左、右的哲學(xué)家都拿起了左(或右)邊的筷子,而等待右(或左)邊的筷子,而這種情況只能出現(xiàn)在所有哲學(xué)家都是左(或右)撇子的情況下,但由于本題有右(或左)撇子存在,因此不可能出現(xiàn)循環(huán)等待鏈,所以不可能產(chǎn)生死鎖。答:由于資源數(shù)大于進(jìn)程數(shù),所
28、以系統(tǒng)中總會(huì)有一個(gè)進(jìn)程獲得資源數(shù)大于等于2,該進(jìn)程已經(jīng)滿足了它的最大需求,當(dāng)它運(yùn)行完畢后會(huì)把它占有的資源歸還給系統(tǒng),此時(shí)其余3個(gè)進(jìn)程也能滿足最大需求而順利運(yùn)行完畢。因此系統(tǒng)不會(huì)產(chǎn)生死鎖。答:當(dāng)N4時(shí),系統(tǒng)沒有死鎖的危險(xiǎn)。因?yàn)楫?dāng)N為1時(shí),它最多需要3臺(tái)磁帶機(jī),系統(tǒng)中共有8臺(tái),其資源數(shù)已足夠一個(gè)進(jìn)程使用,因此絕對不會(huì)產(chǎn)生死鎖,當(dāng)N為2時(shí),兩個(gè)進(jìn)程最多需要6臺(tái)磁帶機(jī),系統(tǒng)中共有8臺(tái),其資源數(shù)也足夠兩個(gè)進(jìn)程使用,因此也不會(huì)產(chǎn)生死鎖;當(dāng)N為3時(shí),無論如何分配,3個(gè)進(jìn)程中必有進(jìn)程得到3臺(tái)磁帶機(jī),該進(jìn)程已經(jīng)達(dá)到它的最大需求,當(dāng)它運(yùn)行完畢后可是放這3臺(tái)磁帶機(jī),這就保證了其他兩個(gè)進(jìn)程也可順利執(zhí)行完畢。因此當(dāng)N4
29、時(shí),也有產(chǎn)生死鎖的危險(xiǎn)。5.(1)先來先服務(wù)(FCFS)平均周轉(zhuǎn)時(shí)間T=(3+7+9+12+12)/5=43/5=8.6平均帶全周轉(zhuǎn)時(shí)間W=(1+1.17+2.25+2.4+6)/5=12.82/5=2.56(2)采用時(shí)間片輪轉(zhuǎn)(時(shí)間片q=1)平均周轉(zhuǎn)時(shí)間T=(4+16+13+14+7)/5=54/5=10.8平均帶權(quán)周轉(zhuǎn)時(shí)間W=(1.33+2.67+3.25+2.8+3.5)/=13.55/5=2.71(3)短進(jìn)程優(yōu)先(SPN)平局周轉(zhuǎn)時(shí)間T=(3+7+11+14+3)/5=38/5=7.6平均帶權(quán)周轉(zhuǎn)時(shí)間W=(1+1.17+2.75+2.8+1.5)/5=38/5=7.6采用最短剩余時(shí)間(
30、SRT,時(shí)間片q=l)平局周轉(zhuǎn)時(shí)間T=(3+18+4+9+2)/5=36/5=7.2平均帶權(quán)周轉(zhuǎn)時(shí)間W(1+3+1+1.8+1)/5=7.8/5=1.56采用響應(yīng)比高者優(yōu)先(HRRN)平均周轉(zhuǎn)時(shí)間T=(3+7+9+14+7)/5=40/5=8平均帶全周轉(zhuǎn)時(shí)間W=(1+1.17+2.25+2.8+3.5)/5=10.72/5=2.14采用多級反饋隊(duì)列(MFQ,第1個(gè)隊(duì)列的時(shí)間片為1,第i(il)個(gè)隊(duì)列的時(shí)間片q=2(i-1)平均周轉(zhuǎn)時(shí)間T=(3+15+14+14+6)/5=52/5=10.4平均帶權(quán)周轉(zhuǎn)時(shí)間W=(1+2.5+3.5+2.8+3)/5=12.8/5=2.56第五章存儲(chǔ)管理思考與練習(xí)
31、題1存儲(chǔ)管理的基本任務(wù)是為多道程序的并發(fā)執(zhí)行提供良好的存儲(chǔ)環(huán)境,這包括哪些方面?.2頁式存儲(chǔ)管理系統(tǒng)是否產(chǎn)生碎片?如何應(yīng)對此現(xiàn)象?3在頁式存儲(chǔ)管理系統(tǒng)中頁表的功能是什么?當(dāng)系統(tǒng)的地址空間很大時(shí)會(huì)給頁表的設(shè)計(jì)帶來哪些新的問題?4什么是動(dòng)態(tài)鏈接?用哪種存儲(chǔ)管理方案可以實(shí)現(xiàn)動(dòng)態(tài)鏈接?某進(jìn)程的大小為25F3H字節(jié),被分配到內(nèi)存的3A6BH字節(jié)開始的地址。但進(jìn)程運(yùn)行時(shí),若使用上、下界寄存器,寄存器的值是多少?如何進(jìn)行存儲(chǔ)保護(hù)?若使用地址、限長寄存器,寄存器的值是多少?如何進(jìn)行存儲(chǔ)保護(hù)?在系統(tǒng)中采用可變分區(qū)存儲(chǔ)管理,操作系統(tǒng)占用低地址部分的126KB,用戶區(qū)的大小是386KB,采用空閑分區(qū)表管理空閑分區(qū)。
32、若分配時(shí)從高地址開始,對于下述的作業(yè)申請序列:作業(yè)1申請80KB;作業(yè)2申請56KB;作業(yè)3申請120KB;作業(yè)1完成;作業(yè)3完成;作業(yè)4申請156KB;作業(yè)5申請80KB。使用首次適應(yīng)法處理上述作業(yè),并回答以下問題。畫出作業(yè)1、2、3進(jìn)入內(nèi)存后,內(nèi)存的分布情況。畫出作業(yè)1、3完成后,內(nèi)存的分布情況。畫出作業(yè)4、5進(jìn)入內(nèi)存后,內(nèi)存的分布情況。某系統(tǒng)采用頁式存儲(chǔ)管理策略,某進(jìn)程的邏輯地址空間為32頁,頁的大小為2KB,物理地址空間的大小是4MB。某頁式存儲(chǔ)管理系統(tǒng),內(nèi)存的大小為64KB,被分為16塊,塊號為0、1、2、15。設(shè)某進(jìn)程有4頁,其頁號為0、1、2、3,被分別裝入內(nèi)存的2、4、7、5,
33、問:該進(jìn)程的大小是多少字節(jié)?寫出該進(jìn)程每一頁在內(nèi)存的起始地址。邏輯地址4146對應(yīng)的物理地址是多少?某段式存儲(chǔ)管理系統(tǒng)的段表如圖所示。段號段長段始址015KB40KB18KB80KB210KB100KB請將邏輯地址0,137、1,9000、2,3600、3,230轉(zhuǎn)換成物理地址。答案答:存儲(chǔ)管理的基本任務(wù)是為多道程序的并發(fā)執(zhí)行提供良好的存儲(chǔ)器環(huán)境,它包括以下幾個(gè)方面。能讓沒到程序“各得其所”,并在不受干擾的環(huán)境中運(yùn)行時(shí),還可以使用戶從存儲(chǔ)空間的分配、保護(hù)等事物中解脫出來。向用戶提供更大的存儲(chǔ)空間,使更多的程序同時(shí)投入運(yùn)行或是更大的程序能在小的內(nèi)存中運(yùn)行。(3)為用戶對信息的訪問、保護(hù)、共享以及
34、程序的動(dòng)態(tài)鏈接、動(dòng)態(tài)增長提供方便。(4)能使存儲(chǔ)器有較高的利用率。答:頁式存儲(chǔ)管理系統(tǒng)產(chǎn)生的碎片,稱為內(nèi)碎片,它是指一個(gè)進(jìn)程的最后一頁沒有沾滿一個(gè)存儲(chǔ)塊而被浪費(fèi)的存儲(chǔ)空間。減少內(nèi)碎片的辦法是減少頁的大小。答:頁式存儲(chǔ)管理系統(tǒng)中,允許將進(jìn)程的每一頁離散地存儲(chǔ)在內(nèi)出的任何一個(gè)物理頁面上,為保證進(jìn)程的正常運(yùn)行,系統(tǒng)建立了頁表,記錄了進(jìn)城每一頁被分配在內(nèi)存的物理號。也表的功能是實(shí)現(xiàn)從頁號到物理塊的地址映射。當(dāng)系統(tǒng)地址很大時(shí),頁表也會(huì)變得非常大,它將占有相當(dāng)大的內(nèi)存空間。答:動(dòng)態(tài)鏈接是指進(jìn)程在運(yùn)行時(shí),只將進(jìn)程對應(yīng)的主程序段裝入內(nèi)存,并與主程序段鏈接上。通常一個(gè)大的程序是由一個(gè)主程序和若干個(gè)子陳旭以及一些
35、數(shù)據(jù)段組成。而段式存儲(chǔ)管理方案中的段就是按用戶的邏輯段自然形成的,因此可實(shí)現(xiàn)動(dòng)態(tài)鏈接。5.答:若使用上下界寄存器,上界寄存器的值是3A6BH,下界寄存器的值是3A6BH+25F3H=605EH,當(dāng)訪問內(nèi)存的地址大于605EH、小于3A6BH時(shí)產(chǎn)生越界中斷。若使用地址、限長寄存器,地址寄存器的值是3A6BH,限長寄存器的值是25F3H,當(dāng)訪問內(nèi)存的地址小于3A6BH,超過3A6BH+25F3H=605EH時(shí)產(chǎn)生越界中斷。(1)寫出邏輯地址的格式。答:進(jìn)程的邏輯地址空間為32頁,故邏輯地址中的頁號需要5位(二進(jìn)制),由于每頁的大小為2KB,因此頁內(nèi)位移需用11位(二進(jìn)制)表示,這樣,邏輯地址格式如
36、圖所示。1511100頁號頁內(nèi)位移(2)該進(jìn)程的頁表有多少項(xiàng)?每項(xiàng)至少占多少位?答:因?yàn)檫M(jìn)程的邏輯地址空間為32頁,因此該進(jìn)程的頁表項(xiàng)有32項(xiàng)。頁表中應(yīng)存儲(chǔ)每頁的塊號。因?yàn)槲锢淼刂房臻g大小是4MB,4MB的物理地址空間內(nèi)分成4MB/2KB=2K個(gè)塊,因此塊號部分需要11位(二進(jìn)制),所以頁表中每項(xiàng)占11位。(1)該進(jìn)程的大小是多少字節(jié)?答:內(nèi)存的大小為64位,被分為16塊,所以塊的大小是64KB/16=4KB。因?yàn)閴K的大小與頁面的大小相等,所以頁的大小是4KB。該進(jìn)程的大小是4X4KB=16KB.寫出該進(jìn)程每一頁在內(nèi)存的起始地址。答:因?yàn)檫M(jìn)程頁號為0、1、2、3,被分別裝入內(nèi)存的2、4、7、5
37、。第0頁在內(nèi)存的起始地址是:2X4KB=8KB第1頁在內(nèi)存的起始地址是:4X4KB=16KB第2頁在內(nèi)存的起始地址是:7X4KB=28KB第3頁在內(nèi)存的起始地址是:5X4KB=20KB邏輯地址4146對應(yīng)的物理地址是多少?答:邏輯地址4146對應(yīng)的物理地址:4146/4096=1,50。邏輯地址4146對應(yīng)的頁號為1,頁內(nèi)位移為50。查找頁表,得知頁號為1的存儲(chǔ)塊號為4,所以邏輯地址4146對應(yīng)的物理跨地址是:4X4096+50=16434。9.答:(1)對于邏輯地址0,137,段號為0,段內(nèi)位移為137。查段表的0項(xiàng)得到該段的段始址為40KB段長為15KB。由于段號0小于進(jìn)程的總段數(shù),故段號
38、合法;段內(nèi)位移137小于段長15KB,故段內(nèi)地址合法。因此可得到物理地址為:40KB+137B=40960B+137B=41097B。對于邏輯地址1,9000,段號為1,段內(nèi)位移為9000。查段表的1項(xiàng)得到該段的段始址為80KB,段長為8KB。由于段號1小于進(jìn)程的總數(shù)對于邏輯地址2,3600,段號為2,段內(nèi)位移為3600。差段表的2項(xiàng)得到該段的段始址為100KB,段長為10KB,故段內(nèi)地址合法。因此可得到物理地址為:100KB+3600B=102400B+3600B=106000B。第六章虛擬存儲(chǔ)管理思考與練習(xí)題1試說明缺頁與一般中段的主要區(qū)別。2局布置換和全局置換有何區(qū)別?在多道程序系統(tǒng)中建
39、議使用哪一種?3虛擬存儲(chǔ)的特征是什么?虛擬存儲(chǔ)器的容量受到哪兩個(gè)方面的限制?4已知頁面走向是1、2、1、3、1、2、4、2、1、3、4,且進(jìn)程開始執(zhí)行時(shí),內(nèi)存中沒有頁面,若給該進(jìn)程分配2個(gè)物理塊,當(dāng)采用以下算法時(shí)的缺頁率是多少?先進(jìn)先出置換算法。假如有一種頁面置換算法,它總是淘汰剛使用過的頁面。在請求頁式存儲(chǔ)管理系統(tǒng)中,使用先進(jìn)先出(FIFO)頁面置換算法,會(huì)產(chǎn)生一種奇怪的現(xiàn)象:分配給進(jìn)程的頁數(shù)越多,進(jìn)程執(zhí)行時(shí)的卻也次數(shù)反而越高。試舉例說明這一現(xiàn)象。某請求頁式系統(tǒng)中,頁的大小為100字,一個(gè)程序的大小為1200字,可能的訪問序列如下:10、205、110、40、314、432、320、225、
40、80、130、272、420、128,若系統(tǒng)采用LRU置換算法,當(dāng)分配給該進(jìn)程的物理塊數(shù)為3時(shí),給出進(jìn)程駐留的各個(gè)頁面的變化情況、頁面淘汰情況及缺頁次數(shù)。在一個(gè)采用局部置換策略的請求頁式系統(tǒng)中,分配中給進(jìn)程的物理塊數(shù)為4,其中存放的4個(gè)頁面的情況如表。當(dāng)發(fā)生缺頁時(shí),分別采用下列頁面置換算法時(shí),講置換哪一頁?并解釋原因。進(jìn)程4個(gè)頁面的情況頁號存儲(chǔ)塊號加載時(shí)間訪問時(shí)間訪問位修改位02301600111160157002010162103322016511OPT(最佳)置換算法;FIFO(先進(jìn)先出)置換算法;LRU(最近最少使用)置換算法;Clock置換算法。某虛擬存儲(chǔ)器的用戶空間有32個(gè)頁面,每頁
41、1KB,內(nèi)存大小為16KB,假設(shè)某時(shí)刻系統(tǒng)為用戶的第0、1、2、3頁分配得物理塊號是5、10、4、7,而該用戶進(jìn)程的長度是6頁。試將以下16進(jìn)制的虛擬地址轉(zhuǎn)換成物理地址。(1)0X0A5C(2)0X103C(3)0X257B(4)0X8A4C在請求頁式存儲(chǔ)管理系統(tǒng)中,頁面大小是100字節(jié),有一個(gè)50X50的數(shù)組按行連續(xù)存放,每個(gè)整數(shù)占2字節(jié)。將數(shù)組初始化的程序如下程序A:inti,j;inta5050;for(i=0;i50;i+)for(j=0;j50;j+)aij=0;程序B:inti,j;inta5050;for(j=0;j50;j+)for(i=0;i50;i+)aij=0;若在程序執(zhí)
42、行過程中,內(nèi)存中只有一個(gè)頁面用來存放數(shù)組的信息,試問程序A和程序B執(zhí)行時(shí)產(chǎn)生的中斷次數(shù)分別是多少?答案答:缺頁中斷與一般中斷一樣,需要經(jīng)歷保護(hù)CPU香腸、分析中斷原因、轉(zhuǎn)中斷處理程序進(jìn)行及恢復(fù)中斷現(xiàn)場等步驟。但缺頁中斷是一種特殊的中斷,他與一般中斷的區(qū)別:(1)在指令執(zhí)行期間產(chǎn)生和處理中斷,。通常cpu是在一條至六年個(gè)執(zhí)行之后去檢查是否有中斷發(fā)生,若有邊去處理中斷;否則繼續(xù)執(zhí)行下一跳指令。而缺頁中斷是在指令執(zhí)行期間發(fā)現(xiàn)所要訪問的指令或數(shù)據(jù)不再內(nèi)存時(shí)產(chǎn)生和處理中斷。(2)一條指令執(zhí)行期間可能產(chǎn)生多次中斷。對于一跳要求讀取多個(gè)字節(jié)數(shù)據(jù)的指令,指令中的數(shù)據(jù)可能跨越兩個(gè)頁面。該指令執(zhí)行時(shí)可能要發(fā)生3次
43、中斷,一次是訪問指令,另外兩次訪問數(shù)據(jù)。答:局部置換是指當(dāng)前進(jìn)程在執(zhí)行過程中發(fā)生缺頁時(shí),旨在分配給該進(jìn)程的物理塊中選擇一頁換出。全局置換是指在所有用戶使用的整個(gè)存儲(chǔ)空間中選擇一個(gè)頁面換出。在多道程序系統(tǒng)中建議使用局部置換策略。這樣即使某個(gè)進(jìn)程出現(xiàn)了抖動(dòng)現(xiàn)象,也不致引起其他程序產(chǎn)生抖動(dòng),從而將抖動(dòng)局限在較小的范圍內(nèi)。答:虛擬存儲(chǔ)器的特征有以下幾個(gè)方面:(1)離散性:指進(jìn)程不必裝入連續(xù)的內(nèi)存空間,二十“見縫插針”。(2)多次性:只一個(gè)進(jìn)程的程序和數(shù)據(jù)要分多次調(diào)入內(nèi)存。(3)對換性:指進(jìn)程在運(yùn)行過程中,允許將部分程序和數(shù)據(jù)換進(jìn)、換出。(4)虛擬性:指能從邏輯上擴(kuò)充內(nèi)存容量。虛擬存儲(chǔ)器的容量主要是受計(jì)
44、算機(jī)的地址長度和外存容量的限制。(1)先進(jìn)先出置換算法。頁面調(diào)度表頁面走向12131242134物理塊1113322114物理塊222114433缺頁缺缺缺缺缺缺缺缺缺答:頁面引用11次,缺頁9次,缺頁率為9/11=81.8%。2)假如有一種頁面置換算法,它總是淘汰剛使用過的頁面。頁面調(diào)度表頁面走向12131242134物理塊111311134物理塊22224222缺頁缺缺缺缺缺缺缺缺答:頁面引用11次,缺頁8次,缺頁率為8/11=72.7%。答:如果一個(gè)進(jìn)程的頁面走向?yàn)?、3、2、1、4、3、5、4、3、2、1、5,若給該進(jìn)程非配3個(gè)物理塊,其頁面調(diào)度情況如表所示:頁面走向432143543
45、215物理塊1444111555物理塊233344422物理塊32223331缺頁缺缺缺缺缺缺缺缺缺引用12次,缺頁9次。若給該進(jìn)程分配4個(gè)物理塊,其頁面調(diào)度情況如下頁面走向432143543215物理理塊2333344445物理塊322223333物理塊41111222缺頁缺缺缺缺缺缺缺缺缺缺引用12次,缺頁10次6.答:由于頁的代謝奧為100字,因此訪問序列10、205、110、40、314、432、320、225、80、130、272、420、128對應(yīng)的頁號是0、2、1、0、3、4、3、2、0、1、2、4、1。給該進(jìn)程分配3個(gè)物理塊,采用LRU置換算法,其頁面
46、調(diào)度情況如表。頁面走向0210343201241物理塊1000002222物理塊222333311物理塊31144004缺頁缺缺缺缺缺缺缺缺缺被淘汰的頁號分別是2、1、0、4、3、0,共9次。7.進(jìn)程4個(gè)頁面的情況頁號存儲(chǔ)塊號加載時(shí)間訪問時(shí)間訪問位修改位02301600111160157002010162103322016511OPT(最佳)置換算法;答:OPT(最佳)置換算法是選擇永久不用的也活長時(shí)間不用的也,將其患處,題目中沒有給出頁面的將來走向,所以無法判斷將置換哪一頁。FIFO(先進(jìn)先出)置換算法;答:FIFO(先進(jìn)先出)置換算法是選擇最先裝入內(nèi)存的頁面,將其換出。從表中可知,應(yīng)考察的
47、是頁面的加載時(shí)間,加載時(shí)間最小的是10,因此最先裝入內(nèi)存的是第2頁。LRU(最近最少使用)置換算法;答:LRU(最近最少使用)算法時(shí)選擇最近最久沒有被訪問的頁面,將其換出。應(yīng)考察的是頁面的訪問時(shí)間,訪問時(shí)間最小的是157,因此最近最久沒有被訪問的是第1頁。Clock置換算法。答:CLOCK置換算法時(shí)LRU算法的變種,他首先選擇訪問位和修改位均為0的一頁,將其換出。滿足該條件的是第1頁。8.(1)0X0A5C物理地址是(2)0X103C產(chǎn)生缺頁中斷0X257B產(chǎn)生越界中斷0X8A4C地址錯(cuò)誤9.答:由題知,數(shù)組a中有50X50=2500個(gè)整數(shù),每個(gè)整數(shù)占2個(gè)字節(jié),數(shù)組共需要2X2500=5000
48、字節(jié)。兒頁面的大小是100字節(jié),則數(shù)組占用的空間為5000/100=50頁。對于程序A:由于數(shù)組是按行存放的,而初始化數(shù)組的程序也是按行進(jìn)行初始化的。因此當(dāng)缺頁后調(diào)入的一頁,位于該頁的所有數(shù)組元素全部進(jìn)行初始化,然后再調(diào)入另一頁。所以缺頁的次數(shù)為50次。對于程序B由于數(shù)組是按行存放的,而初始化數(shù)組的程序卻是案例額進(jìn)行初始化的。因此當(dāng)缺頁后調(diào)入的一頁中,位于該頁撒謊能夠的數(shù)組元素只有一個(gè),所以程序B每訪問一個(gè)元素長生一次缺頁中斷,則整個(gè)數(shù)組將長生2500次缺頁。第七章設(shè)備管理思考與練習(xí)題1數(shù)據(jù)傳輸控制方式有哪幾種?試比較它們的優(yōu)缺點(diǎn)。2何為設(shè)備的獨(dú)立性?如何實(shí)現(xiàn)設(shè)備的獨(dú)立性?3什么是緩沖?為什么
49、要引入緩沖?操作系統(tǒng)如何實(shí)現(xiàn)緩沖技術(shù)?4設(shè)備分配中為什么可能出現(xiàn)死鎖?5.以打印機(jī)為例說明SPOOLing技術(shù)的工作原理。6假設(shè)一個(gè)磁盤有200個(gè)柱面,編號為0199,當(dāng)前存取臂的位置是在143號柱面上,并剛剛完成了125號柱面的服務(wù)請求,如果存在下列請求序列:86、147、91、177、94、150、102、175、130,試問:為完成上述請求,采用下列算法時(shí)存取的移動(dòng)順序是什么?移動(dòng)總量是多少?先來先服務(wù)(FCFS)。(2)最短尋道時(shí)間優(yōu)先(SSTF)。(3)掃描算法(SCAN)。(4)循環(huán)掃描算法(C-SCAN)。磁盤的訪問時(shí)間分成三部分:尋道時(shí)間、旋轉(zhuǎn)時(shí)間和數(shù)據(jù)傳輸時(shí)間。而優(yōu)化磁盤磁道
50、上的信息分布能減少輸入輸出服務(wù)的總時(shí)間。例如,有一個(gè)文件有10個(gè)記錄A,B,C,J存放在磁盤的某一磁道上,假定該磁盤共有10個(gè)扇區(qū),每個(gè)扇區(qū)存放一個(gè)記錄,安排如表所示?,F(xiàn)在要從這個(gè)磁道上順序地將AJ這10個(gè)記錄讀出,如果磁盤的旋轉(zhuǎn)速度為20ms轉(zhuǎn)一周,處理程序每讀出一個(gè)記錄要花4ms進(jìn)行處理。試問:處理完10個(gè)記錄的總時(shí)間為多少?為了優(yōu)化分布縮短處理時(shí)間,如何安排這些記錄?并計(jì)算處理的總時(shí)間。假設(shè)一個(gè)磁盤有100個(gè)柱面,每個(gè)柱面有10個(gè)磁道,每個(gè)磁道有15個(gè)扇區(qū)。當(dāng)進(jìn)程的要訪問磁盤有12345扇區(qū)時(shí),計(jì)算該扇區(qū)在磁盤的第幾柱面、第幾磁道、第幾扇區(qū)?一個(gè)文件記錄大小為32B,磁道輸入輸出以磁盤塊
51、為單位,一個(gè)盤塊的大小為512B。當(dāng)用戶進(jìn)程順序讀文件的各個(gè)記錄時(shí),計(jì)算實(shí)際啟動(dòng)磁盤I/O占用整個(gè)訪問請求時(shí)間的比例。如果磁盤扇區(qū)的大小固定為512B,每個(gè)磁道有80個(gè)扇區(qū),一共有4個(gè)可用的盤面。假設(shè)磁盤旋轉(zhuǎn)速度是360rpm。處理機(jī)使用中斷驅(qū)動(dòng)方式從磁盤讀取數(shù)據(jù),每字節(jié)產(chǎn)生一次終端。如果處理中斷需要25ms,試問:處理機(jī)花費(fèi)在處理I/O上的時(shí)間占整個(gè)磁盤訪問時(shí)間的百分比是多少(忽略尋道時(shí)間)?采用DMA方式,每個(gè)扇區(qū)產(chǎn)生一次中斷,處理機(jī)話費(fèi)在處理I/O上的時(shí)間占整個(gè)磁盤訪問時(shí)間的半分比是多少?答案1答:數(shù)據(jù)轉(zhuǎn)送控制方式有程序直接控制方式、中斷控制方式、DMA控制方式和通道方式四種。2答:設(shè)備
52、的獨(dú)立性是指應(yīng)用程序獨(dú)立于具體使用的物理設(shè)備。此時(shí),用戶使用邏輯設(shè)備名申請使用某列物理設(shè)備。當(dāng)系統(tǒng)中有多臺(tái)該烈性的設(shè)備是,系統(tǒng)可將其中的任意一臺(tái)分配給請求進(jìn)程,而不局限于某一臺(tái)制定的設(shè)備。這樣,可顯著的改善資源的利用率即可使用性。設(shè)備獨(dú)立使用用戶獨(dú)立于設(shè)備的烈性。如進(jìn)行輸出時(shí),亦可以使用現(xiàn)實(shí)終端,也可以使用打印機(jī)。有了這種獨(dú)立性,就可以很方便的進(jìn)行輸入/輸出重定向。3答:緩沖是在兩個(gè)不同速度設(shè)備之間傳輸信息時(shí),用于平滑傳輸過程的一種手段。(1)換屆CPU與I/O設(shè)備之間的速度不匹配的矛盾。減少中斷CPU的次數(shù)。提高CPU與I/O設(shè)備之間的并行性。答:在某些操作系統(tǒng)中,一個(gè)進(jìn)程只能提供一個(gè)I/O
53、請求。也就是說,執(zhí)行進(jìn)程向系統(tǒng)提出I/O請求后邊立即進(jìn)入等待狀態(tài),直到I/O請求完成后才被喚醒。這樣系統(tǒng)對設(shè)備的分配比較安全,不會(huì)出現(xiàn)死鎖。但這種方式對進(jìn)程來說,因CPU與I/O設(shè)備是串行工作的,這使得該進(jìn)程的推進(jìn)速度緩慢。為了加快進(jìn)程執(zhí)行時(shí)的推進(jìn)速度,是能喜劇執(zhí)行,當(dāng)需要是有可能接著發(fā)出第二個(gè)、第三個(gè)I/O請求,精當(dāng)鎖清秋的I/O設(shè)備已被另一個(gè)進(jìn)程占用是,進(jìn)程才進(jìn)入等待狀態(tài)。這種一個(gè)進(jìn)程同時(shí)可以使用多個(gè)I/O設(shè)備的方式提高了系統(tǒng)的資源里歐你過來,但也帶來了一種危險(xiǎn),即如果兩個(gè)進(jìn)程都提出請求使用對方占有的I/O設(shè)備時(shí),就會(huì)出現(xiàn)死鎖。答:當(dāng)用戶進(jìn)程請求打印輸出時(shí),操作系統(tǒng)接受用戶的打印請求,但并
54、不真正把打印機(jī)分配給該用戶進(jìn)程,二十為進(jìn)城再次攀上輸出井中分配一空閑塊區(qū),并將要打印的數(shù)據(jù)送入其中,同時(shí)還為用戶進(jìn)程申請一張用戶請求打印表,將用戶的打印要求填入其中,再將該表掛在請求打印隊(duì)列上。如果還有進(jìn)程要求打印輸出,系統(tǒng)仍可以接受請求,也可以進(jìn)城完成上述操作。(1)先來先服務(wù)(FCFS)。答:移動(dòng)順序是:143、86、147、91、177、94、150、102、175、130移動(dòng)總量是:(143-86)+(147-86)+)(147-91)+(177-91)+(177-94)+(150-94)+(150-102)+(175-102)+(175-130)=565(2)最短尋道時(shí)間優(yōu)先(SST
55、F)。答:移動(dòng)順序:143、147、150、130、102、94、91、86、175、177移動(dòng)總量是:(147-143)+(150-147)+(150-130)+(130-102)+(102-94)+(94-91)+(91-86)+(175-86)+(177-175)=162(3)掃描算法(SCAN)。答:移動(dòng)順序:143、147、150、175、177、130、102、94、91、86移動(dòng)總量是:(147-143)+(150-147)+(175-150)+(177-175)+(177-130)+(130-102)+(102-94)+(94-91)+(91-86)=125(4)循環(huán)掃描算法(
56、C-SCAN)。答:移動(dòng)順序是:143、147、150、175、177、86、91、94、102、130移動(dòng)總量是:(147-143)+(150-147)+(175-150)+(177-175)+(177-86)+(91-86)+(94-91)+(102-94)+(130-102)=169.7.某文件10個(gè)記錄在磁盤上的存放情況扇區(qū)號12345678910記錄號ABCDEFGHIJ1)處理完10個(gè)記錄的總時(shí)間為多少?答:有題目所列條件可知,磁盤的旋轉(zhuǎn)速度為20ms轉(zhuǎn)一周,每個(gè)此道有10個(gè)記錄,因此讀出1個(gè)記錄的時(shí)間為20ms/10=2ms。對于表中記錄的初始分布,讀出并處理記錄A需要20ms+
57、4ms=60ms。6ms后讀/寫頭急轉(zhuǎn)到了記錄D出,為了讀出記錄B必須再轉(zhuǎn)8個(gè)山區(qū),急需要8*2ms=16ms,記錄B的讀取時(shí)間為2ms,處理時(shí)間為4ms,股處理記錄B共花時(shí)間為:16ms+2ms+4ms=22ms。后續(xù)8個(gè)記錄的讀取時(shí)間與記錄B相同。所以處理10記錄的總時(shí)間是:9*22ms+6ms=204ms。的總時(shí)間。的開始出,因理10個(gè)記錄(2)為了優(yōu)化分布縮短處理時(shí)間,如何安排這些記錄?并計(jì)算處理答:為了縮短處理時(shí)間應(yīng)按圖瑣事安排這些記錄。經(jīng)優(yōu)化處理后,讀出并處理記錄A后,讀/寫頭剛好轉(zhuǎn)到記錄B此立即可讀取并處理記錄B,后續(xù)記錄的讀取與處理情況相同。股處的總時(shí)間為10*(2ms+4ms
58、)=60ms。8.答:有題目一直,磁盤每個(gè)柱面有10個(gè)磁頭,每個(gè)此道有15個(gè)15個(gè)山區(qū)。則每個(gè)柱面的山區(qū)數(shù)位10*15=150.13524/150=90余24,故13524所在煮面為90.24/15=1余9,故13524再次頭號為1,山區(qū)為9。綜上所述,13524山區(qū)所在的磁盤地址為:第90號柱面,第1號磁頭,第9號扇區(qū)。9答:有題目可知,盤快的大小為512B,個(gè)文件記錄大小為32B雇一個(gè)盤快包含的記錄數(shù)為:512/32=16。顯然在訪問16個(gè)記錄中,只需要一次激動(dòng)磁盤,故事集啟動(dòng)磁盤I/O占用整個(gè)訪問請求的比例為1/16=6.25%(1)處理機(jī)花費(fèi)在處理I/O上的時(shí)間占整個(gè)磁盤訪問時(shí)間的百分
59、比是多少(忽略尋道時(shí)間)?答:(512*2.5)/(1/12+1/480)+(512*2.5)*100%=99.9%(2)采用DMA方式,每個(gè)扇區(qū)產(chǎn)生一次中斷,處理機(jī)話費(fèi)在處理I/O上的時(shí)間占整個(gè)磁盤訪問時(shí)間的半分比是多少?答:2.5/(1/12+1/480)+2.5)*100%=96.7%第八章文件管理思考與練習(xí)題1文件系統(tǒng)要解決的問題有哪些?2許多操作系統(tǒng)中提供了文件重命名功能,它能賦予文件一個(gè)新的名字。若進(jìn)行文件復(fù)制,并給復(fù)制文件起一個(gè)新的名字,然后刪除舊文件,也能達(dá)到給文件重命名的目的。是問這個(gè)方法在實(shí)現(xiàn)上有何不同?使用文件系統(tǒng)時(shí),通常要顯式地進(jìn)行Open()與Close()操作。試問
60、:(1)這樣做的目的是什么?能夠取消顯式地Open()與Close()操作么?若能,怎樣做?取消顯式地Open()與Close()操作有什么不利影響?文件目錄的作用是什么?文件目錄項(xiàng)通常包含哪些內(nèi)容?文件物理結(jié)構(gòu)中的鏈接分配方式有幾種實(shí)現(xiàn)方法?各什么特點(diǎn)?設(shè)某文件A由100個(gè)物理塊組成,現(xiàn)分別用連續(xù)文件,鏈接文件和索引文件來構(gòu)造。針對3種不同的結(jié)構(gòu),執(zhí)行以下操作時(shí)各需要多少次從洗盤I/O?將一物理塊加到文件頭部。將一物理塊加到文件正中間。將一物理塊加到文件尾部。文件系統(tǒng)用混合方式管理存儲(chǔ)文件的物理塊,設(shè)塊的大小為512B,每個(gè)塊號占3B,如果不考慮邏輯塊號在物理塊中所占的位置,求二級索引和三級
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療器械工程居間合同范本
- 施工電梯布置專項(xiàng)方案
- 食品安全風(fēng)險(xiǎn)評估與管理技術(shù)作業(yè)指導(dǎo)書
- 承包山林合同書
- 市場營銷策略制定與實(shí)施作業(yè)指導(dǎo)書
- 停車場管理服務(wù)合同
- 住房和城鄉(xiāng)建設(shè)委員會(huì)
- 林業(yè)經(jīng)濟(jì)管理與政策作業(yè)指導(dǎo)書
- 雞舍租賃合同
- 技術(shù)服務(wù)合同格式
- 山東省中考物理總復(fù)習(xí) 八上 第4講 光現(xiàn)象
- DB11∕T 1875-2021 市政工程施工安全操作規(guī)程
- 心肺康復(fù)完整版本課件
- 傳統(tǒng)節(jié)日春節(jié)英文介紹課件
- 質(zhì)量獎(jiǎng)現(xiàn)場評審問題集錦精編版
- 裝配式結(jié)構(gòu)技術(shù)課程教學(xué)大綱
- 水資源論證報(bào)告
- 中藥提取車間生產(chǎn)設(shè)備風(fēng)險(xiǎn)評估報(bào)告講解
- 實(shí)現(xiàn)結(jié)構(gòu)化:初中語文大單元教學(xué)設(shè)計(jì)的核心
- FZ∕T 54088-2016 錦綸6全牽伸單絲
- 義務(wù)教育英語課程標(biāo)準(zhǔn)二級詞匯表
評論
0/150
提交評論