操作系統(tǒng)教程(其次版) OS習題答案_第1頁
操作系統(tǒng)教程(其次版) OS習題答案_第2頁
操作系統(tǒng)教程(其次版) OS習題答案_第3頁
操作系統(tǒng)教程(其次版) OS習題答案_第4頁
操作系統(tǒng)教程(其次版) OS習題答案_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本文格式為Word版,下載可任意編輯——操作系統(tǒng)教程(其次版)OS習題答案

操作系統(tǒng)習題解答

1.存儲程序式計算機的主要特點是什么?

答:主要特點是以順序計算為基礎(chǔ),根據(jù)程序規(guī)定的順序依次執(zhí)行每一個操作,控制部件根據(jù)程序?qū)φ麄€計算機的活動實行集中過程控制,即為集中順序過程控制。這類計算是過程性的,實際上這種計算機是模擬人們的手工計算的產(chǎn)物。即首先取原始數(shù)據(jù),執(zhí)行一個操作,將中間結(jié)果保存起來;再取一個數(shù),和中間結(jié)果一起又執(zhí)行一個操作,如此計算下去。在遇到多個可能同時執(zhí)行的分支時,也是先執(zhí)行完一個分支,然后再執(zhí)行其次個分支,直到計算完畢。

2.批處理系統(tǒng)和分時系統(tǒng)各具有什么特點?答:批處理系統(tǒng)是在解決人—機矛盾以及高速度的中央處理機和低速度的I/O設(shè)備這兩對矛盾的過程中發(fā)展起來的。它的出現(xiàn)改善了CPU和外設(shè)的使用狀況,其特點是實現(xiàn)了作業(yè)的自動定序、自動過渡,從而使整個計算機系統(tǒng)的處理能力得以提高。

在多道系統(tǒng)中,若采用了分時技術(shù),就是分時操作系統(tǒng),它是操作系統(tǒng)的另一種類型。它一般采用時間片輪轉(zhuǎn)的方法,使一臺計算機同時為多個任務服務。對用戶都能保證足夠快的響應時間,并提供交互會話功能。它與批處理系統(tǒng)之間的主要區(qū)別在于,分時系統(tǒng)是人機交互式系統(tǒng),響應時間快;而批處理系統(tǒng)是作業(yè)自動定序和過渡,無人機交互,周轉(zhuǎn)時間長。

3.實時系統(tǒng)的特點是什么?一個實時信息處理系統(tǒng)和一個分時系統(tǒng)從外表看來很相像,它們有什么本質(zhì)的區(qū)別呢?

答:實時系統(tǒng)對響應時間的要求比分時系統(tǒng)更高,一般要求響應時間為秒級、毫秒級甚至微秒級。將電子計算機應用到實時領(lǐng)域,配置上實時監(jiān)控系統(tǒng),便組成各種各樣的專用實時系統(tǒng)。實時系統(tǒng)按其使用方式不同分為兩類:實時控制系統(tǒng)和實時信息處理系統(tǒng)。實時控制是指利用計算機對實時過程進行控制和提供監(jiān)視環(huán)境。實時信息處理系統(tǒng)是指利用計算機對實時數(shù)據(jù)進行處理的系統(tǒng)。實時系統(tǒng)大部分是為特別的實時任務設(shè)計的,這類任務對系統(tǒng)的可靠性和安全性要求很高。

與分時系統(tǒng)相比,實時系統(tǒng)沒有那樣強的交互會話功能,尋常不允許用戶通過實時終端設(shè)備去編寫新的程序或修改已有的程序。實時終端設(shè)備尋常只是作為執(zhí)行裝置或詢問裝置,屬專用系統(tǒng)。

4.什么是多道程序設(shè)計技術(shù)?試述多道程序運行的特征。答:多道程序設(shè)計技術(shù)是在計算機內(nèi)存中同時存放幾道相互獨立的程序,使它們在管理程序控制下,相互穿插地運行。

多道程序運行的特征如下:

(1)多道:計算機內(nèi)存中同時存放幾道相互獨立的程序。(2)宏觀上并行:同時進入系統(tǒng)的幾道程序都處于運行過程中,即它們先后開始了各自

的運行,但都未運行完畢。

(3)微觀上串行:從微觀上看,內(nèi)存中的多道程序輪番地或分時地占有處理機,交替執(zhí)

行(單處理機狀況)。

5.什么是操作系統(tǒng)?從資源管理的角度去分析操作系統(tǒng),它的主要功能是什么?答:操作系統(tǒng)是一個大型的程序系統(tǒng),它負責計算機的全部軟、硬件資源的分派與回收,控制與協(xié)調(diào)等并發(fā)活動,實現(xiàn)信息的存取和保護。它提供用戶接口,使用戶獲得良好的工作環(huán)境,為用戶擴展新的系統(tǒng)功能提供軟件平臺,操作系統(tǒng)使整個計算機系統(tǒng)實現(xiàn)了高效率和高度自動化。

操作系統(tǒng)的主要功能是管理系統(tǒng)的軟、硬件資源,它們可歸為四類:處理機管理、存儲管理、設(shè)備管理和文件管理等。

6.操作系統(tǒng)的主要特征是什么?為什么會具有這樣的特征?答:操作系統(tǒng)的特征有:并發(fā)性,共享性,不確定性,虛擬性。

其中并發(fā)性和共享性是其主要特征。由于操作系統(tǒng)建立并控制著多個并發(fā)執(zhí)行的進程,完成著同時進行的幾項任務,進程之間相互制約,并且共享著系統(tǒng)的某些資源,進程的這些活動便形成了操作系統(tǒng)的主要特征。并且大量事件的產(chǎn)生是隨機的,而且事件產(chǎn)生的先后順序又有大量可能組合,但操作系統(tǒng)必需能處理任何一種可能的事件序列。所以,操作系統(tǒng)又具有不確定性。另外,操作系統(tǒng)中還廣泛使用了虛擬技術(shù),使得配備了操作系統(tǒng)之后的系統(tǒng)在資源的使用上更加自由和靈活,不受物理設(shè)備數(shù)量的限制。

7.設(shè)一計算機系統(tǒng)有輸入機一臺、打印機兩臺,現(xiàn)有二道程序同時投入運行,且程序A先開始運行,程序B后運行。程序A的運行軌跡為:計算50ms,打印信息100ms,再計算50ms,打印信息100ms,終止。程序B運行的軌跡為:計算50ms,輸入數(shù)據(jù)80ms,再計算100ms,終止。要求:

(1)用圖畫出這二道程序并發(fā)執(zhí)行時的工作狀況。

(2)說明在二道程序運行時,CPU有無空閑等待?若有,在哪段時間內(nèi)等待?為什么會空閑等待?

(3)程序A、B運行時有無等待現(xiàn)象?在什么時候會發(fā)生等待現(xiàn)象?答:

(1)工作狀況如圖。5100ms5100ms程序A

計打計打

258100ms5程序B

等輸計計等

時間

051030151820

(2)CPU有空閑等待,它發(fā)生在100ms?150ms時間段內(nèi),此時間段內(nèi)程序A與程序B都在進行I/O操作。

(3)程序A無等待現(xiàn)象,程序B在0ms?50ms時間段與180ms?200ms時間段內(nèi)有等待現(xiàn)象。

工作狀況的另一種描述形式如下:

程序A程序B輸入設(shè)備打印機1550100ms0ms182030t

進程管理習題

1現(xiàn)代操作系統(tǒng)中為什么要引入“進程〞概念?它與程序有什么區(qū)別?

答:之所以要引入進程的概念,是由于在一些可以并發(fā)的程序段之間,存在著某種相互制約的關(guān)系,每個程序段的執(zhí)行不僅要受到其它程序執(zhí)行的制約,而且還要動態(tài)地依靠系統(tǒng)資源的分派狀況,因此每個可以并發(fā)執(zhí)行的程序段就會因外界條件的限制而不能運行,被迫處于阻塞狀態(tài)。僅用程序的概念無法表示程序的走走停停以及程序運行過程中對資源的競爭現(xiàn)象,因此需要采用一種動態(tài)的概念描述并發(fā)程序這種走走停停的現(xiàn)象,這就產(chǎn)生了進程的概念。

進程和程序的區(qū)別:

(1)進程是程序的執(zhí)行過程,是動態(tài)的過程,屬于一種動態(tài)概念。程序是一組有序靜態(tài)指令和數(shù)據(jù)的集合,用來指示處理機的操作,是一種靜態(tài)概念。

(2)從結(jié)構(gòu)上看,每個進程實體是由程序段和相應的數(shù)據(jù)段兩部分構(gòu)成,并且進程結(jié)構(gòu)中還要包含PCB,即進程控制塊。

(3)一個進程可以涉及到一個或幾個程序的執(zhí)行;反之,同一程序可以對應多個進程,即同一個程序段可以在不同數(shù)據(jù)集合上運行,可以構(gòu)成不同的進程。

(4)進程能真實地描述并發(fā)執(zhí)行的過程,而程序僅僅是靜態(tài)指令堆積的序列。

(5)進程有可創(chuàng)立其他進程的功能,而一般的程序不具有創(chuàng)立其它程序的功能。

(6)每一個程序都是在一個進程現(xiàn)場中運行的。

2表達進程的并發(fā)性和制約性。

答:并發(fā)性是進程的重要特征。即多道程序中多個進程同時向前推進的過程,沒個進程總是與其它進程并發(fā)地執(zhí)行的。進程的制約性是指一個進程的運行受到另一進程的制約。譬如有的進程可能正在等待另一進程的計算結(jié)果而無法運行,或者進程所需的資源被別的進程占有而無法運行。

3進程的含義是什么?如何構(gòu)造和描述進程?

答:進程是程序的一次執(zhí)行。進程由“進程控制塊+程序+數(shù)據(jù)〞構(gòu)成,用進程控制塊描述進程。

4有三個并發(fā)進程,R負責從輸入設(shè)備讀入信息并傳送給M,M將信息加工并傳送給P,P將打印輸出,寫出以下條件下的并發(fā)程序。

(1)雙緩沖區(qū),每個區(qū)大小為K。(2)單緩沖區(qū),其大小為K。答:

(1)雙緩沖區(qū),每個區(qū)大小為K,信號量初值如下:mutexR=mutexP=1;emptyR=emptyP=k;

fullR=fullP=0;變量的初值如下:

inR=outR=inP=outP=0;用類Pascal編寫程序如下:var

mutexR,mutexP,emptyR,fullR,emptyP,fullP:semaphere;inR,outR,inP,outP:integer;buffer:array0..k-1ofitem;bufferP:array0..k-1ofitem;procedureRbegin

whiletruedobegin

輸入數(shù)據(jù)data1;P(emptyR);P(mutexR);

bufferR(inR):=data1;inR:=(inR+1)mod(k);V(mutexR);

V(fullR);

endend;

procedureMbegin

whiletruedobegin

P(fullR);P(mutexR);

data2:=bufferR(outR);outR:=(outR+1)mod(k);V(mutexR);V(emptyR);

對data2進行加工;P(emptyP);P(mutexP);

bufferP(inP):=data2;inP:=(inP+1)mod(k);V(mutexP);V(fullP);endend;

procedureP:begin

whiletruedo

begin

P(fullP);P(mutexP)

data3:=bufferP(outP);outP:=(outP+1)mod(k);V(mutexP);V(emptyP);打印data3;endend;begin

seminitinal(mutexR.v,1;mutexP.v,1;emptyR.v,k;fullR.v,0;emptyP.v,k;fullP.v,0);

inR:=0;outR:=0;inP:=0;outP:=0;cobegin

R;M;P;coendend.

(2)單緩沖區(qū),大小為kvar

empty,full,ok,mutex:semaphere;inR,outR,inP,outP:integer;

buffer:array0..k-1ofitem;procedureR:begin

whiletruedo

begin

輸入數(shù)據(jù)data1;P(empty);P(mutex);

buffer(inR):=data1;inR:=(inR+1)mod(k);

V(mutex);

V(full)endend;

procedureM:begin

whileturedo

begin

P(full);

P(mutex);

data2:==buffer(outR);outR:=(outR+1)mod(k);V(mutex);對data2加工;P(mutex);

buffer(inP):=data2;inP:=(inP+1)mod(k);

V(mutex);V(ok);end

end;

proedureP:begin

whileturedobeginP(ok);P(mutex);

data3:=buffer(outP);outP:=(outP+1)mod(k);V(mutex);V(empty);打印data3;end;endbegin

seminitial(empty.v,k;full.v,0;ok.v,0;mutex.v,1);inR:=0;outR:=0;inP:=0;outP:=0;cobegin

R;

M;P;coend

end.

5在生產(chǎn)者與消費者問題的算法中,交換兩個V操作的次序會有什么結(jié)果?交換兩P操作的次序呢?說明理由。

答:交換兩P操作的次序有可能造成死鎖。例如,當無空緩沖區(qū)時,假使此時生產(chǎn)者先做互斥操作,即:P(mutex),然后才做同步操作P(empty),由于此時empty=-1造成生產(chǎn)者被阻塞。當消費者執(zhí)行到互斥操作P(mutex)時,由于生產(chǎn)者已執(zhí)行過P(mutex)并未作釋放,所以此時mutex=-1,造成消費者也被阻塞,生產(chǎn)者等消費者釋放空緩沖區(qū),而消費者則等待生產(chǎn)者釋放臨界資源的使用權(quán),所以兩個進程都無法向前推進而造成死鎖。交換兩個V操作的次序不會發(fā)生死鎖。

6設(shè)有三個進程A、B、C,其中A與B構(gòu)成一對生產(chǎn)者與消費者(A為生產(chǎn)者,B為消費者),共享一個由n個緩沖塊組成的緩沖池;B與C也構(gòu)成一對生產(chǎn)者與消費者(此時B為生產(chǎn)者,C為消費者),共享另一個由m個緩沖塊組成的緩沖池。用P、V操作描述它們之間的同步關(guān)系。答:

var

mutexA,emptyA,fullA,mutexC,emptyC,fullC:semaphere;i,j,a,b:integer;

bufferA:array0..n-1ofitembufferC:array0..m-1ofitem;procedureproduceA:生產(chǎn)者進程Abegin

whileturedo

begin

Producenextproduct;P(emptyA);P(mutexA);

bufferA(i):=products;i:=(i+1)mod(n);

V(mutexA);V(fullA)endend

procedureconsumer_procedurerB:消費者和生產(chǎn)者進程Bbegin

whileturedobegin

P(fullA);P(mutexA);

Goods:=buffer(j);

j:=(j+1)mod(n);

V(mutexA);V(emptyA);

ConsumegoodsandProducenextproductC;P(emptyC);P(mutexC);

BufferC(a):=productC;a:=(a+1)mod(m);V(mutexC);V(fullC)

endend;

procedureconsumerC;消費者C進程begin

whileturedobeginP(fullC);P(mutexC);

Goods:=bufferC(b);b:=(b+1)mod(m);V(mutexC);V(emptyC);

Consumeproduct;endend;begin

Seminitsal(mutexA.v,1;mutexC.v,1;

emptyA.v,n;emptyC.v,m;fullA.V,0;fullC.V,0);

i:=0;j:=0;a:=0;b:=0;cobeginproduceA

consumer_procedurerB;consumerCcoend

end.

7有一閱覽室,共有100個座位。讀者進入時必需先在一張登記表上登記,該表為每一座位列一表目,包括座號和讀者姓名。讀者離開時要消掉登記內(nèi)容。試用P、V操作描述讀者進程的同步結(jié)構(gòu)。答:

var

mutex:semaphere;信號量,用于互斥

full:semaphere;信號量,用于同步table:array0..n-1ofitem;登記表

procedurereader;讀者進程begin

P(full);P(mutex);

Register_name(table);V(mutex);Reading;P(mutex);

Delet_name(table);V(mutex);V(full)

end;begin

seminitsal(mutex.v,1;full.v,100);初始化cobeginreader;reader;...coendend.

8.引入線程的目的是什么?

答:引入線程的目的是提高程序執(zhí)行的并行度。

9引入管程的目的是什么?

答:引入管程的目的把分散的臨界區(qū)集中起來管理,為每個可共享的資源設(shè)立一個專門的機構(gòu)來統(tǒng)一管理各進程對該共享資源的訪問。這樣使互斥操作更安全,既便于系統(tǒng)管理共享資源,又能保證互斥訪問。

10用管程實現(xiàn)讀者與寫者關(guān)系。管程部分描述如下:monitorrw;conditionwrt;

varreadcount:integer;

procedureentryread_start();begin

readcount:=readcount+1;end;

procedureentryread_finish();begin

readcount:=readcount-1;

ifreadcount=0thensingal(wrt)end;

procedureentrywrite();begin

ifreadcount>0thenwait(wrt);performwriting;end

begin

readcount:=0endend;

主程序部分:

procedurewritter:

begin

repeat

rw.write();untilfalse;end

procedurereader:

begin

repeat

rw.read_start();performreading;rw.read_finish();untilfalse;

end

cobeginreader;writter;coend.

11何謂進程通信?

答:進程通信是指進程之間的信息交換。

12消息通信機制中應設(shè)置哪些基本通信原語?答:應設(shè)置send(A)(發(fā)送消息)原語,A是原語的參數(shù),表示發(fā)送區(qū)的起始地址。

receive(B)(接受消息)原語,B是接受進程提供的接收區(qū)起始地址。

13何謂死鎖?舉例說明之。

答:兩個以上的進程相互等待一個永遠不可能發(fā)生的條件而無法向前推進,這種僵局稱為死鎖。例如:如下圖的單行道上的交通阻塞。

存儲管理習題

1.何謂名字空間?何謂地址空間?何謂存儲空間?

答:名字空間:程序中符號名的集合。

地址空間:在目標模塊中的地址的集合。存儲空間:實際內(nèi)存地址的集合。符號源匯編編譯相對目標程地址重定位絕對目標程序序連接程序名字空間地址空間存儲空間

2.在分區(qū)分派方案能用于實現(xiàn)虛擬內(nèi)存嗎?

答:不能,由于虛擬存儲最重要的特點就是離散性,而分區(qū)分派方案只適用于連續(xù)分派方式,即全部程序都放在內(nèi)存,而不允許程序運行時一部分在內(nèi)存、一部分在外存。所以,無法提供內(nèi)存的規(guī)律擴展功能。

3.為什么要引入動態(tài)重定位?如何實現(xiàn)?

答:動態(tài)重定位便于程序浮動。由于在目標模塊裝入內(nèi)存時無需對其進行任何修改,因而裝入之后再搬遷也不會影響其正確執(zhí)行。

實現(xiàn)時,需要采用動態(tài)重定位硬件機構(gòu):重定位寄放器和加法器。如下圖。

1000

1?1000?

LOADLOAD1,30000

311001,30015678某程序的地址空

5678?內(nèi)

?

動態(tài)重定位示意圖

4.請詳細說明,引入分頁存儲管理是為了滿足用戶哪幾方面的需求?答:1、為了充分利用空閑的存儲空間,采取內(nèi)存的不連續(xù)分派;2、為了消除外零頭,采用等分內(nèi)存;

3、為了程序的浮動便利,采用動態(tài)地址重定位;

4、為了從規(guī)律上擴展內(nèi)存,依照規(guī)律地址空間來訪問程序,采用了虛擬存儲管理。

5.為什么說分段系統(tǒng)較之分頁系統(tǒng)更易于實現(xiàn)地址變換?答:由于分段是依照規(guī)律功能分段,這樣在地址變換時,針對的是一個完整的規(guī)律功能段,所以可以在實際需要時進行動態(tài)連接。而分頁則是依照物理頁的大小劃分所以一定要事先將

所有的頁面聯(lián)接成一個整體后才能實現(xiàn)地址變換。

6.分頁存儲管理中有哪幾種常用的頁面置換算法?試比較它們的優(yōu)缺點。答:

(1)先進先出(FIFO)(2)最近最少使用的淘汰算法(LRU)(3)最近不經(jīng)常使用的淘汰算法(LFU)(4)最優(yōu)算法(OPT)

FIFO算法最簡單,但效率不高。LRU的近似算法和LFU是較為實用的算法,效果較好,實現(xiàn)也不難。OPT算法是最正確算法,但并不實用,由于要跟蹤各頁面方可預計未來,而這種預計往往是困難的。

輸入/輸出系統(tǒng)習題

1.設(shè)備管理的目標和功能是什么?答:設(shè)備管理的主要目標是:

1)選擇和分派輸入/輸出設(shè)備以便進行數(shù)據(jù)傳輸操作;2)控制輸入/輸出設(shè)備和CPU(或內(nèi)存)之間交換數(shù)據(jù);

3)為用戶提供一個友好的透明接口,把用戶和設(shè)備的硬件特性分開,使得用戶在編制應用程序時不必涉及具體設(shè)備,系統(tǒng)按用戶要求控制設(shè)備工作;

4)提高設(shè)備和設(shè)備之間、CPU和設(shè)備之間以及進程和進程之間的并行操作度,以使操作系統(tǒng)獲得最正確效率。

設(shè)備管理程序的主要功能是:

1)提供和進程管理系統(tǒng)的接口。當進程申請設(shè)備資源時,該接口將進程的請求轉(zhuǎn)送給設(shè)備管理程序;

2)進行設(shè)備分派;

3)實現(xiàn)設(shè)備和設(shè)備、設(shè)備和CPU等之間的并行操作;4)進行緩沖區(qū)管理。

2.數(shù)據(jù)傳送控制方式有哪幾種?試比較它們各自的優(yōu)缺點。

答:外部設(shè)備和內(nèi)存之間的常用數(shù)據(jù)傳送控制方式有四種。它們是:

1)程序直接控制方式;其優(yōu)點是控制簡單,所需硬件支持少。其缺點是CPU和外部設(shè)備只能串行工作,CPU的利用率低;不能實現(xiàn)設(shè)備之間的并行工作;只適用于那些CPU執(zhí)行速度較慢,而且外部設(shè)備較少的系統(tǒng)。

2)中斷控制方式;其優(yōu)點是所需硬件支持較少,與程序直接控制方式相比,使CPU的利用率大大提高且能支持多道程序和設(shè)備的并行操作。其缺點是消耗的CPU處理時間較多;隨著外部I/O設(shè)備的增多和速度的提高,可能會造成CPU無法響應中斷和出現(xiàn)數(shù)據(jù)丟失現(xiàn)象。

3)DMA方式;其優(yōu)點是I/O速度較快,大大減少了CPU進行中斷處理的次數(shù);排除了因并行操作設(shè)備過多時CPU來不及處理或因速度不匹配而造成數(shù)據(jù)丟失等現(xiàn)象。其缺點是所需硬件較多;多個DMA控制器的同時使用會引起內(nèi)存地址的沖突并使得控制過程進一步

繁雜化。

4)通道方式;其優(yōu)點是I/O速度快,進一步減輕了CPU的工作負擔和增加了計算機系統(tǒng)的并行工作能力。其缺點是控制較繁雜,所需的硬件最繁雜。

3.何謂通道?試畫出通道控制方式時的CPU、通道和設(shè)備的工作流程圖。

答:通道是一個獨立于CPU的專管輸入/輸出控制的處理機,它控制設(shè)備與內(nèi)存直接進行數(shù)據(jù)交換。它有自己的通道指令,可由CPU執(zhí)行相應指令來啟動通道,并在操作終止時向CPU發(fā)中斷信號。在運行的時候,通道有自己的總線控制部分,可以進行總線操作。在有了通道之后,CPU僅需發(fā)出一條I/O指令給通道,說明要執(zhí)行的I/O操作和要訪問的I/O設(shè)備。通道接到指令后,就啟動相應的通道程序來完成I/O操作。如下圖:

設(shè)C指定通道接收到start指令通道設(shè)置設(shè)備的控制寄放器當前進程等待,調(diào)數(shù)據(jù)入數(shù)據(jù)緩沖寄放器被調(diào)度進程緩沖寄放器的內(nèi)容入內(nèi)存接收到中斷信號嗎?否改變設(shè)備控制寄放器的內(nèi)容度程序調(diào)度其它進程發(fā)start指令,指明I/O操作、設(shè)備號和對應通道,允許中斷位與啟動位置1是傳送完畢?是發(fā)中斷信號,中止I/O操作否轉(zhuǎn)中斷處理

4.何謂中斷?何謂中斷處理?何謂中斷響應?

答:中斷是指計算機在執(zhí)行期間,系統(tǒng)內(nèi)發(fā)生任何非尋常的或非預期的急需處理事件,使得CPU暫時中斷當前正在執(zhí)行的程序而轉(zhuǎn)去執(zhí)行相應的事件處理程序,待處理完畢后,又返回原來被中斷處繼續(xù)執(zhí)行的過程。

CPU轉(zhuǎn)去執(zhí)行相應的事件處理程序的過程稱為中斷處理。

CPU收到中斷請求后轉(zhuǎn)到相應的事件處理程序稱為中斷響應。

5.何謂開中斷?何謂關(guān)中斷?何謂中斷屏蔽?

答:盡管產(chǎn)生了中斷源和發(fā)出了中斷請求,但CPU內(nèi)部的處理機狀態(tài)字PSW的中斷允許位已被清除,從而不允許CPU響應中斷。這種狀況稱為阻止中斷,也稱為關(guān)中斷。CPU阻止中斷后只有等到PSW的中斷允許位被重新設(shè)置后才能接收中斷,PSW的中斷允許位的設(shè)置被稱為開中斷。

中斷屏蔽是指在中斷請求產(chǎn)生之后,系統(tǒng)用軟件方式有選擇地封鎖部分中斷而允許其余部分的中斷仍能得到響應。

6.何謂陷入?何謂軟中斷?試述中斷、陷入和軟中斷之間異同。

答:陷入是指中斷指令造成中斷;而由程序運算引起的各種錯誤,如地址非法等稱為異常。軟中斷是通信進程之間用來模擬硬中斷的一種信號通信方式,它的處理過程類似于中斷過程,但不需要通過硬件來產(chǎn)生中斷請求。中斷則是指外部設(shè)備發(fā)出的中斷;

中斷與陷入除在優(yōu)先級設(shè)置方面有區(qū)別之外,還有如下區(qū)別:

(1)陷入尋常由處理機正在執(zhí)行的現(xiàn)行指令引起,而中斷則是由與現(xiàn)行指令無關(guān)的中斷源引起的。也即:對處理機來說,陷入是主動的,而中斷是被動的。

(2)陷入處理程序提供的服務為當前進程所用,而中斷處理程序提供的服務則不是為了當前進程的。

(3)CPU在執(zhí)行完一條指令之后,下一條指令開始之前響應中斷,而在一條指令執(zhí)行中響應陷入。

中斷與陷入都可以看作是硬中斷,而軟中斷則不然,它是通信進程之間用來模擬硬中斷的一種信號通信方式。

軟中斷和硬中斷一致的地方是:其中斷源發(fā)中斷請求或軟中斷信號后,由接收進程在適當?shù)臅r機自動進行中斷處理或完成軟中斷信號所對應的功能。

7.描述中斷控制方式時的CPU動作過程。

答:

CPU

向設(shè)備發(fā)start命令

將中斷允許位置

調(diào)度程序調(diào)度其他進程執(zhí)行

受到中斷否

信號了

中斷處

被中斷程序繼續(xù)

執(zhí)行

8.何謂緩沖區(qū)?為什么要引入緩沖?

答:緩沖即是使用專用硬件緩沖器或在內(nèi)存中劃出一個區(qū)域用來暫時存放輸入輸出數(shù)據(jù)的地方.

引入緩沖是為了匹配外設(shè)和CPU之間的處理速度,減少中斷次數(shù)和CPU的中斷處理

時間。

9.在對緩沖隊列em(空緩沖區(qū)),in(輸入緩沖區(qū))和out(輸出緩沖區(qū))進行管理時,采用最近最少使用算法存取緩沖區(qū),即在把一個緩沖區(qū)分派給進程之后,只要不是所有其它的緩沖區(qū)都在更近的時間內(nèi)被使用過了,則該緩沖區(qū)不再被分派出去。試描述過程take_buf(type,number)和add_buf(type,number)。

structbuffer{inttype;

intaccess_time;type*next_element;}em,in,out;

take_buf(type,number);{

buffer*p,number;

p=get_the_head_of_thequeue(type);while(pnull){

if(number.access_time>p.access_time)return*p;else

p=p.next_element;}

returnnumber;}

add_buf(type,number);{

buffer*p,number;

p=get_the_head_of_thequeue(type);while(pnull)

p=p.next_element;p.next_element=number;}

10.用于設(shè)備分配的數(shù)據(jù)結(jié)構(gòu)有哪些?它們之間的關(guān)系是什么?

答:用于設(shè)備分配的數(shù)據(jù)結(jié)構(gòu)有:設(shè)備控制表DCT、系統(tǒng)設(shè)備表SDT、控制器表COCT和通道控制表CHCT。

SDT整個系統(tǒng)一張,每個設(shè)備有一張DCT,每個控制器有一張COCT,每個通道有一張CHCT。SDT中有一個DCT指針,DCT中有一個COCT指針,COCT中有一個CHCT指針。

11.設(shè)計一個設(shè)備分派的安全檢查程序,以保證把某臺設(shè)備分派給某進程是不會出現(xiàn)死鎖。

答:參見任愛華主編的“計算機操作系統(tǒng)〞,由科學出版社出版的教材4.5.2節(jié)設(shè)備分派策略和4.5.3節(jié)圖4.16。

12.何謂I/O控制?它的主要任務是什么?

答:I/O控制是指從用戶進程提出輸入/輸出請求開始,到為用戶進程分派設(shè)備和啟動有關(guān)設(shè)備進行I/O操作,并在I/O操作完成之后響應中斷,直至善后處理為止的整個系統(tǒng)控制過程。主要任務就是完成進程提出的I/O請求,實現(xiàn)對外設(shè)的分派和控制。

13.I/O控制可用哪幾種方式實現(xiàn)?各有什么優(yōu)缺點?答:I/O控制過程在系統(tǒng)中可以按三種方式實現(xiàn):

1)作為請求I/O操作的進程的一部分實現(xiàn)。這種狀況下,請求I/O進程應具有良好的實時性,且系統(tǒng)應能根據(jù)中斷信號的內(nèi)容確鑿地調(diào)度對應I/O請求的進程占據(jù)處理機,由于在大多數(shù)狀況下,當一個進程發(fā)出I/O請求命令之后,都被阻塞睡眠。

2)作為當前進程的一部分實現(xiàn)。作為當前進程的一部分實現(xiàn)時,不要求系統(tǒng)具有高的實時性。但由于當前進程與完成的I/O操作無關(guān),所以當前進程不能接受I/O請求命令的處理,因此,假使讓請求I/O操作的進程調(diào)用I/O操作控制部分(I/O請求處理、設(shè)備分派、緩沖區(qū)分派等),而讓當前進程負責調(diào)用中斷處理部分也是一種可行的I/O控制方案。

3)I/O控制由專門的系統(tǒng)進程——I/O進程完成。在用戶進程發(fā)出I/O請求命令之后,系統(tǒng)調(diào)度I/O進程執(zhí)行,控制I/O操作。同樣,在外設(shè)發(fā)出中斷請求之后,I/O進程也被調(diào)度執(zhí)行以響應中斷。I/O請求處理模塊、設(shè)備分派模塊以及緩沖區(qū)管理模塊和中斷原因分析、中斷處理模塊和設(shè)備驅(qū)動程序模塊等都是I/O進程的一部分。

14.設(shè)備驅(qū)動程序是什么?為什么要有設(shè)備驅(qū)動程序?用戶進程怎樣使用驅(qū)動程序?答:設(shè)備驅(qū)動程序是驅(qū)動物理設(shè)備直接進行I/O操作的控制程序。它負責設(shè)置與相應設(shè)備有關(guān)的寄放器的值,啟動設(shè)備進行I/O操作,指定操作的類型和數(shù)據(jù)流向等。

設(shè)備驅(qū)動程序作為輸入/輸出軟件中的一個層次,用于把軟件的設(shè)備操作指令轉(zhuǎn)換為相應的設(shè)備控制的機械操作命令,以實現(xiàn)用戶軟件的設(shè)備無關(guān)性。

當用戶進程發(fā)出輸入/輸出請求時,系統(tǒng)把請求處理的權(quán)限放在文件系統(tǒng),文件系統(tǒng)通過驅(qū)動程序提供的接口將任務下放到驅(qū)動程序,驅(qū)動程序?qū)υO(shè)備控制器進行操作,設(shè)備控制器再去控制設(shè)備本身。通過這種層層隔離的方式,用戶不必了解設(shè)備的各種特性,使用戶的操作簡單易行。

文件系統(tǒng)習題

1.說明以下術(shù)語:記錄、文件、文件系統(tǒng)、特別文件、目錄文件、路徑、文件描述符。答:記錄:記錄是一種數(shù)據(jù)結(jié)構(gòu),它是一些相關(guān)數(shù)據(jù)項的集合。數(shù)據(jù)項是一些相關(guān)字符的集合。例如,在“學生登記表〞文件中一個學生的所有數(shù)據(jù)項的集合就是一個學生狀況記錄,學生狀況記錄可以包括姓名、性別、年齡、成績等數(shù)據(jù)項,而姓名、年齡、性別、成績等數(shù)據(jù)項則由若干個字符組成。

文件:所謂文件是指具有符號名的數(shù)據(jù)信息的集合。該符號名是用以標識文件的,稱為文件名。

文件系統(tǒng):所謂文件系統(tǒng)是指在操作系統(tǒng)中專門負責存取和管理外部存儲器上目錄或文件信息的程序部分。

特別文件:在UNIX系統(tǒng)中,所有硬件設(shè)備也作為文件系統(tǒng)中的文件統(tǒng)一管理,這些硬件設(shè)備文件稱為特別文件,分為字符設(shè)備特別文件和數(shù)據(jù)塊設(shè)備特別文件兩類。

目錄文件:目錄文件是保存目錄結(jié)構(gòu)信息的文件,在目錄文件中保存著該目錄所包含的目錄或文件記錄,每個記錄包括目錄或文件的名字、大小、存儲位置、存取權(quán)限及其它相關(guān)數(shù)據(jù)項。

路徑:在層次(樹狀)目錄結(jié)構(gòu)中,最高層的目錄稱為根目錄。每個目錄又可以包含目錄或文件,稱為枝節(jié)點。每個文件是數(shù)據(jù)信息的集合,在其下面不能再包含目錄或文件,稱為葉節(jié)點。表示一個文件的從某個目錄開始直到該文件的路徑描述,稱為一個文件的路徑。

文件描述符:文件描述符是文件的標識符,文件系統(tǒng)通過文件描述符訪問文件。每個文件描述符與一個實際要開啟的文件信息結(jié)構(gòu)相聯(lián)系,在文件信息結(jié)構(gòu)中包含文件的各種屬性和標志。在UNIX系統(tǒng)中,當用戶啟動一個進程時,系統(tǒng)會自動分派三個標準輸入輸出文件的文件描述符0,1,2,文件描述符0代表標準輸入設(shè)備(缺省為鍵盤),文件描述符1代表標準輸出設(shè)備(缺省為顯示器),文件描述符2代表標準錯誤輸出設(shè)備(缺省為顯示器)。

2.文件系統(tǒng)的功能是什么?有哪些基本操作?答:一個文件系統(tǒng)應具有以下功能:

(1)使用戶能建立、修改和刪除一個文件;

(2)使用戶能在系統(tǒng)控制下共享其他用戶的文件,以便于用戶可以利用其他人的工作成果;

(3)使用戶能便利地建立文件;

(4)使用戶能在文件之間進行數(shù)據(jù)傳輸;

(5)使用戶能通過符號文件名對文件進行訪問,而不應要求用戶使用物理地址來訪問文件;

(6)為防止意外系統(tǒng)故障,文件系統(tǒng)應具有轉(zhuǎn)儲和恢復重要文件的能力;(7)為用戶文件提供可靠的保護和保密措施。

文件系統(tǒng)的基本操作包括對文件的操作和對目錄的操作。

對文件的操作主要包括開啟文件、關(guān)閉文件、建立文件、撤消文件、復制文件、文件換名、文件列表、打印或顯示文件等。

對目錄的操作主要包括創(chuàng)立目錄、刪除目錄、開啟目錄、關(guān)閉目錄、讀目錄項、目錄換

名、目錄鏈接、刪除目錄項等。

3.文件按其用途和性質(zhì)可分成幾類,有何特點?答:一.按文件用途分類

(1)系統(tǒng)文件:由與操作系統(tǒng)本身相關(guān)的一些信息(程序或數(shù)據(jù))所組成的文件。(2)庫文件:由系統(tǒng)提供的可供用戶調(diào)用的各種標準過程、函數(shù)和應用程序等。(3)用戶文件:由用戶的信息(程序或數(shù)據(jù))所組成的文件。

二.按文件中數(shù)據(jù)分類

(1)源文件:從終端或其它輸入設(shè)備輸入的源程序和數(shù)據(jù),以及作為處理結(jié)果的輸出數(shù)據(jù)文件。

(2)相對地址目標文件:源程序文件通過各種語言編譯程序編譯后所輸出的相對地址形式的目標程序文件。

(3)可執(zhí)行程序文件:相對地址目標文件通過鏈接裝配程序鏈接后所生成的可執(zhí)行程序文件。

三.按文件保護方式分類

(1)只讀文件:僅允許對其進行讀操作的文件。

(2)讀寫文件:有控制地允許不同用戶對其進行讀或?qū)懖僮鞯奈募#?)不保護文件:沒有任何存取限制的文件。

四.按文件保存時間分類

(1)臨時文件:批處理中從作業(yè)開始運行到作業(yè)終止,或是在分時處理中從會話開始到會話終止期間所保存的臨時性文件。一旦這些作業(yè)終止,其相應的臨時文件也被系統(tǒng)自動撤消。

(2)永久文件:在用戶沒有發(fā)出撤消該文件的命令前,一直需要在系統(tǒng)中保存的文件。

4.有些文件系統(tǒng)要求文件名在整個文件系統(tǒng)中是唯一的,有些系統(tǒng)只有要求文件名在其用戶的范圍內(nèi)是唯一的,請指出這兩種方法在實現(xiàn)和應用這兩方面有何優(yōu)缺點?

答:文件系統(tǒng)目錄組織可以分為一級目錄、二級目錄和多級目錄。在單用戶系統(tǒng)中,文件系統(tǒng)可以采用一級目錄。在這種狀況下,只有一級目錄,所以文件名在整個文件系統(tǒng)中必需是唯一的,不能出現(xiàn)重名。在多用戶系統(tǒng)中,可采用二級目錄,第一級目錄作為根目錄,每個用戶的文件目錄作為二級目錄。由于每個用戶的文件都分別保存在各自的目錄中,所以不同用戶可使用一致的文件名。多級目錄文件系統(tǒng)與二級目錄文件系統(tǒng)類似,只不過目錄層次更多更繁雜而已?,F(xiàn)代操作系統(tǒng)大多采用多級目錄文件系統(tǒng)。前者實現(xiàn)起來簡單,由于只需要單級目錄,后者應用起來更加便利。

5.什么是文件的規(guī)律組織?什么是文件的物理組織?文件的規(guī)律組織有幾種形式?答:從用戶的觀點出發(fā),需要文件系統(tǒng)提供一種規(guī)律結(jié)構(gòu)明了、使用便利的規(guī)律文件結(jié)構(gòu),這種規(guī)律文件結(jié)構(gòu)稱為文件的規(guī)律組織。從系統(tǒng)實現(xiàn)的觀點出發(fā),需要為文件系統(tǒng)設(shè)計一種在外存儲器上存放有效的、實際的物理文件結(jié)構(gòu),這種物理文件結(jié)構(gòu)稱為文件的物理組織。

常見的文件規(guī)律組織有以下三種形式:(1)順序結(jié)構(gòu)的定長記錄。

(2)順序結(jié)構(gòu)的變長記錄。

(3)按關(guān)鍵字存取記錄。

6.文件的物理組織常見的有幾種?它們與文件的存取方式有什么關(guān)系?為什么?答:常見的文件物理組織有以下形式:

(1)順序文件結(jié)構(gòu):順序文件結(jié)構(gòu)是計算機中最早使用的一種文件結(jié)構(gòu)。順序文件是根據(jù)記錄中某一公共的屬性,把一個由規(guī)律上連續(xù)的記錄分派到連續(xù)的物理塊中,即用物理上的順序存儲來實現(xiàn)文件的規(guī)律次序。在這種狀況下,物理順序和規(guī)律順序是一致的。(2)隨機文件結(jié)構(gòu):在隨機結(jié)構(gòu)中,文件存放在直接存取型存儲設(shè)備上,例如磁盤。磁盤文件由若干個不一定連續(xù)的磁盤扇區(qū)組成。隨機文件在數(shù)據(jù)記錄的關(guān)鍵字與其地址之間建立了某種對應關(guān)系。隨機文件的記錄就是

溫馨提示

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

評論

0/150

提交評論