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

下載本文檔

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

文檔簡(jiǎn)介

1、習(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),受到用戶程序有意或無(wú)意的破壞,通常將處理機(jī)的執(zhí)行狀態(tài)分成核心態(tài)和用戶態(tài);對(duì)系統(tǒng)中的全部進(jìn)程實(shí)行有效地管理,其主要表現(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)。處

2、于就緒狀態(tài)的進(jìn)程,具備了運(yùn)行的條件,但由于未能獲得處理機(jī),故沒(méi)有運(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)境,試回答以下問(wèn)題。(1) 為支持多進(jìn)程的并發(fā)執(zhí)行,系統(tǒng)必須建立哪些關(guān)于進(jìn)程的數(shù)據(jù)結(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)程

3、的阻塞與喚醒原語(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)程管理、中斷處理、進(jìn)程通信、文件管理、設(shè)備管理 及存儲(chǔ)管理的角度設(shè)計(jì)進(jìn)程控制塊應(yīng)該包含的內(nèi)容。答:(1)進(jìn)程控制塊是用來(lái)描述進(jìn)程本身的特性、進(jìn)程的狀態(tài)、進(jìn)程的調(diào)度信息及對(duì)資源的占有情況

4、等的一個(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個(gè)進(jìn)程輪換執(zhí)行,每隔300ms輪換一次,CPU在進(jìn)程切換時(shí)所花費(fèi)的時(shí)間是10ms,試問(wèn)系統(tǒng)化在進(jìn)程切換上的開銷占系統(tǒng)整個(gè)時(shí)間的比例是多少?答:因?yàn)槊扛?00ms換一次進(jìn)程

5、,且每個(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è)線程。線程自己基本上不擁有資源,只擁有少量必不可少的資源(線程控制塊和堆棧)7 根據(jù)圖2-18,回答以下問(wèn)題。(1) 進(jìn)程發(fā)生狀態(tài)變遷1、3、4、6、7的原因。答:1表示操作系統(tǒng)把處于創(chuàng)建狀態(tài)

6、的進(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,是說(shuō)明原因。答: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í)CPU空閑,系統(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ì)列中

7、選擇一個(gè)進(jìn)程。36不是因果變遷。一個(gè)進(jìn)程阻塞時(shí)由于自身的原因而發(fā)生的,和另一個(gè)進(jìn)程等待的時(shí)間到達(dá)沒(méi)有因果關(guān)系。(3) 根據(jù)此進(jìn)程狀態(tài)轉(zhuǎn)換圖,說(shuō)明該系統(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),更主要的是照顧了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ì)算量較大

8、的進(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 回答以下問(wèn)題。(1) 若系統(tǒng)中沒(méi)有運(yùn)行進(jìn)程,是否一定沒(méi)有就緒進(jìn)程?為什么?答:是,因?yàn)楫?dāng)CPU空閑時(shí),系統(tǒng)就會(huì)在就緒隊(duì)列里調(diào)度進(jìn)程,只有當(dāng)就緒隊(duì)列為空時(shí),系統(tǒng)中才沒(méi)有運(yùn)行程序。(2) 若系統(tǒng)中既沒(méi)有運(yùn)行進(jìn)程,也沒(méi)有就緒進(jìn)程,系統(tǒng)中是否就沒(méi)有阻塞進(jìn)程?解釋。答:不一定,當(dāng)運(yùn)行的程序都因?yàn)檎?qǐng)求I/O或等待事件時(shí)而進(jìn)入阻塞,系統(tǒng)中就沒(méi)有就緒進(jìn)程。(3) 如果系統(tǒng)采用

9、優(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ì)列里沒(méi)有等待的進(jìn)程,這時(shí)就會(huì)調(diào)度優(yōu)先級(jí)低的就緒隊(duì)列的進(jìn)程。9 假如有以下程序段,回答下面的問(wèn)題。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)W(P2)=時(shí)才滿足。(2) 試畫圖表示它們執(zhí)行時(shí)的先后次序。(3) 利用Bernstein 條件證明,S1、S2和S3哪兩個(gè)可以并發(fā)執(zhí)行,哪兩個(gè)不能。答:R(s1)=x,

10、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)系嗎?若存在,是什么制約關(guān)系?為什么?(1) 幾個(gè)同學(xué)去圖書館借同一本書。答:互斥關(guān)系;因?yàn)樗麄円柰槐緯豢赡芡瑫r(shí)借到,所以互斥。(2) 籃球比賽中兩隊(duì)同學(xué)爭(zhēng)搶籃板球。答:互斥

11、關(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)民種糧。答:沒(méi)有制約關(guān)系。2 在操作系統(tǒng)中引入管程的目的是什么?條件變量的作用是什么?答:用信號(hào)量可以實(shí)現(xiàn)進(jìn)程的同步于互斥,但要設(shè)置許多信號(hào)量,使用大量的P、V操作,而且還要仔細(xì)安排P操作的排列次序,否則將會(huì)出現(xiàn)錯(cuò)誤的結(jié)果或是死鎖現(xiàn)象。為了解決這些問(wèn)題引進(jìn)了管程;條件變量的作用是使進(jìn)程不僅能被掛起,而且當(dāng)條件滿足且管程再次可用時(shí),可以恢復(fù)該進(jìn)程并允許它在掛起點(diǎn)

12、重新進(jìn)入管程。3 說(shuō)明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í)行完P(guān)操作后,信號(hào)量S的值為-1,進(jìn)程阻塞。4 設(shè)有一個(gè)售票大廳,可容納200人購(gòu)票。如果廳內(nèi)不足200人則允許進(jìn)入,超過(guò)則在廳外等候;售票員某時(shí)只能給一個(gè)購(gòu)票者服務(wù),購(gòu)票者買

13、完票后就離開。試問(wèn):(1) 購(gòu)票者之間是同步關(guān)系還是互斥關(guān)系?答:互斥關(guān)系。(2) 用P、V操作描述購(gòu)票者的工作過(guò)程。 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)系如圖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,

14、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)程都取過(guò)本消息后才能發(fā)送下調(diào)消息。緩沖區(qū)內(nèi)每次只能容納一個(gè)消息,用P、V操作描述四個(gè)進(jìn)程存取消息的情況。答:semaphore p1=0;semaphore p2,p3,p4=1;semaphore cout=0;semaphore mutex=1;void main()P(p2);P(p3);P(4);V(cout);write p1()P(p1);

15、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)者問(wèn)題中多個(gè)P操作顛倒引起的后果。答:semaphore mutex=1; semaphore empty=n; semaphore full=0; int i,j;ITEM buffern;ITEM d

16、ata_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(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)

17、程不可執(zhí)行P(full);當(dāng)生產(chǎn)者進(jìn)程執(zhí)行完V(full)后,full=1,但由于mutex=0,消費(fèi)者進(jìn)程無(wú)法執(zhí)行,造成死鎖。8 讀者寫者問(wèn)題中寫者優(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(wmutex); Rcount=Rcount+1 ;V(Rmutex);V(mutex); read;/*執(zhí)行讀操作*/ ;P(Rmutex);Rcount=Rcount-1;if

18、(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)餐問(wèn)題不產(chǎn)生鎖死的算法。semaphore chopstick5=1,1,1,1,1;semaphore mutex=1;void philosopher ()while(true)P(mutex); P(chopsticki); P(chopstick(i+1)%5); V(mutex); ; eat; ; V(chopst

19、icki); V(chopstick(i+1)%5);think;;10 一個(gè)文件可有若干個(gè)不同的進(jìn)程所共享,每個(gè)進(jìn)程具有唯一的編號(hào)。假定文件可由滿足下列限制的若干個(gè)不同的進(jìn)程同時(shí)訪問(wèn),并發(fā)訪問(wèn)該文件的哪些進(jìn)程的編號(hào)的總和不得大于n,設(shè)計(jì)一個(gè)協(xié)調(diào)對(duì)該文件訪問(wèn)的管程。答:11 用管程解決讀者寫者問(wèn)題,并采用公平原則。答:習(xí)題四1 某進(jìn)程被喚醒后立刻投入運(yùn)行,能說(shuō)明該系統(tǒng)采用的是可剝奪調(diào)度算法嗎?答:不能說(shuō)明,因?yàn)槿绻F(xiàn)在就緒隊(duì)列中沒(méi)有進(jìn)程,那么喚醒的進(jìn)程會(huì)立刻投入運(yùn)行。2 在哲學(xué)家進(jìn)餐問(wèn)題中,如果將先拿起左邊筷子的哲學(xué)家稱為左撇子,先拿起右邊筷子的哲學(xué)家稱為右撇子。請(qǐng)說(shuō)明在同時(shí)存在左、右撇子的情

20、況下,任何的就坐安排都不能產(chǎn)生鎖死。答:任何的就坐安排都不會(huì)構(gòu)成環(huán)路,這就符合避免死鎖的條件,所以不會(huì)產(chǎn)生死鎖。3 系統(tǒng)中有5個(gè)資源被4個(gè)進(jìn)程所共享,如果每個(gè)進(jìn)程最多需要2個(gè)這種資源,試問(wèn)系統(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)程最多需要3臺(tái)。問(wèn):N為多少時(shí),系統(tǒng)沒(méi)有死鎖的危險(xiǎn)?答:當(dāng)n為1、2、3時(shí),沒(méi)有死鎖的危險(xiǎn);因?yàn)楫?dāng)n小于3時(shí),每個(gè)進(jìn)程分配2臺(tái)磁帶機(jī),還有磁帶機(jī)剩余,那么當(dāng)其中的一個(gè)進(jìn)程得到剩余的

21、磁帶機(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í)沒(méi)有剩余,則會(huì)產(chǎn)生死鎖,當(dāng)大于5時(shí)同樣會(huì)死鎖。5 系統(tǒng)有5個(gè)進(jìn)程,它們的到達(dá)時(shí)間和服務(wù)時(shí)間如表4-8所示。新進(jìn)程(沒(méi)有運(yùn)行過(guò))與老進(jìn)程(運(yùn)行過(guò)的進(jìn)程)的條件相同時(shí),假定系統(tǒng)選新進(jìn)程運(yùn)行。 表4-8 進(jìn)程情況進(jìn)程名到達(dá)時(shí)間服務(wù)時(shí)間A03B26C44D65E82若按先來(lái)先服務(wù)(FCFS)、時(shí)間片輪法(時(shí)間片q=1)、短進(jìn)程優(yōu)先(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

22、-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ù)ABCABCABCP1212559347P2402536134P34054011006P4204425221P5314424110(1) 計(jì)算每個(gè)進(jìn)程還可能需要的資源,并填入表的“仍然需要資源數(shù)”的欄目。(2) T0時(shí)刻系統(tǒng)是

23、否處于安全狀態(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) 在(4)的基礎(chǔ)上,若進(jìn)程P1又有新的資源請(qǐng)求(0,2,0),是否實(shí)施資源分配?為什么?答:不實(shí)施;習(xí)題五1 存儲(chǔ)管理的基本任務(wù)是為多道程序的并發(fā)執(zhí)行提供良好的存儲(chǔ)環(huán)境,這包括哪

24、些方面?答:存儲(chǔ)管理的基本任務(wù)是為多道程序的并發(fā)執(zhí)行提供良好的存儲(chǔ)器環(huán)境,它包括以下幾個(gè)方面。 (1)能讓沒(méi)到程序“各得其所”,并在不受干擾的環(huán)境中運(yùn)行時(shí),還可以使用戶從存儲(chǔ)空間的分配、保護(hù)等事物中解脫出來(lái)。 (2)向用戶提供更大的存儲(chǔ)空間,使更多的程序同時(shí)投入運(yùn)行或是更大的程序能在小的內(nèi)存中運(yùn)行。 (3)為用戶對(duì)信息的訪問(wèn)、保護(hù)、共享以及程序的動(dòng)態(tài)鏈接、動(dòng)態(tài)增長(zhǎng)提供方便。 (4)能使存儲(chǔ)器有較高的利用率。2 頁(yè)式存儲(chǔ)管理系統(tǒng)是否產(chǎn)生碎片?如何應(yīng)對(duì)此現(xiàn)象?答:頁(yè)式存儲(chǔ)管理系統(tǒng)產(chǎn)生的碎片,稱為內(nèi)碎片,它是指一個(gè)進(jìn)程的最后一頁(yè)沒(méi)有沾滿一個(gè)存儲(chǔ)塊而被浪費(fèi)的存儲(chǔ)空間。減少內(nèi)碎片的辦法是減少頁(yè)的大小。3

25、 在頁(yè)式存儲(chǔ)管理系統(tǒng)中頁(yè)表的功能是什么?當(dāng)系統(tǒng)的地址空間很大時(shí)會(huì)給頁(yè)表的設(shè)計(jì)帶來(lái)哪些新的問(wèn)題?答:頁(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)鏈接是指進(jìn)程在運(yùn)行時(shí),只將進(jìn)程對(duì)應(yīng)的主程序段裝入內(nèi)存,并與主程序段鏈接上。通常一個(gè)大的程序是由一個(gè)主程序和若干個(gè)子程序以及一些數(shù)據(jù)段組成。而段式存儲(chǔ)管理方案中的段就是按用戶的邏輯

26、段自然形成的,因此可實(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)訪問(wèn)內(nèi)存的地址大于605EH、小于3A6BH時(shí)產(chǎn)生越界中斷。 (2) 若使用地址、限長(zhǎng)寄存器,地址寄存器的值是3A6BH,限長(zhǎng)寄存器的值是25F3H,當(dāng)訪問(wèn)內(nèi)存的地址小于3A6BH,超過(guò)3A6BH+25F3H=605EH時(shí)產(chǎn)生越界中斷。6 在系統(tǒng)中

27、采用可變分區(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è),并回答以下問(wèn)題。(1) 畫出作業(yè)1、2、3進(jìn)入內(nèi)存后,內(nèi)存的分布情況。答:(2) 畫出作業(yè)1、3完成后,內(nèi)存的分布情況。答:(3) 畫出作業(yè)4、5進(jìn)入內(nèi)存后,內(nèi)存的分布情況。答7 某系統(tǒng)采用頁(yè)式存儲(chǔ)管理策略,某進(jìn)程的邏輯地址空間為32頁(yè),頁(yè)的大小為2KB,物理地址空間的大小是4MB。(

28、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位(二進(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)存的

29、2、4、7、5,問(wèn):(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,3600、3,230轉(zhuǎn)換成物理地址。答:0,137:40*1024+137=41097B1,9000:80*1024+9000=90920B2,3600:100*1024+

30、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)來(lái)控制數(shù)據(jù)傳遞的,因此無(wú)法發(fā)現(xiàn)和處理由于設(shè)備和其他硬件所產(chǎn)生的錯(cuò)誤。中斷控制方式:優(yōu)點(diǎn):提高了CPU的利用率;缺點(diǎn):(1).在進(jìn)程傳送數(shù)據(jù)的過(guò)程中,發(fā)生中斷的次數(shù)可能很多,這將消耗CPU大量處理時(shí)間;(2).計(jì)算機(jī)中通常配

31、置各種各樣的外設(shè),如果這些外設(shè)都通過(guò)中斷的方式進(jìn)行數(shù)據(jù)傳遞,由于中斷次數(shù)過(guò)多將使CPU無(wú)法及時(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)設(shè)備的獨(dú)立性?答:設(shè)備獨(dú)立性是指用戶程序獨(dú)立于具體使用的物理設(shè)備;此時(shí),用戶使用邏輯設(shè)備名申請(qǐng)使用某列物理設(shè)備。當(dāng)系統(tǒng)中有多臺(tái)該烈性的設(shè)備是,系統(tǒng)可將其中的任意一臺(tái)分配給請(qǐng)求

32、進(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í),用于平滑傳輸過(guò)程的一種手段。 (1)換屆CPU與I/O設(shè)備之間的速度不匹配的矛盾。 (2)減少中斷CPU的次數(shù)。 (3)提高CPU與I/O設(shè)備之間的并行性。4 設(shè)備分配中為什么可能出現(xiàn)死鎖?答:安全分配方式:在某些操作系統(tǒng)中,一個(gè)進(jìn)程只能提供一個(gè)I/O請(qǐng)求。也就是說(shuō),執(zhí)行進(jìn)程向系統(tǒng)

33、提出I/O請(qǐng)求后邊立即進(jìn)入等待狀態(tài),直到I/O請(qǐng)求完成后才被喚醒。這樣系統(tǒng)對(duì)設(shè)備的分配比較安全,不會(huì)出現(xiàn)死鎖。但這種方式對(duì)進(jìn)程來(lái)說(shuō),因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)的資源利用率,但也帶來(lái)了一種危險(xiǎn),即如果兩個(gè)進(jìn)程都提出請(qǐng)求使用對(duì)方占有的I/O設(shè)備時(shí),就會(huì)出現(xiàn)死鎖。5 以打印機(jī)為例說(shuō)明SPOOLing技術(shù)的工作原理。答:當(dāng)用戶進(jìn)程請(qǐng)求打印輸

34、出時(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)求,如果存在下列請(qǐng)求序列:86、147、91、177、94、150、102、175、130,試問(wèn):為完成上述請(qǐng)求,采用下列算法時(shí)存取的移動(dòng)順序是什么?移動(dòng)總量是多少?(1) 先來(lái)先服務(wù)(F

35、CFS)。答:移動(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-143)+(150-147)+(150-130)+(130-102)+(102-94)+(94-91)+(91-86)+(175-86)+(177-175)=162(3)

36、掃描算法(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 移動(dòng)總量:(147-143)+(150-147)+(175-150)+(177-175)+(177-86)+(91-86)+(94-91)+(102-94)+(130-102)

37、=169.7 磁盤的訪問(wèn)時(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所示。現(xiàn)在要從這個(gè)磁道上順序地將AJ這10個(gè)記錄讀出,如果磁盤的旋轉(zhuǎn)速度為20ms轉(zhuǎn)一周,處理程序每讀出一個(gè)記錄要花4ms進(jìn)行處理。試問(wèn):(1) 處理完10個(gè)記錄的總時(shí)間為多少?答:由題目所列條件可知,磁盤的旋轉(zhuǎn)速度為20ms轉(zhuǎn)一周,每個(gè)此道有10個(gè)記錄,因此讀出1個(gè)記錄的時(shí)間為20ms/10=2ms。 對(duì)于表中記錄的初始分布,讀出并處理記錄

38、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)按圖瑣事安排這些記錄。 經(jīng)優(yōu)化處理后,讀出并處理記錄A后,讀/寫頭剛好轉(zhuǎn)到記錄B的開始出,因此立即可讀取并處理記錄B,后續(xù)記錄的讀取與處理情況相同。股處理10個(gè)記錄的總時(shí)間為1

39、0*(2ms+4ms)=60ms。8 假設(shè)一個(gè)磁盤有100個(gè)柱面,每個(gè)柱面有10個(gè)磁道,每個(gè)磁道有15個(gè)扇區(qū)。當(dāng)進(jìn)程的要訪問(wè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。綜上所述,13524山區(qū)所在的磁盤地址為:第90號(hào)柱面,第1號(hào)磁頭,第9號(hào)扇區(qū)。9 一個(gè)文件記錄大小為32B,磁道輸入輸出以磁盤塊為單位,一個(gè)盤塊的大小為512B。當(dāng)用戶進(jìn)程順序讀

40、文件的各個(gè)記錄時(shí),計(jì)算實(shí)際啟動(dòng)磁盤I/O占用整個(gè)訪問(wèn)請(qǐng)求時(shí)間的比例。答:盤塊的大小為512B,一個(gè)文件記錄大小為32B,故一個(gè)盤塊包含的記錄數(shù)為:512/32=16。顯然在訪問(wèn)16個(gè)記錄中,只需要一次啟動(dòng)磁盤,故實(shí)際啟動(dòng)磁盤I/O占用整個(gè)訪問(wèn)請(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ù),每字節(jié)產(chǎn)生一次終端。如果處理中斷需要2.5ms,試問(wèn):(1)處理機(jī)花費(fèi)在處理I/O上的時(shí)間占整個(gè)磁盤訪問(wèn)時(shí)間的百分比是多少(忽略尋道時(shí)間)?答:(512*2.5)/(1/12

41、+1/480)+(512*2.5))*100%=99.9%(2)采用DMA方式,每個(gè)扇區(qū)產(chǎn)生一次中斷,處理機(jī)話費(fèi)在處理I/O上的時(shí)間占整個(gè)磁盤訪問(wèn)時(shí)間的半分比是多少?答:2.5/(1/12+1/480)+2.5)*100%=96.7%習(xí)題八1 文件系統(tǒng)要解決的問(wèn)題有哪些?答:文件系統(tǒng)的目標(biāo)是提高存儲(chǔ)空間的利用率,他要解決的主要問(wèn)題有:完成文件存儲(chǔ)空間的管理,實(shí)現(xiàn)文件名到物理地址的轉(zhuǎn)換,實(shí)現(xiàn)文件的目錄操作,提高文件共享能力和保護(hù)措施,提供友好的用戶接口。文件系統(tǒng)向用戶提供了有關(guān)文件的目錄操作的各種功能接口和系統(tǒng)調(diào)用,如命令接口,成尋接口和圖形用戶接口。2 許多操作系統(tǒng)中提供了文件重命名功能,它能

42、賦予文件一個(gè)新的名字。若進(jìn)行文件復(fù)制,并給復(fù)制文件起一個(gè)新的名字,然后刪除舊文件,也能達(dá)到給文件重命名的目的。是問(wèn)這個(gè)方法在實(shí)現(xiàn)上有何不同?答:給文件重命名,用戶必須提供兩個(gè)參數(shù):舊文件名和新文件名。實(shí)現(xiàn)該功能是,系統(tǒng)使用舊文件名查找文件目錄,若找到舊文件名所在的目錄表項(xiàng),則將目錄表箱中文件名字段對(duì)應(yīng)的值改為新文件名值。從視線上看,文件重命名功能完成的工作室修改表項(xiàng)中的文件名字段,出文件名外,文件的其他屬性都未改變。3 使用文件系統(tǒng)時(shí),通常要顯式地進(jìn)行Open()與Close()操作。試問(wèn):(1) 這樣做的目的是什么?答:顯式操作完成文件的打開功能,它將訪問(wèn)文件的目錄信息讀入內(nèi)存活動(dòng)文件表,建

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

44、是的文件低些的系統(tǒng)開銷增加。因?yàn)槊看巫x寫文件之前都需要半段文件是否打開,若為打開,還要完成打開操作。系統(tǒng)在結(jié)束時(shí)也要做一些額外的工作,已完成CLOSE操作所完成的功能。當(dāng)用戶進(jìn)程已完成對(duì)一個(gè)文件的訪問(wèn)單進(jìn)程本書呢尚未執(zhí)行完畢時(shí),因無(wú)顯式地CLOSE操作而無(wú)法關(guān)閉文件,從而不利于系統(tǒng)資源回收。4 文件目錄的作用是什么?文件目錄項(xiàng)通常包含哪些內(nèi)容?答:文件目錄是文件名與文件所在存儲(chǔ)位置的一張映射表。文件系統(tǒng)根據(jù)他實(shí)現(xiàn)用戶安明存取文件。文件目錄由若干目錄項(xiàng)組成,每個(gè)目錄項(xiàng)紀(jì)錄一個(gè)文件的管理和控制信息。其中包括文件名、文件類型、文件在存儲(chǔ)設(shè)備上的位置、文件的存取控制信息、文件的常見、訪問(wèn)和修改信息等。

45、5 文件物理結(jié)構(gòu)中的鏈接分配方式有幾種實(shí)現(xiàn)方法?各什么特點(diǎn)?答:文件物理結(jié)構(gòu)中的鏈接分配方式有兩種:一種是隱式的,即文件占用物理塊中除存儲(chǔ)文件信息之外,還存儲(chǔ)有一個(gè)鏈接指針(即指向下一個(gè)物理塊的指針);另一種是顯式地,即將鏈接指針從物理塊中提取出來(lái),單獨(dú)建立一個(gè)表,如MS-DOS操作系統(tǒng)采用這種方式,該表乘坐文件分配表。 隱式鏈接結(jié)構(gòu)的文件只能采用順序存取方法,否則效率太低。 顯式鏈接結(jié)構(gòu)的文件,優(yōu)于指針單獨(dú)管理,通常將文件分配表放在貯存中,無(wú)論采用順序存取還是隨機(jī)存取,其速度都差不多。6 設(shè)某文件A由100個(gè)物理塊組成,現(xiàn)分別用連續(xù)文件,鏈接文件和索引文件來(lái)構(gòu)造。針對(duì)3種不同的結(jié)構(gòu),執(zhí)行以下

46、操作時(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)度為:170*512=85KB; 二級(jí)索引可尋址的文件最大長(zhǎng)度為:170*170*512=14450KB 三級(jí)索引可尋址的文件最大長(zhǎng)度為:170*170*170*512=2456500KB8 一個(gè)計(jì)算機(jī)系統(tǒng)中,文件控制塊占64B,磁盤塊的大小為1KB,采用一級(jí)目錄,假定目錄中有3200個(gè)目錄,問(wèn)查找一個(gè)文件平均需要訪問(wèn)磁盤多少

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論