計(jì)算機(jī)操作系統(tǒng)答案 郁紅英 李春強(qiáng)著_第1頁(yè)
計(jì)算機(jī)操作系統(tǒng)答案 郁紅英 李春強(qiáng)著_第2頁(yè)
計(jì)算機(jī)操作系統(tǒng)答案 郁紅英 李春強(qiáng)著_第3頁(yè)
計(jì)算機(jī)操作系統(tǒng)答案 郁紅英 李春強(qiáng)著_第4頁(yè)
計(jì)算機(jī)操作系統(tǒng)答案 郁紅英 李春強(qiáng)著_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、習(xí)題一1. 什么是操作系統(tǒng)?它的主要功能是什么?答:操作系統(tǒng)是用來管理計(jì)算機(jī)系統(tǒng)的軟、硬件資源,合理地組織計(jì)算機(jī)的工作流程,以方便用戶使用的程序集合;其主要功能有進(jìn)程管理、存儲(chǔ)器管理、設(shè)備管理和文件管理功能。2. 什么是多道程序設(shè)計(jì)技術(shù)?多道程序設(shè)計(jì)技術(shù)的主要特點(diǎn)是什么?答:多道程序設(shè)計(jì)技術(shù)是把多個(gè)程序同時(shí)放入內(nèi)存,使它們共享系統(tǒng)中的資源;特點(diǎn):(1)多道,即計(jì)算機(jī)內(nèi)存中同時(shí)存放多道相互獨(dú)立的程序; (2)宏觀上并行,是指同時(shí)進(jìn)入系統(tǒng)的多道程序都處于運(yùn)行過程中; (3)微觀上串行,是指在單處理機(jī)環(huán)境下,內(nèi)存中的多道程序輪流占有CPU,交替執(zhí)行。3. 批處理系統(tǒng)是怎樣的一種操作系統(tǒng)?它的特點(diǎn)是什

2、么?答:批處理操作系統(tǒng)是一種基本的操作系統(tǒng)類型。在該系統(tǒng)中,用戶的作業(yè)(包括程序、數(shù)據(jù)及程序的處理步驟)被成批的輸入到計(jì)算機(jī)中,然后在操作系統(tǒng)的控制下,用戶的作業(yè)自動(dòng)地執(zhí)行;特點(diǎn)是:資源利用率高、系統(tǒng)吞吐量大、平均周轉(zhuǎn)時(shí)間長(zhǎng)、無交互能力。4. 什么是分時(shí)系統(tǒng)?什么是實(shí)時(shí)系統(tǒng)?試從交互性、及時(shí)性、獨(dú)立性、多路性和可靠性幾個(gè)方面比較分時(shí)系統(tǒng)和實(shí)時(shí)系統(tǒng)。答:分時(shí)系統(tǒng):一個(gè)計(jì)算機(jī)和許多終端設(shè)備連接,每個(gè)用戶可以通過終端向計(jì)算機(jī)發(fā)出指令,請(qǐng)求完成某項(xiàng)工作,在這樣的系統(tǒng)中,用戶感覺不到其他用戶的存在,好像獨(dú)占計(jì)算機(jī)一樣。實(shí)時(shí)系統(tǒng):對(duì)外部輸入的信息,實(shí)時(shí)系統(tǒng)能夠在規(guī)定的時(shí)間內(nèi)處理完畢并作出反應(yīng)。比較:(1)

3、交互性:實(shí)時(shí)系統(tǒng)具有交互性,但人與系統(tǒng)的交互,僅限于訪問系統(tǒng)中某些特定的專用服務(wù)程序。它不像分時(shí)系統(tǒng)那樣向終端用戶提供數(shù)據(jù)處理、資源共享等服務(wù)。實(shí)時(shí)系統(tǒng)的交互性要求系統(tǒng)具有連續(xù)人機(jī)對(duì)話的能力,也就是說,在交互的過程中要對(duì)用戶得輸入有一定的記憶和進(jìn)一步的推斷的能力。(2)及時(shí)性:實(shí)時(shí)系統(tǒng)對(duì)及時(shí)性的要求與分時(shí)系統(tǒng)類似,都以人們能夠接受的等待時(shí)間來確定。而及時(shí)系統(tǒng)則對(duì)及時(shí)性要求更高。(3)獨(dú)立性:實(shí)時(shí)系統(tǒng)與分時(shí)系統(tǒng)一樣具有獨(dú)立性。每個(gè)終端用戶提出請(qǐng)求時(shí),是彼此獨(dú)立的工作、互不干擾。(4)多路性:實(shí)時(shí)系統(tǒng)與分時(shí)一樣具有多路性。操作系統(tǒng)按分時(shí)原則為多個(gè)終端用戶提供服務(wù),而對(duì)于實(shí)時(shí)系統(tǒng),其多路性主要表現(xiàn)在

4、經(jīng)常對(duì)多路的現(xiàn)場(chǎng)信息進(jìn)行采集以及對(duì)多個(gè)對(duì)象或多個(gè)執(zhí)行機(jī)構(gòu)進(jìn)行控制。(5)可靠性:分時(shí)系統(tǒng)雖然也要求可靠性,但相比之下,實(shí)時(shí)系統(tǒng)則要求系統(tǒng)高度可靠。5. 實(shí)時(shí)系統(tǒng)分為哪兩種類型?答:實(shí)時(shí)控制系統(tǒng)、實(shí)時(shí)信息處理系統(tǒng)。6.操作系統(tǒng)的主要特征是什么?答:并發(fā)性、共享性、虛擬性、不確定性。7.操作系統(tǒng)與用戶的接口有幾種?他們各自用在什么場(chǎng)合?答:有兩種:命令接口、程序接口;命令接口:分為聯(lián)機(jī)命令接口、脫機(jī)命令接口和圖形用戶界面接口,它是為方便用戶控制自己的作業(yè)。程序接口:又稱系統(tǒng)調(diào)用,是為用戶在程序一級(jí)訪問操作系統(tǒng)功能而設(shè)置的,是用戶程序取得操作系統(tǒng)服務(wù)的唯一途徑,它由一組系統(tǒng)調(diào)用構(gòu)成,每個(gè)系統(tǒng)調(diào)用完成

5、一個(gè)特定的功能。8.“操作系統(tǒng)是控制硬件的軟件”這一說法確切嗎?為什么?答:不正確,操作系統(tǒng)不僅僅在控制硬件,同時(shí)它還控制著計(jì)算機(jī)的軟件。所以說操作系統(tǒng)是控制硬件的軟件是不正確的。9.設(shè)內(nèi)存中有三道程序,A,B,C,他們按ABC的先后次序執(zhí)行,它們進(jìn)行“計(jì)算”和“I/O操作”的時(shí)間如表1-2所示,假設(shè)三道程序使用相同的I/O設(shè)備。表1-2 三道程序的操作時(shí)間(1) 試畫出單道運(yùn)行時(shí)三道程序的時(shí)間關(guān)系圖,并計(jì)算完成三道程序要花多少時(shí)間??倳r(shí)間=20+30+10+30+50+20+10+20+10=200(2) 試畫出多道運(yùn)行時(shí)三道程序的時(shí)間關(guān)系圖,并計(jì)算完成三道程序要花多長(zhǎng)時(shí)間??倳r(shí)間=1301

6、0.將下列左右兩列詞連接起來形成意義最恰當(dāng)?shù)?對(duì)。11.選擇一個(gè)現(xiàn)代操作系統(tǒng),查找和閱讀相關(guān)的技術(shù)資料,寫一篇該操作系統(tǒng)如何運(yùn)行內(nèi)存管理、存儲(chǔ)管理、設(shè)備管理和文件管理的文章。習(xí)題二1 操作系統(tǒng)中為什么要引入進(jìn)程的概念?為了實(shí)現(xiàn)并發(fā)進(jìn)程之間的合作和協(xié)調(diào),以及保證系統(tǒng)的安全,操作系統(tǒng)在進(jìn)程管理方面要做哪些工作?答:(1)為了從變化的角度動(dòng)態(tài)地分析研究可以并發(fā)執(zhí)行的程序,真實(shí)地反應(yīng)系統(tǒng)的獨(dú)立性、并發(fā)性、動(dòng)態(tài)性和相互制約,操作系統(tǒng)中就不得不引入“進(jìn)程”的概念; (2)為了防止操作系統(tǒng)及其關(guān)鍵的數(shù)據(jù)結(jié)構(gòu),受到用戶程序有意或無意的破壞,通常將處理機(jī)的執(zhí)行狀態(tài)分成核心態(tài)和用戶態(tài);對(duì)系統(tǒng)中的全部進(jìn)程實(shí)行有效地

7、管理,其主要表現(xiàn)是對(duì)一個(gè)進(jìn)程進(jìn)行創(chuàng)建、撤銷以及在某些進(jìn)程狀態(tài)之間的轉(zhuǎn)換控制,2 試描述當(dāng)前正在運(yùn)行的進(jìn)程狀態(tài)改變時(shí),操作系統(tǒng)進(jìn)行進(jìn)程切換的步驟。答:(1)就緒狀態(tài)運(yùn)行狀態(tài)。處于就緒狀態(tài)的進(jìn)程,具備了運(yùn)行的條件,但由于未能獲得處理機(jī),故沒有運(yùn)行。(2)運(yùn)行狀態(tài)就緒狀態(tài)。正在運(yùn)行的進(jìn)程,由于規(guī)定的時(shí)間片用完而被暫停執(zhí)行,該進(jìn)程就會(huì)從運(yùn)行狀態(tài)轉(zhuǎn)變?yōu)榫途w狀態(tài)。(3)運(yùn)行狀態(tài)阻塞狀態(tài)。處于運(yùn)行狀態(tài)的進(jìn)程,除了因?yàn)闀r(shí)間片用完而暫停執(zhí)行外還有可能由于系統(tǒng)中的其他因素的影響而不能繼續(xù)執(zhí)行下去。3 現(xiàn)代操作系統(tǒng)一般都提供多任務(wù)的環(huán)境,試回答以下問題。(1) 為支持多進(jìn)程的并發(fā)執(zhí)行,系統(tǒng)必須建立哪些關(guān)于進(jìn)程的數(shù)據(jù)

8、結(jié)構(gòu)?答:為支持進(jìn)程的并發(fā)執(zhí)行,系統(tǒng)必須建立“進(jìn)程控制塊(PCB)”,PCB的組織方式常用的是鏈接方式。(2) 為支持進(jìn)程的狀態(tài)變遷,系統(tǒng)至少應(yīng)該供哪些進(jìn)程控制原語(yǔ)?答:進(jìn)程的阻塞與喚醒原語(yǔ)和進(jìn)程的掛起與激活原語(yǔ)。(3) 當(dāng)進(jìn)程的狀態(tài)變遷時(shí),相應(yīng)的數(shù)據(jù)結(jié)構(gòu)發(fā)生變化嗎?答:創(chuàng)建原語(yǔ):建立進(jìn)程的PCB,并將進(jìn)程投入就緒隊(duì)列。; 撤銷原語(yǔ):刪除進(jìn)程的PCB,并將進(jìn)程在其隊(duì)列中摘除; 阻塞原語(yǔ):將進(jìn)程PCB中進(jìn)程的狀態(tài)從運(yùn)行狀態(tài)改為阻塞狀態(tài),并將進(jìn)程投入阻塞隊(duì)列; 喚醒原語(yǔ):將進(jìn)程PCB中進(jìn)程的狀態(tài)從阻塞狀態(tài)改為就緒狀態(tài),并將進(jìn)程從則色隊(duì)列摘下,投入到就緒隊(duì)列中。4. 什么是進(jìn)程控制塊?從進(jìn)程管理、中

9、斷處理、進(jìn)程通信、文件管理、設(shè)備管理 及存儲(chǔ)管理的角度設(shè)計(jì)進(jìn)程控制塊應(yīng)該包含的內(nèi)容。答:(1)進(jìn)程控制塊是用來描述進(jìn)程本身的特性、進(jìn)程的狀態(tài)、進(jìn)程的調(diào)度信息及對(duì)資源的占有情況等的一個(gè)數(shù)據(jù)結(jié)構(gòu);(2)為了進(jìn)程管理,進(jìn)程控制塊包括以下幾方面。a) 進(jìn)程的描述信息,包括進(jìn)程標(biāo)識(shí)符、進(jìn)程名等。b) 進(jìn)程的當(dāng)前狀況。c) 當(dāng)前隊(duì)列鏈接指針。d) 進(jìn)程的家族關(guān)系。為了中斷處理,進(jìn)程控制塊的內(nèi)容應(yīng)該包括處理機(jī)狀態(tài)信息和各種寄存器的內(nèi)容。為了內(nèi)存管理的需要,進(jìn)程控制塊的內(nèi)容應(yīng)該包括進(jìn)程使用的信號(hào)量、消息隊(duì)列指針等。為了設(shè)備管理,進(jìn)程控制塊的內(nèi)容應(yīng)該包括進(jìn)程占有資源的情況。5 假設(shè)系統(tǒng)就緒隊(duì)列中有10個(gè)進(jìn)程,這

10、10個(gè)進(jìn)程輪換執(zhí)行,每隔300ms輪換一次,CPU在進(jìn)程切換時(shí)所花費(fèi)的時(shí)間是10ms,試問系統(tǒng)化在進(jìn)程切換上的開銷占系統(tǒng)整個(gè)時(shí)間的比例是多少?答:因?yàn)槊扛?00ms換一次進(jìn)程,且每個(gè)進(jìn)程切換時(shí)所花費(fèi)的時(shí)間是10ms,則系統(tǒng)化在進(jìn)程切換上的開銷占系統(tǒng)整個(gè)時(shí)間的比例是10/(300+10)=3.2%6 試述線程的特點(diǎn)及其與進(jìn)程之間的關(guān)系。答:(1)特點(diǎn):線程之間的通信要比進(jìn)程之間的通信方便的多;同一進(jìn)程內(nèi)的線程切換也因?yàn)榫€程的輕裝而方便的多。同時(shí)線程也是被獨(dú)立調(diào)度的分配的;(2)線程與進(jìn)程的關(guān)系:線程和進(jìn)程是兩個(gè)密切相關(guān)的概念,一個(gè)進(jìn)程至少擁有一個(gè)線程,進(jìn)程根據(jù)需要可以創(chuàng)建若干個(gè)線程。線程自己基本

11、上不擁有資源,只擁有少量必不可少的資源(線程控制塊和堆棧)7 根據(jù)圖2-18,回答以下問題。(1) 進(jìn)程發(fā)生狀態(tài)變遷1、3、4、6、7的原因。答:1表示操作系統(tǒng)把處于創(chuàng)建狀態(tài)的進(jìn)程移入就緒隊(duì)列;3表示進(jìn)程請(qǐng)求I/O或等待某事件;4表示進(jìn)程用行的時(shí)間片用完;6表示I/O完成或事件完成;7表示進(jìn)程完成。(2) 系統(tǒng)中常常由于某一進(jìn)程的狀態(tài)變遷引起另一進(jìn)程也產(chǎn)生狀態(tài)變遷,這種變遷稱為因果變遷。下述變遷是否為因果變遷:32,45,72,36,是說明原因。答:32是因果變遷,當(dāng)一個(gè)進(jìn)程從運(yùn)行態(tài)變?yōu)樽枞麘B(tài)時(shí),此時(shí)CPU空閑,系統(tǒng)首先到高優(yōu)先級(jí)隊(duì)列中選擇一個(gè)進(jìn)程。45是因果變遷,當(dāng)一個(gè)進(jìn)程運(yùn)行完畢時(shí),此時(shí)C

12、PU空閑,系統(tǒng)首先到高優(yōu)先級(jí)隊(duì)列中選擇進(jìn)程,但如果高優(yōu)先級(jí)隊(duì)列為空,則從低優(yōu)先隊(duì)列中選擇一個(gè)進(jìn)程。72 是因果變遷,當(dāng)一個(gè)進(jìn)程運(yùn)行完畢時(shí),CPU空閑,系統(tǒng)首先到高優(yōu)先級(jí)隊(duì)列中選擇一個(gè)進(jìn)程。36不是因果變遷。一個(gè)進(jìn)程阻塞時(shí)由于自身的原因而發(fā)生的,和另一個(gè)進(jìn)程等待的時(shí)間到達(dá)沒有因果關(guān)系。(3) 根據(jù)此進(jìn)程狀態(tài)轉(zhuǎn)換圖,說明該系統(tǒng)CPU調(diào)度的策略和效果。答:當(dāng)進(jìn)程調(diào)度時(shí),首先從高優(yōu)先級(jí)就緒隊(duì)列選擇一個(gè)進(jìn)程,賦予它的時(shí)間片為100ms。如果高優(yōu)先級(jí)就緒隊(duì)列為空,則從低優(yōu)先級(jí)就緒隊(duì)列選擇進(jìn)程,并且賦予該進(jìn)程的時(shí)間片為500ms。這種策略一方面照顧了短進(jìn)程,一個(gè)進(jìn)程如果在100ms運(yùn)行完畢它將退出系統(tǒng),更主

13、要的是照顧了I/O量大的進(jìn)程,進(jìn)程因I/O進(jìn)入阻塞隊(duì)列,當(dāng)I/O完成后它就進(jìn)入了高優(yōu)先級(jí)就緒隊(duì)列,在高優(yōu)先級(jí)就緒隊(duì)列等待的進(jìn)程總是優(yōu)于低優(yōu)先級(jí)就緒隊(duì)列的進(jìn)程。而對(duì)于計(jì)算量較大的進(jìn)程,它的計(jì)算如果在100ms的時(shí)間內(nèi)不能完成,它將進(jìn)入低優(yōu)先級(jí)就緒隊(duì)列,在這個(gè)隊(duì)列的進(jìn)程被選中的機(jī)會(huì)要少,只有當(dāng)高優(yōu)先級(jí)就緒隊(duì)列為空,才從低優(yōu)先級(jí)就緒隊(duì)列選擇進(jìn)程,但對(duì)于計(jì)算量大的進(jìn)程,系統(tǒng)給予的適當(dāng)照顧時(shí)間片增大為500ms。 8 回答以下問題。(1) 若系統(tǒng)中沒有運(yùn)行進(jìn)程,是否一定沒有就緒進(jìn)程?為什么?答:是,因?yàn)楫?dāng)CPU空閑時(shí),系統(tǒng)就會(huì)在就緒隊(duì)列里調(diào)度進(jìn)程,只有當(dāng)就緒隊(duì)列為空時(shí),系統(tǒng)中才沒有運(yùn)行程序。(2) 若系

14、統(tǒng)中既沒有運(yùn)行進(jìn)程,也沒有就緒進(jìn)程,系統(tǒng)中是否就沒有阻塞進(jìn)程?解釋。答:不一定,當(dāng)運(yùn)行的程序都因?yàn)檎?qǐng)求I/O或等待事件時(shí)而進(jìn)入阻塞,系統(tǒng)中就沒有就緒進(jìn)程。(3) 如果系統(tǒng)采用優(yōu)先級(jí)調(diào)度策略,運(yùn)行的進(jìn)程是否一定是系統(tǒng)中優(yōu)先級(jí)最高的進(jìn)程?為什么?答:不一定,若優(yōu)先級(jí)高的進(jìn)程進(jìn)入阻塞狀態(tài)時(shí),而且優(yōu)先級(jí)高的就緒隊(duì)列里沒有等待的進(jìn)程,這時(shí)就會(huì)調(diào)度優(yōu)先級(jí)低的就緒隊(duì)列的進(jìn)程。9 假如有以下程序段,回答下面的問題。S1: a=3-x;S2: b=2*a;S3: c=5+a;(1) 并發(fā)程序執(zhí)行的Bernstein 條件是什么?答:若P1與P2R并發(fā)執(zhí)行,當(dāng)且僅當(dāng)R(P1)W(P2)R(P2)W(P1)W(P1

15、)W(P2)=時(shí)才滿足。(2) 試畫圖表示它們執(zhí)行時(shí)的先后次序。(3) 利用Bernstein 條件證明,S1、S2和S3哪兩個(gè)可以并發(fā)執(zhí)行,哪兩個(gè)不能。答:R(s1)=x,W(s1)=a;R(s2)=a,W(s2)=b;R(s3)=a,W(s3)=c;(1).R(s1)W(s2)R(s2)W(s1)W(s1)W(s2)=a,則s1與s2不能并發(fā)執(zhí)行;(2). R(s1)W(s3)R(s3)W(s1)W(s1)W(s3)=a,則s1與s3不能并發(fā)執(zhí)行;(3). R(s2)W(s3)R(s3)W(s2)W(s2)W(s3)=,則s2與s3可以并發(fā)執(zhí)行。習(xí)題三1 一下進(jìn)程之間存在相互制約關(guān)系嗎?若

16、存在,是什么制約關(guān)系?為什么?(1) 幾個(gè)同學(xué)去圖書館借同一本書。答:互斥關(guān)系;因?yàn)樗麄円柰槐緯豢赡芡瑫r(shí)借到,所以互斥。(2) 籃球比賽中兩隊(duì)同學(xué)爭(zhēng)搶籃板球。答:互斥關(guān)系;因?yàn)闋?zhēng)搶同一個(gè)籃板,存在互斥關(guān)系。(3) 果汁流水線生產(chǎn)中搗碎、消毒、灌裝、裝箱等各道工序。答:同步關(guān)系;他們必須相互協(xié)作才能使進(jìn)程圓滿完成。(4) 商品的入庫(kù)出庫(kù)。答:同步關(guān)系;因?yàn)樯唐烦鰩?kù)可以為入庫(kù)提供空間。(5) 工人做工與農(nóng)民種糧。答:沒有制約關(guān)系。2 在操作系統(tǒng)中引入管程的目的是什么?條件變量的作用是什么?答:用信號(hào)量可以實(shí)現(xiàn)進(jìn)程的同步于互斥,但要設(shè)置許多信號(hào)量,使用大量的P、V操作,而且還要仔細(xì)安排P操作

17、的排列次序,否則將會(huì)出現(xiàn)錯(cuò)誤的結(jié)果或是死鎖現(xiàn)象。為了解決這些問題引進(jìn)了管程;條件變量的作用是使進(jìn)程不僅能被掛起,而且當(dāng)條件滿足且管程再次可用時(shí),可以恢復(fù)該進(jìn)程并允許它在掛起點(diǎn)重新進(jìn)入管程。3 說明P、V操作為什么要設(shè)計(jì)成原語(yǔ)。答: 用信號(hào)量S表示共享資源,其初值為1表示有一個(gè)資源。設(shè)有兩個(gè)進(jìn)程申請(qǐng)?jiān)撡Y源,若其中一個(gè)進(jìn)程先執(zhí)行P操作。P操作中的減1操作有3跳及其指令組成:去S送寄存器R;R-1送S。若P操作不用原語(yǔ)實(shí)現(xiàn),在執(zhí)行了前述三條指令中的2條,即還未執(zhí)行R送S時(shí)(此時(shí)S值仍為1),進(jìn)程被剝奪CPU,另一個(gè)進(jìn)程執(zhí)行也要執(zhí)行P操作,執(zhí)行后S的值為0,導(dǎo)致信號(hào)量的值錯(cuò)誤。正確的結(jié)果是兩個(gè)進(jìn)程執(zhí)行

18、完P(guān)操作后,信號(hào)量S的值為-1,進(jìn)程阻塞。4 設(shè)有一個(gè)售票大廳,可容納200人購(gòu)票。如果廳內(nèi)不足200人則允許進(jìn)入,超過則在廳外等候;售票員某時(shí)只能給一個(gè)購(gòu)票者服務(wù),購(gòu)票者買完票后就離開。試問:(1) 購(gòu)票者之間是同步關(guān)系還是互斥關(guān)系?答:互斥關(guān)系。(2) 用P、V操作描述購(gòu)票者的工作過程。 semaphore empty=200;semaphore mutex=1;semaphore waiting=0;void buy() p(waiting);p(mutex);買票;v(mutex);v(empty);void waiting()p(empty);等待;waiting+;5 進(jìn)程之間的關(guān)

19、系如圖3-16所示,試用P、V操作描述它們之間的同步。semaphore A,B,C,D,E,F,G=0;S1,V(A),V(B);P(A),S2,V(C);P(B),S3,V(D),V(E);P(D),S4,V(F);P(E),S5,V(G);P(C),P(F),P(G),S6;6 有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è)消息,用P、V操作描述四個(gè)進(jìn)程存取消息的情況。答:semaphore p1=0;semaphore p2,p3,p4=1;

20、semaphore cout=0;semaphore mutex=1;void main()P(p2);P(p3);P(4);V(cout);write p1()P(p1);P(metux);P(cout);存入消息;V(p1);V(metux);Read p2() P(mutex);P(p1);讀消息;V(p1);V(p2);V(metux); Read p3() P(mutex);P(p1);讀消息;V(p1);V(p3);V(metux);Read p4() P(mutex);P(p1);讀消息;V(p1);V(p4); V(metux);7 分析生產(chǎn)者消費(fèi)者問題中多個(gè)P操作顛倒引起的后

21、果。答:semaphore mutex=1; semaphore empty=n; semaphore full=0; int i,j;ITEM buffern;ITEM data_p,data_c;void producer()/*生產(chǎn)者進(jìn)程*/ void consumer() /*消費(fèi)者進(jìn)程*/while(true) while(true) P(mutex) ; P(mutex); P(full); P(empty); data_c=bufferj; bufferi=data_p; j=(j+1)%n; i=(i+1)%n; V(mutex); V(mutex); V(empty); V(

22、full); 若把生產(chǎn)者進(jìn)程的P操作顛倒,消費(fèi)者進(jìn)程的P操作顛倒(如圖),則生產(chǎn)者進(jìn)程執(zhí)行到V(mutex)時(shí),消費(fèi)者就可以執(zhí)行P(mutex) 但由于full=0,消費(fèi)者進(jìn)程不可執(zhí)行P(full);當(dāng)生產(chǎn)者進(jìn)程執(zhí)行完V(full)后,full=1,但由于mutex=0,消費(fèi)者進(jìn)程無法執(zhí)行,造成死鎖。8 讀者寫者問題中寫者優(yōu)先的實(shí)現(xiàn)。答: semaphore Wmutex,Rmutex=1;int Rcount=0;semaphore mutex=1void reader() /*讀者進(jìn)程*/while(true)P(mutex); P(Rmutex); If(Rcount=0) P(wmut

23、ex); Rcount=Rcount+1 ;V(Rmutex);V(mutex); read;/*執(zhí)行讀操作*/ ;P(Rmutex);Rcount=Rcount-1;if (Rcount=0) V(wmutex);V(Rmutex);void writer() /*寫者進(jìn)程*/while(true)P(mutex); P(wmutex);;write;/*執(zhí)行寫操作*/;V(Wmutex); V(mutex);9 寫一個(gè)用信號(hào)量解決哲學(xué)家進(jìn)餐問題不產(chǎn)生鎖死的算法。semaphore chopstick5=1,1,1,1,1;semaphore mutex=1;void philosopher

24、 ()while(true)P(mutex); P(chopsticki); P(chopstick(i+1)%5); V(mutex); ; eat; ; V(chopsticki); V(chopstick(i+1)%5);think;;10 一個(gè)文件可有若干個(gè)不同的進(jìn)程所共享,每個(gè)進(jìn)程具有唯一的編號(hào)。假定文件可由滿足下列限制的若干個(gè)不同的進(jìn)程同時(shí)訪問,并發(fā)訪問該文件的哪些進(jìn)程的編號(hào)的總和不得大于n,設(shè)計(jì)一個(gè)協(xié)調(diào)對(duì)該文件訪問的管程。答:11 用管程解決讀者寫者問題,并采用公平原則。答:習(xí)題四1 某進(jìn)程被喚醒后立刻投入運(yùn)行,能說明該系統(tǒng)采用的是可剝奪調(diào)度算法嗎?答:不能說明,因?yàn)槿绻F(xiàn)在就緒

25、隊(duì)列中沒有進(jìn)程,那么喚醒的進(jìn)程會(huì)立刻投入運(yùn)行。2 在哲學(xué)家進(jìn)餐問題中,如果將先拿起左邊筷子的哲學(xué)家稱為左撇子,先拿起右邊筷子的哲學(xué)家稱為右撇子。請(qǐng)說明在同時(shí)存在左、右撇子的情況下,任何的就坐安排都不能產(chǎn)生鎖死。答:任何的就坐安排都不會(huì)構(gòu)成環(huán)路,這就符合避免死鎖的條件,所以不會(huì)產(chǎn)生死鎖。3 系統(tǒng)中有5個(gè)資源被4個(gè)進(jìn)程所共享,如果每個(gè)進(jìn)程最多需要2個(gè)這種資源,試問系統(tǒng)是否會(huì)產(chǎn)生鎖死?答:不會(huì)產(chǎn)生死鎖;因?yàn)橐驗(yàn)橘Y源數(shù)可以滿足進(jìn)程的需要,當(dāng)其中的一個(gè)進(jìn)程爭(zhēng)取到剩下的一個(gè)資源可以執(zhí)行,當(dāng)執(zhí)行完成以后會(huì)釋放資源,供其他進(jìn)程使用,所以不會(huì)產(chǎn)生死鎖。4 計(jì)算機(jī)系統(tǒng)有8臺(tái)磁帶機(jī),由N個(gè)進(jìn)程競(jìng)爭(zhēng)使用,每個(gè)進(jìn)程最多

26、需要3臺(tái)。問:N為多少時(shí),系統(tǒng)沒有死鎖的危險(xiǎn)?答:當(dāng)n為1、2、3時(shí),沒有死鎖的危險(xiǎn);因?yàn)楫?dāng)n小于3時(shí),每個(gè)進(jìn)程分配2臺(tái)磁帶機(jī),還有磁帶機(jī)剩余,那么當(dāng)其中的一個(gè)進(jìn)程得到剩余的磁帶機(jī)則可運(yùn)行,運(yùn)行結(jié)束后會(huì)釋放磁帶機(jī),供其他進(jìn)程使用,系統(tǒng)不會(huì)有死鎖的危險(xiǎn);當(dāng)n為4時(shí),每臺(tái)分配2臺(tái)時(shí)沒有剩余,則會(huì)產(chǎn)生死鎖,當(dāng)大于5時(shí)同樣會(huì)死鎖。5 系統(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)程情況進(jìn)程名到達(dá)時(shí)間服務(wù)時(shí)間A03B26C44D65E82若按先來先服務(wù)(FCFS)、時(shí)間片輪法(時(shí)間片q=1)、短進(jìn)程優(yōu)

27、先(SPN)、最短剩余時(shí)間優(yōu)先(SRT,時(shí)間片q=1)、響應(yīng)比高者優(yōu)先(HRRN)及多級(jí)反饋隊(duì)列(MFQ,第一個(gè)隊(duì)列的時(shí)間片為1,第i(i>1)個(gè)隊(duì)列的時(shí)間片q=2(i-1)算法進(jìn)行CPU調(diào)度,請(qǐng)給出各個(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資源的數(shù)量是17,B資源的數(shù)量是5,C資源的數(shù)量是20,T0時(shí)刻系統(tǒng)狀態(tài)如表4-9所示。 表4-9 T0時(shí)刻系統(tǒng)狀態(tài)進(jìn)程已分配資源數(shù)量最大資源需求量仍然需求資源數(shù)ABCABCABCP1212559347P24025

28、36134P34054011006P4204425221P5314424110(1) 計(jì)算每個(gè)進(jìn)程還可能需要的資源,并填入表的“仍然需要資源數(shù)”的欄目。(2) T0時(shí)刻系統(tǒng)是否處于安全狀態(tài)?為什么?答:處于安全狀態(tài),因?yàn)樾蛄?lt;p4,p2,p3,p5,p1>是一個(gè)安全狀態(tài)。(3) 如果T0時(shí)刻進(jìn)程P2又有新的資源請(qǐng)求(0,3,4),是否實(shí)施資源分配?為什么?答:不實(shí)施資源分配,因?yàn)閷⑺匈Y源都分配給p2時(shí),p2的C是5,不能夠運(yùn)行,進(jìn)入死鎖。(4) 如果T0時(shí)刻,若進(jìn)程P4又有新的資源請(qǐng)求(2,0,1),是否實(shí)施資源分配?為什么?答:實(shí)施;因?yàn)閜4請(qǐng)求資源后,存在安全狀態(tài)。(5) 在

29、(4)的基礎(chǔ)上,若進(jìn)程P1又有新的資源請(qǐng)求(0,2,0),是否實(shí)施資源分配?為什么?答:不實(shí)施;習(xí)題五1 存儲(chǔ)管理的基本任務(wù)是為多道程序的并發(fā)執(zhí)行提供良好的存儲(chǔ)環(huán)境,這包括哪些方面?答:存儲(chǔ)管理的基本任務(wù)是為多道程序的并發(fā)執(zhí)行提供良好的存儲(chǔ)器環(huán)境,它包括以下幾個(gè)方面。 (1)能讓沒到程序“各得其所”,并在不受干擾的環(huán)境中運(yùn)行時(shí),還可以使用戶從存儲(chǔ)空間的分配、保護(hù)等事物中解脫出來。 (2)向用戶提供更大的存儲(chǔ)空間,使更多的程序同時(shí)投入運(yùn)行或是更大的程序能在小的內(nèi)存中運(yùn)行。 (3)為用戶對(duì)信息的訪問、保護(hù)、共享以及程序的動(dòng)態(tài)鏈接、動(dòng)態(tài)增長(zhǎng)提供方便。 (4)能使存儲(chǔ)器有較高的利用率。2 頁(yè)式存儲(chǔ)管理

30、系統(tǒng)是否產(chǎn)生碎片?如何應(yīng)對(duì)此現(xiàn)象?答:頁(yè)式存儲(chǔ)管理系統(tǒng)產(chǎn)生的碎片,稱為內(nèi)碎片,它是指一個(gè)進(jìn)程的最后一頁(yè)沒有沾滿一個(gè)存儲(chǔ)塊而被浪費(fèi)的存儲(chǔ)空間。減少內(nèi)碎片的辦法是減少頁(yè)的大小。3 在頁(yè)式存儲(chǔ)管理系統(tǒng)中頁(yè)表的功能是什么?當(dāng)系統(tǒng)的地址空間很大時(shí)會(huì)給頁(yè)表的設(shè)計(jì)帶來哪些新的問題?答:頁(yè)式存儲(chǔ)管理系統(tǒng)中,允許將進(jìn)程的每一頁(yè)離散地存儲(chǔ)在內(nèi)出的任何一個(gè)物理頁(yè)面上,為保證進(jìn)程的正常運(yùn)行,系統(tǒng)建立了頁(yè)表,記錄了進(jìn)程每一頁(yè)被分配在內(nèi)存的物理號(hào)。頁(yè)表的功能是實(shí)現(xiàn)從頁(yè)號(hào)到物理塊的地址映射; 當(dāng)系統(tǒng)地址很大時(shí),頁(yè)表也會(huì)變得非常大,它將占有相當(dāng)大的內(nèi)存空間。4 什么是動(dòng)態(tài)鏈接?用哪種存儲(chǔ)管理方案可以實(shí)現(xiàn)動(dòng)態(tài)鏈接?答:動(dòng)態(tài)鏈接

31、是指進(jìn)程在運(yùn)行時(shí),只將進(jìn)程對(duì)應(yīng)的主程序段裝入內(nèi)存,并與主程序段鏈接上。通常一個(gè)大的程序是由一個(gè)主程序和若干個(gè)子程序以及一些數(shù)據(jù)段組成。而段式存儲(chǔ)管理方案中的段就是按用戶的邏輯段自然形成的,因此可實(shí)現(xiàn)動(dòng)態(tài)鏈接。5 某進(jìn)程的大小為25F3H字節(jié),被分配到內(nèi)存的3A6BH字節(jié)開始的地址。但進(jìn)程運(yùn)行時(shí),若使用上、下界寄存器,寄存器的值是多少?如何進(jìn)行存儲(chǔ)保護(hù)?若使用地址、限長(zhǎng)寄存器,寄存器的值是多少?如何進(jìn)行存儲(chǔ)保護(hù)?答:(1)若使用上下界寄存器,上界寄存器的值是3A6BH,下界寄存器的值是3A6BH+25F3H=605EH,當(dāng)訪問內(nèi)存的地址大于605EH、小于3A6BH時(shí)產(chǎn)生越界中斷。 (2) 若使

32、用地址、限長(zhǎng)寄存器,地址寄存器的值是3A6BH,限長(zhǎng)寄存器的值是25F3H,當(dāng)訪問內(nèi)存的地址小于3A6BH,超過3A6BH+25F3H=605EH時(shí)產(chǎn)生越界中斷。6 在系統(tǒng)中采用可變分區(qū)存儲(chǔ)管理,操作系統(tǒng)占用低地址部分的126KB,用戶區(qū)的大小是386KB,采用空閑分區(qū)表管理空閑分區(qū)。若分配時(shí)從高地址開始,對(duì)于下述的作業(yè)申請(qǐng)序列:作業(yè)1申請(qǐng)80KB;作業(yè)2申請(qǐng)56KB;作業(yè)3申請(qǐng)120KB;作業(yè)1完成;作業(yè)3完成;作業(yè)4申請(qǐng)156KB;作業(yè)5申請(qǐng)80KB。使用首次適應(yīng)法處理上述作業(yè),并回答以下問題。(1) 畫出作業(yè)1、2、3進(jìn)入內(nèi)存后,內(nèi)存的分布情況。答:(2) 畫出作業(yè)1、3完成后,內(nèi)存的分

33、布情況。答:(3) 畫出作業(yè)4、5進(jìn)入內(nèi)存后,內(nèi)存的分布情況。答7 某系統(tǒng)采用頁(yè)式存儲(chǔ)管理策略,某進(jìn)程的邏輯地址空間為32頁(yè),頁(yè)的大小為2KB,物理地址空間的大小是4MB。(1) 寫出邏輯地址的格式。(2) 該進(jìn)程的頁(yè)表有多少項(xiàng)?每項(xiàng)至少占多少位?答:因?yàn)檫M(jìn)程的邏輯地址空間為32頁(yè),因此該進(jìn)程的頁(yè)表項(xiàng)有32項(xiàng)。頁(yè)表中應(yīng)存儲(chǔ)每頁(yè)的塊號(hào)。因?yàn)槲锢淼刂房臻g大小是4MB,4MB的物理地址空間內(nèi)分成4MB/2KB=2K個(gè)塊,因此塊號(hào)部分需要11位(二進(jìn)制),所以頁(yè)表中每項(xiàng)占11位。(3) 如果物理地址空間減少一半,頁(yè)表的結(jié)構(gòu)有何變化?答:當(dāng)減少一半時(shí),有2MB/2KB=1K個(gè)塊,因此塊號(hào)部分需要10位(

34、二進(jìn)制),所以頁(yè)表中每項(xiàng)占10位。8 某頁(yè)式存儲(chǔ)管理系統(tǒng),內(nèi)存的大小為64KB,被分為16塊,塊號(hào)為0、1、2、15。設(shè)某進(jìn)程有4頁(yè),其頁(yè)號(hào)為0、1、2、3,被分別裝入內(nèi)存的2、4、7、5,問:(1) 該進(jìn)程的大小是多少字節(jié)?答:總共64KB,16頁(yè),則每頁(yè)有4KB。該進(jìn)程有四頁(yè),則進(jìn)程的大小為16KB。(2) 寫出該進(jìn)程每一頁(yè)在內(nèi)存的起始地址。答:(3) 邏輯地址4146對(duì)應(yīng)的物理地址是多少?答:4146除以4096得1余50,這頁(yè)號(hào)為1,頁(yè)內(nèi)位移為50;1對(duì)應(yīng)于4,這物理地址為4*4096+50=16434b。9 某段式存儲(chǔ)管理系統(tǒng)的段表如圖所示。 請(qǐng)將邏輯地址0,137、1,9000、2

35、,3600、3,230轉(zhuǎn)換成物理地址。答:0,137:40*1024+137=41097B1,9000:80*1024+9000=90920B2,3600:100*1024+3600=106000B3,230不合法習(xí)題七1 數(shù)據(jù)傳輸控制方式有哪幾種?試比較它們的優(yōu)缺點(diǎn)。答:數(shù)據(jù)轉(zhuǎn)送控制方式有程序直接控制方式、中斷控制方式、DMA控制方式和通道方式四種。 程序直接控制方式:優(yōu)點(diǎn):實(shí)現(xiàn)簡(jiǎn)單,不需要硬件的支持; 缺點(diǎn):(1).CPU與外設(shè)只能串行工作;(2).CPU在一段時(shí)間內(nèi)只能與一臺(tái)外設(shè)交換數(shù)據(jù)信息;(3).由于程序直接控制方式是依靠測(cè)試設(shè)備的狀態(tài)來控制數(shù)據(jù)傳遞的,因此無法發(fā)現(xiàn)和處理由于設(shè)備和其

36、他硬件所產(chǎn)生的錯(cuò)誤。中斷控制方式:優(yōu)點(diǎn):提高了CPU的利用率;缺點(diǎn):(1).在進(jìn)程傳送數(shù)據(jù)的過程中,發(fā)生中斷的次數(shù)可能很多,這將消耗CPU大量處理時(shí)間;(2).計(jì)算機(jī)中通常配置各種各樣的外設(shè),如果這些外設(shè)都通過中斷的方式進(jìn)行數(shù)據(jù)傳遞,由于中斷次數(shù)過多將使CPU無法及時(shí)響應(yīng)中斷,造成數(shù)據(jù)丟失。DMA控制方式:優(yōu)點(diǎn):(1).數(shù)據(jù)傳輸?shù)幕締挝粸閿?shù)據(jù)塊;(2).緊在開始和結(jié)束才需要CPU干預(yù),整塊數(shù)據(jù)的傳送是在控制器的控制之下完成的;(3).所傳送的數(shù)據(jù)是從設(shè)備直接到內(nèi)存或者從內(nèi)存直接到設(shè)備。通道方式:優(yōu)點(diǎn):把對(duì)一個(gè)數(shù)據(jù)塊的讀(寫)干預(yù)減少到對(duì)一組數(shù)據(jù)塊的讀(寫)干預(yù);2 何為設(shè)備的獨(dú)立性?如何實(shí)現(xiàn)

37、設(shè)備的獨(dú)立性?答:設(shè)備獨(dú)立性是指用戶程序獨(dú)立于具體使用的物理設(shè)備;此時(shí),用戶使用邏輯設(shè)備名申請(qǐng)使用某列物理設(shè)備。當(dāng)系統(tǒng)中有多臺(tái)該烈性的設(shè)備是,系統(tǒng)可將其中的任意一臺(tái)分配給請(qǐng)求進(jìn)程,而不局限于某一臺(tái)制定的設(shè)備。這樣,可顯著的改善資源的利用率即可使用性。設(shè)備獨(dú)立使用用戶獨(dú)立于設(shè)備的烈性。如進(jìn)行輸出時(shí),亦可以使用現(xiàn)實(shí)終端,也可以使用打印機(jī)。有了這種獨(dú)立性,就可以很方便的進(jìn)行輸入/輸出重定向。3 什么是緩沖?為什么要引入緩沖?操作系統(tǒng)如何實(shí)現(xiàn)緩沖技術(shù)?答:緩沖是在兩個(gè)不同速度設(shè)備之間傳輸信息時(shí),用于平滑傳輸過程的一種手段。 (1)換屆CPU與I/O設(shè)備之間的速度不匹配的矛盾。 (2)減少中斷CPU的次

38、數(shù)。 (3)提高CPU與I/O設(shè)備之間的并行性。4 設(shè)備分配中為什么可能出現(xiàn)死鎖?答:安全分配方式:在某些操作系統(tǒng)中,一個(gè)進(jìn)程只能提供一個(gè)I/O請(qǐng)求。也就是說,執(zhí)行進(jìn)程向系統(tǒng)提出I/O請(qǐng)求后邊立即進(jìn)入等待狀態(tài),直到I/O請(qǐng)求完成后才被喚醒。這樣系統(tǒng)對(duì)設(shè)備的分配比較安全,不會(huì)出現(xiàn)死鎖。但這種方式對(duì)進(jìn)程來說,因CPU與I/O設(shè)備是串行工作的,這使得該進(jìn)程的推進(jìn)速度緩慢;不安全分配方式:當(dāng)進(jìn)程發(fā)出I/O請(qǐng)求后不阻塞,而是繼續(xù)運(yùn)行,當(dāng)需要時(shí)有可能接著發(fā)出第二個(gè)、第三個(gè)I/O請(qǐng)求,僅當(dāng)進(jìn)程所請(qǐng)求的I/O設(shè)備已被另一個(gè)進(jìn)程占用時(shí),進(jìn)程才進(jìn)入等待狀態(tài)。這種一個(gè)進(jìn)程同時(shí)可以使用多個(gè)I/O設(shè)備的方式提高了系統(tǒng)的

39、資源利用率,但也帶來了一種危險(xiǎn),即如果兩個(gè)進(jìn)程都提出請(qǐng)求使用對(duì)方占有的I/O設(shè)備時(shí),就會(huì)出現(xiàn)死鎖。5 以打印機(jī)為例說明SPOOLing技術(shù)的工作原理。答:當(dāng)用戶進(jìn)程請(qǐng)求打印輸出時(shí),操作系統(tǒng)接受用戶的打印請(qǐng)求,但并不真正把打印機(jī)分配給該用戶進(jìn)程,而是為進(jìn)程再次在輸出井中分配一空閑塊區(qū),并將要打印的數(shù)據(jù)送入其中,同時(shí)還為用戶進(jìn)程申請(qǐng)一張用戶請(qǐng)求打印表,將用戶的打印要求填入其中,再將該表掛在請(qǐng)求打印隊(duì)列上。如果還有進(jìn)程要求打印輸出,系統(tǒng)仍可以接受請(qǐng)求,也可以完成上述操作。6 假設(shè)一個(gè)磁盤有200個(gè)柱面,編號(hào)為0199,當(dāng)前存取臂的位置是在143號(hào)柱面上,并剛剛完成了125號(hào)柱面的服務(wù)請(qǐng)求,如果存在下

40、列請(qǐng)求序列:86、147、91、177、94、150、102、175、130,試問:為完成上述請(qǐng)求,采用下列算法時(shí)存取的移動(dòng)順序是什么?移動(dòng)總量是多少?(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)先(SSTF)。答:移動(dòng)順序:143、147、150、130、102、94、91、86、175、177 移動(dòng)總量:(147

41、-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)掃描算法(C-SCAN)。答:移動(dòng)順序是:143、147、150、175、177、86、91、94、102、130 移

42、動(dòng)總量:(147-143)+(150-147)+(175-150)+(177-175)+(177-86)+(91-86)+(94-91)+(102-94)+(130-102)=169.7 磁盤的訪問時(shí)間分成三部分:尋道時(shí)間、旋轉(zhuǎn)時(shí)間和數(shù)據(jù)傳輸時(shí)間。而優(yōu)化磁盤磁道上的信息分布能減少輸入輸出服務(wù)的總時(shí)間。例如,有一個(gè)文件有10個(gè)記錄A,B,C,J存放在磁盤的某一磁道上,假定該磁盤共有10個(gè)扇區(qū),每個(gè)扇區(qū)存放一個(gè)記錄,安排如表7-4所示?,F(xiàn)在要從這個(gè)磁道上順序地將AJ這10個(gè)記錄讀出,如果磁盤的旋轉(zhuǎn)速度為20ms轉(zhuǎn)一周,處理程序每讀出一個(gè)記錄要花4ms進(jìn)行處理。試問:(1) 處理完10個(gè)記錄的總時(shí)間

43、為多少?答:由題目所列條件可知,磁盤的旋轉(zhuǎn)速度為20ms轉(zhuǎn)一周,每個(gè)此道有10個(gè)記錄,因此讀出1個(gè)記錄的時(shí)間為20ms/10=2ms。 對(duì)于表中記錄的初始分布,讀出并處理記錄A需要20ms+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。(2) 為了優(yōu)化分布縮短處理時(shí)間,如何安排這些記錄?并計(jì)算處理的總時(shí)間。答:為了縮短處理時(shí)間應(yīng)按

44、圖瑣事安排這些記錄。 經(jīng)優(yōu)化處理后,讀出并處理記錄A后,讀/寫頭剛好轉(zhuǎn)到記錄B的開始出,因此立即可讀取并處理記錄B,后續(xù)記錄的讀取與處理情況相同。股處理10個(gè)記錄的總時(shí)間為10*(2ms+4ms)=60ms。8 假設(shè)一個(gè)磁盤有100個(gè)柱面,每個(gè)柱面有10個(gè)磁道,每個(gè)磁道有15個(gè)扇區(qū)。當(dāng)進(jìn)程的要訪問磁盤有12345扇區(qū)時(shí),計(jì)算該扇區(qū)在磁盤的第幾柱面、第幾磁道、第幾扇區(qū)?答:由題目知,磁盤每個(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再次頭號(hào)為1,山區(qū)為9。綜上所

45、述,13524山區(qū)所在的磁盤地址為:第90號(hào)柱面,第1號(hào)磁頭,第9號(hào)扇區(qū)。9 一個(gè)文件記錄大小為32B,磁道輸入輸出以磁盤塊為單位,一個(gè)盤塊的大小為512B。當(dāng)用戶進(jìn)程順序讀文件的各個(gè)記錄時(shí),計(jì)算實(shí)際啟動(dòng)磁盤I/O占用整個(gè)訪問請(qǐng)求時(shí)間的比例。答:盤塊的大小為512B,一個(gè)文件記錄大小為32B,故一個(gè)盤塊包含的記錄數(shù)為:512/32=16。顯然在訪問16個(gè)記錄中,只需要一次啟動(dòng)磁盤,故實(shí)際啟動(dòng)磁盤I/O占用整個(gè)訪問請(qǐng)求的比例為1/16=6.25%10如果磁盤扇區(qū)的大小固定為512B,每個(gè)磁道有80個(gè)扇區(qū),一共有4個(gè)可用的盤面。假設(shè)磁盤旋轉(zhuǎn)速度是360rpm。處理機(jī)使用中斷驅(qū)動(dòng)方式從磁盤讀取數(shù)據(jù),

46、每字節(jié)產(chǎn)生一次終端。如果處理中斷需要2.5ms,試問:(1)處理機(jī)花費(fèi)在處理I/O上的時(shí)間占整個(gè)磁盤訪問時(shí)間的百分比是多少(忽略尋道時(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)要解決的問題有哪些?答:文件系統(tǒng)的目標(biāo)是提高存儲(chǔ)空間的利用率,他要解決的主要問題有:完成文件存儲(chǔ)空間的管理,實(shí)現(xiàn)文件名到物理地址的轉(zhuǎn)換,實(shí)現(xiàn)文件的目錄操作,提高文件共享能力和

47、保護(hù)措施,提供友好的用戶接口。文件系統(tǒng)向用戶提供了有關(guān)文件的目錄操作的各種功能接口和系統(tǒng)調(diào)用,如命令接口,成尋接口和圖形用戶接口。2 許多操作系統(tǒng)中提供了文件重命名功能,它能賦予文件一個(gè)新的名字。若進(jìn)行文件復(fù)制,并給復(fù)制文件起一個(gè)新的名字,然后刪除舊文件,也能達(dá)到給文件重命名的目的。是問這個(gè)方法在實(shí)現(xiàn)上有何不同?答:給文件重命名,用戶必須提供兩個(gè)參數(shù):舊文件名和新文件名。實(shí)現(xiàn)該功能是,系統(tǒng)使用舊文件名查找文件目錄,若找到舊文件名所在的目錄表項(xiàng),則將目錄表箱中文件名字段對(duì)應(yīng)的值改為新文件名值。從視線上看,文件重命名功能完成的工作室修改表項(xiàng)中的文件名字段,出文件名外,文件的其他屬性都未改變。3 使

48、用文件系統(tǒng)時(shí),通常要顯式地進(jìn)行Open()與Close()操作。試問:(1) 這樣做的目的是什么?答:顯式操作完成文件的打開功能,它將訪問文件的目錄信息讀入內(nèi)存活動(dòng)文件表,建立起用戶進(jìn)程與文件的聯(lián)系。顯式操作完成文件關(guān)閉操作,該操作刪除內(nèi)存中有關(guān)該文件的目錄信息,切斷用戶與該文件的聯(lián)系。若在文件打開期間,該文件做過某些修改,還應(yīng)將其寫回磁盤。(2) 能夠取消顯式地Open()與Close()操作么?若能,怎樣做?答:可以取消顯式的OPEN與CLOSE操作。如果取消了顯式地OPEN與CLOSE操作,系統(tǒng)在進(jìn)行文件操作之前需要半段文件是否已經(jīng)打開,若文件為打開,則應(yīng)自動(dòng)完成文件的打開功能,已建立用

49、戶與文件之間的聯(lián)系。同時(shí),在系統(tǒng)結(jié)束時(shí),還應(yīng)該自動(dòng)關(guān)閉所有打開的文件。(3) 取消顯式地Open()與Close()操作有什么不利影響?答:取消顯示的OPEN雨CLOSE操作是的文件低些的系統(tǒng)開銷增加。因?yàn)槊看巫x寫文件之前都需要半段文件是否打開,若為打開,還要完成打開操作。系統(tǒng)在結(jié)束時(shí)也要做一些額外的工作,已完成CLOSE操作所完成的功能。當(dāng)用戶進(jìn)程已完成對(duì)一個(gè)文件的訪問單進(jìn)程本書呢尚未執(zhí)行完畢時(shí),因無顯式地CLOSE操作而無法關(guān)閉文件,從而不利于系統(tǒng)資源回收。4 文件目錄的作用是什么?文件目錄項(xiàng)通常包含哪些內(nèi)容?答:文件目錄是文件名與文件所在存儲(chǔ)位置的一張映射表。文件系統(tǒng)根據(jù)他實(shí)現(xiàn)用戶安明存

50、取文件。文件目錄由若干目錄項(xiàng)組成,每個(gè)目錄項(xiàng)紀(jì)錄一個(gè)文件的管理和控制信息。其中包括文件名、文件類型、文件在存儲(chǔ)設(shè)備上的位置、文件的存取控制信息、文件的常見、訪問和修改信息等。5 文件物理結(jié)構(gòu)中的鏈接分配方式有幾種實(shí)現(xiàn)方法?各什么特點(diǎn)?答:文件物理結(jié)構(gòu)中的鏈接分配方式有兩種:一種是隱式的,即文件占用物理塊中除存儲(chǔ)文件信息之外,還存儲(chǔ)有一個(gè)鏈接指針(即指向下一個(gè)物理塊的指針);另一種是顯式地,即將鏈接指針從物理塊中提取出來,單獨(dú)建立一個(gè)表,如MS-DOS操作系統(tǒng)采用這種方式,該表乘坐文件分配表。 隱式鏈接結(jié)構(gòu)的文件只能采用順序存取方法,否則效率太低。 顯式鏈接結(jié)構(gòu)的文件,優(yōu)于指針單獨(dú)管理,通常將文

51、件分配表放在貯存中,無論采用順序存取還是隨機(jī)存取,其速度都差不多。6 設(shè)某文件A由100個(gè)物理塊組成,現(xiàn)分別用連續(xù)文件,鏈接文件和索引文件來構(gòu)造。針對(duì)3種不同的結(jié)構(gòu),執(zhí)行以下操作時(shí)各需要多少次從洗盤I/O?(1) 將一物理塊加到文件頭部。(2) 將一物理塊加到文件正中間。 (3) 將一物理塊加到文件尾部。7 文件系統(tǒng)用混合方式管理存儲(chǔ)文件的物理塊,設(shè)塊的大小為512B,每個(gè)塊號(hào)占3B,如果不考慮邏輯塊號(hào)在物理塊中所占的位置,求二級(jí)索引和三級(jí)索引時(shí)可尋址的文件最大長(zhǎng)度。答:由題目知,塊大小為512B,每個(gè)塊號(hào)占3B,一個(gè)物理塊客房512/3=170個(gè)目錄項(xiàng)。 一級(jí)索引可尋址的文件最大長(zhǎng)度為:17

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論