操作系統(tǒng)實用教程(第二版) OS習題答案.doc_第1頁
操作系統(tǒng)實用教程(第二版) OS習題答案.doc_第2頁
操作系統(tǒng)實用教程(第二版) OS習題答案.doc_第3頁
操作系統(tǒng)實用教程(第二版) OS習題答案.doc_第4頁
操作系統(tǒng)實用教程(第二版) OS習題答案.doc_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

操作系統(tǒng)習題解答1. 存儲程序式計算機的主要特點是什么?答:主要特點是以順序計算為基礎,根據(jù)程序規(guī)定的順序依次執(zhí)行每一個操作,控制部件根據(jù)程序對整個計算機的活動實行集中過程控制,即為集中順序過程控制。這類計算是過程性的,實際上這種計算機是模擬人們的手工計算的產物。即首先取原始數(shù)據(jù),執(zhí)行一個操作,將中間結果保存起來;再取一個數(shù),和中間結果一起又執(zhí)行一個操作,如此計算下去。在遇到多個可能同時執(zhí)行的分支時,也是先執(zhí)行完一個分支,然后再執(zhí)行第二個分支,直到計算完畢。2. 批處理系統(tǒng)和分時系統(tǒng)各具有什么特點?答:批處理系統(tǒng)是在解決人機矛盾以及高速度的中央處理機和低速度的I/O設備這兩對矛盾的過程中發(fā)展起來的。它的出現(xiàn)改善了CPU和外設的使用情況,其特點是實現(xiàn)了作業(yè)的自動定序、自動過渡,從而使整個計算機系統(tǒng)的處理能力得以提高。在多道系統(tǒng)中,若采用了分時技術,就是分時操作系統(tǒng),它是操作系統(tǒng)的另一種類型。它一般采用時間片輪轉的辦法,使一臺計算機同時為多個任務服務。對用戶都能保證足夠快的響應時間,并提供交互會話功能。它與批處理系統(tǒng)之間的主要差別在于,分時系統(tǒng)是人機交互式系統(tǒng),響應時間快;而批處理系統(tǒng)是作業(yè)自動定序和過渡,無人機交互,周轉時間長。3. 實時系統(tǒng)的特點是什么?一個實時信息處理系統(tǒng)和一個分時系統(tǒng)從外表看來很相似,它們有什么本質的區(qū)別呢?答:實時系統(tǒng)對響應時間的要求比分時系統(tǒ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)大部分是為特殊的實時任務設計的,這類任務對系統(tǒng)的可靠性和安全性要求很高。與分時系統(tǒng)相比,實時系統(tǒng)沒有那樣強的交互會話功能,通常不允許用戶通過實時終端設備去編寫新的程序或修改已有的程序。實時終端設備通常只是作為執(zhí)行裝置或詢問裝置,屬專用系統(tǒng)。4. 什么是多道程序設計技術?試述多道程序運行的特征。答:多道程序設計技術是在計算機內存中同時存放幾道相互獨立的程序,使它們在管理程序控制下,相互穿插地運行。多道程序運行的特征如下:(1) 多道:計算機內存中同時存放幾道相互獨立的程序。(2) 宏觀上并行:同時進入系統(tǒng)的幾道程序都處于運行過程中,即它們先后開始了各自的運行,但都未運行完畢。(3) 微觀上串行:從微觀上看,內存中的多道程序輪流地或分時地占有處理機,交替執(zhí)行(單處理機情況)。5. 什么是操作系統(tǒng)?從資源管理的角度去分析操作系統(tǒng),它的主要功能是什么?答:操作系統(tǒng)是一個大型的程序系統(tǒng),它負責計算機的全部軟、硬件資源的分配與回收,控制與協(xié)調等并發(fā)活動,實現(xiàn)信息的存取和保護。它提供用戶接口,使用戶獲得良好的工作環(huán)境,為用戶擴展新的系統(tǒng)功能提供軟件平臺,操作系統(tǒng)使整個計算機系統(tǒng)實現(xiàn)了高效率和高度自動化。操作系統(tǒng)的主要功能是管理系統(tǒng)的軟、硬件資源,它們可歸為四類:處理機管理、存儲管理、設備管理和文件管理等。6. 操作系統(tǒng)的主要特征是什么?為什么會具有這樣的特征?答:操作系統(tǒng)的特征有:并發(fā)性,共享性,不確定性,虛擬性。其中并發(fā)性和共享性是其主要特征。由于操作系統(tǒng)建立并控制著多個并發(fā)執(zhí)行的進程,完成著同時進行的幾項任務,進程之間相互制約,并且共享著系統(tǒng)的某些資源,進程的這些活動便形成了操作系統(tǒng)的主要特征。并且許多事件的產生是隨機的,而且事件產生的先后順序又有許多可能組合,但操作系統(tǒng)必須能處理任何一種可能的事件序列。所以,操作系統(tǒng)又具有不確定性。另外,操作系統(tǒng)中還廣泛使用了虛擬技術,使得配備了操作系統(tǒng)之后的系統(tǒng)在資源的使用上更加自由和靈活,不受物理設備數(shù)量的限制。7. 設一計算機系統(tǒng)有輸入機一臺、打印機兩臺,現(xiàn)有二道程序同時投入運行,且程序A先開始運行,程序B后運行。程序A的運行軌跡為:計算50ms,打印信息100ms,再計算50ms ,打印信息100ms ,結束。程序B運行的軌跡為:計算50ms,輸入數(shù)據(jù)80ms,再計算100ms,結束。要求:(1) 用圖畫出這二道程序并發(fā)執(zhí)行時的工作情況。(2) 說明在二道程序運行時,CPU有無空閑等待?若有,在哪段時間內等待?為什么會空閑等待?(3) 程序A、B運行時有無等待現(xiàn)象?在什么時候會發(fā)生等待現(xiàn)象?答:(1)工作情況如圖。100 ms50 ms計算100 ms打印50 ms計算打印50 ms80 ms計算輸入100 ms計算50 ms等待20 ms等待0 ms50 ms100 ms150 ms180 ms200 ms300 ms程序A程序B時間(2)CPU有空閑等待,它發(fā)生在100 ms150 ms時間段內,此時間段內程序A與程序B都在進行I/O操作。(3)程序A無等待現(xiàn)象,程序B在0 ms50 ms時間段與180 ms200 ms時間段內有等待現(xiàn)象。工作情況的另一種描述形式如下:程序B程序A打印機輸入設備300ms150ms180ms100ms50ms200mst 進程管理習題1現(xiàn)代操作系統(tǒng)中為什么要引入“進程”概念? 它與程序有什么區(qū)別? 答:之所以要引入進程的概念,是因為在一些可以并發(fā)的程序段之間,存在著某種相互制約的關系,每個程序段的執(zhí)行不僅要受到其它程序執(zhí)行的制約,而且還要動態(tài)地依賴系統(tǒng)資源的分配情況,因此每個可以并發(fā)執(zhí)行的程序段就會因外界條件的限制而不能運行,被迫處于阻塞狀態(tài)。僅用程序的概念無法表示程序的走走停停以及程序運行過程中對資源的競爭現(xiàn)象,因此需要采用一種動態(tài)的概念描述并發(fā)程序這種走走停停的現(xiàn)象,這就產生了進程的概念。 進程和程序的區(qū)別:(1) 進程是程序的執(zhí)行過程,是動態(tài)的過程,屬于一種動態(tài)概念。程序是一組有序靜態(tài)指令和數(shù)據(jù)的集合,用來指示處理機的操作,是一種靜態(tài)概念。(2) 從結構上看,每個進程實體是由程序段和相應的數(shù)據(jù)段兩部分構成,并且進程結構中還要包含PCB,即進程控制塊。(3) 一個進程可以涉及到一個或幾個程序的執(zhí)行;反之,同一程序可以對應多個進程,即同一個程序段可以在不同數(shù)據(jù)集合上運行,可以構成不同的進程。(4) 進程能真實地描述并發(fā)執(zhí)行的過程,而程序僅僅是靜態(tài)指令堆積的序列。(5) 進程有可創(chuàng)建其他進程的功能,而一般的程序不具有創(chuàng)建其它程序的功能。(6) 每一個程序都是在一個進程現(xiàn)場中運行的。2敘述進程的并發(fā)性和制約性。答:并發(fā)性是進程的重要特征。即多道程序中多個進程同時向前推進的過程,沒個進程總是與其它進程并發(fā)地執(zhí)行的。進程的制約性是指一個進程的運行受到另一進程的制約。比如有的進程可能正在等待另一進程的計算結果而無法運行,或者進程所需的資源被別的進程占有而無法運行。3進程的含義是什么? 如何構造和描述進程? 答:進程是程序的一次執(zhí)行。進程由“進程控制塊+程序+數(shù)據(jù)”構成,用進程控制塊描述進程。4有三個并發(fā)進程,R負責從輸入設備讀入信息并傳送給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: array 0.k-1 of item;bufferP: array 0.k-1 of item;procedure R beginwhile true dobegin輸入數(shù)據(jù)data1;P (emptyR);P (mutexR);bufferR(inR):=data1;inR:=(inR+1) mod (k);V(mutexR);V(fullR);endend;procedure M beginwhile true do beginP(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;procedure P:beginwhile true do beginP(fullP);P(mutexP)data3:=bufferP(outP);outP:=(outP+1)mod(k);V(mutexP);V(emptyP);打印 data3;end end;beginseminitinal(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;cobeginR;M;P;coendend.(2)單緩沖區(qū),大小為kvarempty,full,ok,mutex: semaphere;inR,outR,inP,outP: integer;buffer: array 0.k-1 of item;procedure R:beginwhile true dobegin輸入數(shù)據(jù) data1;P(empty);P(mutex);buffer(inR):=data1;inR:=(inR+1) mod (k);V(mutex);V(full)endend;procedure M:beginwhile ture do beginP(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);endend;proedure P:begin while ture dobeginP(ok);P(mutex);data3:=buffer(outP);outP:=(outP+1) mod(k);V(mutex);V(empty);打印data3;end;endbeginseminitial(empty.v,k;full.v,0;ok.v,0;mutex.v,1);inR:=0;outR:=0;inP:=0;outP:=0;cobeginR;M;P;coendend.5 在生產者與消費者問題的算法中,交換兩個V操作的次序會有什么結果? 交換兩P操作的次序呢? 說明理由。 答:交換兩P操作的次序有可能造成死鎖。例如,當無空緩沖區(qū)時,如果此時生產者先做互斥操作,即:P(mutex),然后才做同步操作P(empty),由于此時empty=-1造成生產者被阻塞。當消費者執(zhí)行到互斥操作P(mutex)時,由于生產者已執(zhí)行過P(mutex)并未作釋放,所以此時mutex=-1,造成消費者也被阻塞,生產者等消費者釋放空緩沖區(qū),而消費者則等待生產者釋放臨界資源的使用權,所以兩個進程都無法向前推進而造成死鎖。 交換兩個V操作的次序不會發(fā)生死鎖。6 設有三個進程A、B、C,其中A與B構成一對生產者與消費者(A為生產者,B為消費者),共享一個由n個緩沖塊組成的緩沖池;B與C也構成一對生產者與消費者(此時B為生產者,C為消費者),共享另一個由m個緩沖塊組成的緩沖池。用P、V操作描述它們之間的同步關系。答:var mutexA,emptyA,fullA,mutexC,emptyC,fullC: semaphere;i,j,a,b: integer;bufferA : array 0.n-1 of itembufferC : array 0.m-1 of item;procedure produceA:生產者進程Abegin while ture do begin Produce next product;P(emptyA);P(mutexA);bufferA(i) :=products;i:=(i+1) mod(n) ;V(mutexA);V(fullA)end endprocedure consumer_procedurerB: 消費者和生產者進程Bbegin while ture dobegin P(fullA); P(mutexA);Goods:=buffer(j);j:=(j+1)mod(n);V(mutexA);V(emptyA);Consume goods and Produce next product C;P(emptyC);P(mutexC);BufferC(a):=product C;a:=(a+1) mod(m);V(mutexC);V(fullC)endend;procedure consumerC ; 消費者C進程 begin while ture do begin P(fullC); P(mutexC);Goods:=bufferC(b); b:=(b+1) mod(m);V(mutexC);V(emptyC);Consume product;endend;beginSeminitsal(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;cobegin produce Aconsumer_procedurerB;consumerCcoendend.7 有一閱覽室,共有100個座位。讀者進入時必須先在一張登記表上登記,該表為每一座位列一表目,包括座號和讀者姓名。讀者離開時要消掉登記內容。試用P、V操作描述讀者進程的同步結構。答:varmutex: semaphere;信號量,用于互斥full : semaphere;信號量,用于同步table : array 0.n-1 of item;登記表procedure reader;讀者進程beginP(full);P(mutex);Register_name(table);V(mutex);Reading;P(mutex);Delet_name(table);V(mutex);V(full)end;beginseminitsal(mutex.v,1; full.v,100);初始化cobeginreader;reader;.coendend.8引入線程的目的是什么?答:引入線程的目的是提高程序執(zhí)行的并行度。9 引入管程的目的是什么? 答:引入管程的目的把分散的臨界區(qū)集中起來管理,為每個可共享的資源設立一個專門的機構來統(tǒng)一管理各進程對該共享資源的訪問。這樣使互斥操作更安全,既便于系統(tǒng)管理共享資源,又能保證互斥訪問。10 用管程實現(xiàn)讀者與寫者關系。管程部分描述如下:monitor rw;condition wrt;var readcount: integer;procedure entry read _start( );begin readcount:=readcount+1;end;procedure entry read_finish( );beginreadcount:=readcount-1;if readcount=0 then singal(wrt)end;procedure entry write( ); begin if readcount0 then wait(wrt); perform writing;endbeginreadcount:= 0endend;主程序部分:procedure writter:beginrepeatrw.write( );until false;end procedure reader:beginrepeat rw.read_start( );perform reading;rw.read_finish( );until false;endcobeginreader;writter;coend.11 何謂進程通信? 答: 進程通信是指進程之間的信息交換。12 消息通信機制中應設置哪些基本通信原語? 答:應設置send(A)(發(fā)送消息)原語,A是原語的參數(shù),表示發(fā)送區(qū)的起始地址。receive(B)(接受消息)原語,B是接受進程提供的接收區(qū)起始地址。13何謂死鎖?舉例說明之。 答:兩個以上的進程相互等待一個永遠不可能發(fā)生的條件而無法向前推進,這種僵局稱為死鎖。例如:如圖所示的單行道上的交通阻塞。存儲管理習題1何謂名字空間?何謂地址空間?何謂存儲空間? 答:名字空間:程序中符號名的集合。 地址空間:在目標模塊中的地址的集合。 存儲空間:實際內存地址的集合。符號源程序相對目標程序(裝配模塊)絕對目標程序 匯編編譯 地址重定位 連接 名字空間 地址空間 存儲空間2在分區(qū)分配方案能用于實現(xiàn)虛擬內存嗎? 答:不能,因為虛擬存儲最重要的特點就是離散性,而分區(qū)分配方案只適用于連續(xù)分配方式,即全部程序都放在內存,而不允許程序運行時一部分在內存、一部分在外存。所以,無法提供內存的邏輯擴充功能。3為什么要引入動態(tài)重定位?如何實現(xiàn)?動態(tài)重定位示意圖1000110013001400 LOAD 1,300 5678內存 LOAD 1,300 5678 0100300400某程序的地址空間1000+ 答:動態(tài)重定位便于程序浮動。由于在目標模塊裝入內存時無需對其進行任何修改,因而裝入之后再搬遷也不會影響其正確執(zhí)行。實現(xiàn)時,需要采用動態(tài)重定位硬件機構:重定位寄存器和加法器。如圖所示。 4請詳細說明,引入分頁存儲管理是為了滿足用戶哪幾方面的需求? 答:1、為了充分利用空閑的存儲空間,采取內存的不連續(xù)分配; 2、為了消除外零頭,采用等分內存; 3、為了程序的浮動方便,采用動態(tài)地址重定位; 4、為了從邏輯上擴充內存,按照邏輯地址空間來訪問程序,采用了虛擬存儲管理。5為什么說分段系統(tǒng)較之分頁系統(tǒng)更易于實現(xiàn)地址變換? 答:因為分段是按照邏輯功能分段,這樣在地址變換時,針對的是一個完整的邏輯功能段,所以可以在實際需要時進行動態(tài)連接。而分頁則是按照物理頁的大小劃分所以一定要事先將所有的頁面聯(lián)接成一個整體后才能實現(xiàn)地址變換。6分頁存儲管理中有哪幾種常用的頁面置換算法?試比較它們的優(yōu)缺點。 答:(1) 先進先出(FIFO)(2) 最近最少使用的淘汰算法(LRU)(3) 最近不經常使用的淘汰算法(LFU)(4) 最優(yōu)算法(OPT)FIFO算法最簡單,但效率不高。LRU的近似算法和LFU是較為實用的算法,效果較好,實現(xiàn)也不難。OPT算法是最佳算法,但并不實用,因為要跟蹤各頁面方可預測未來,而這種預測往往是困難的。輸入/輸出系統(tǒng)習題1設備管理的目標和功能是什么? 答:設備管理的主要目標是:1) 選擇和分配輸入/輸出設備以便進行數(shù)據(jù)傳輸操作;2) 控制輸入/輸出設備和CPU(或內存)之間交換數(shù)據(jù);3) 為用戶提供一個友好的透明接口,把用戶和設備的硬件特性分開,使得用戶在編制應用程序時不必涉及具體設備,系統(tǒng)按用戶要求控制設備工作;4) 提高設備和設備之間、CPU和設備之間以及進程和進程之間的并行操作度,以使操作系統(tǒng)獲得最佳效率。設備管理程序的主要功能是:1) 提供和進程管理系統(tǒng)的接口。當進程申請設備資源時,該接口將進程的請求轉送給設備管理程序;2) 進行設備分配;3) 實現(xiàn)設備和設備、設備和CPU等之間的并行操作;4) 進行緩沖區(qū)管理。2數(shù)據(jù)傳送控制方式有哪幾種?試比較它們各自的優(yōu)缺點。 答:外部設備和內存之間的常用數(shù)據(jù)傳送控制方式有四種。它們是: 1) 程序直接控制方式;其優(yōu)點是控制簡單,所需硬件支持少。其缺點是CPU和外部設備只能串行工作,CPU的利用率低;不能實現(xiàn)設備之間的并行工作;只適用于那些CPU執(zhí)行速度較慢,而且外部設備較少的系統(tǒng)。 2) 中斷控制方式;其優(yōu)點是所需硬件支持較少,與程序直接控制方式相比,使CPU的利用率大大提高且能支持多道程序和設備的并行操作。其缺點是消耗的CPU處理時間較多;隨著外部I/O設備的增多和速度的提高,可能會造成CPU無法響應中斷和出現(xiàn)數(shù)據(jù)丟失現(xiàn)象。 3) DMA方式;其優(yōu)點是I/O速度較快,大大減少了CPU進行中斷處理的次數(shù);排除了因并行操作設備過多時CPU來不及處理或因速度不匹配而造成數(shù)據(jù)丟失等現(xiàn)象。其缺點是所需硬件較多;多個DMA控制器的同時使用會引起內存地址的沖突并使得控制過程進一步復雜化。 4) 通道方式;其優(yōu)點是I/O速度快,進一步減輕了CPU的工作負擔和增加了計算機系統(tǒng)的并行工作能力。其缺點是控制較復雜,所需的硬件最復雜。3何謂通道?試畫出通道控制方式時的CPU、通道和設備的工作流程圖。答:通道是一個獨立于CPU的專管輸入/輸出控制的處理機,它控制設備與內存直接進行數(shù)據(jù)交換。它有自己的通道指令,可由CPU執(zhí)行相應指令來啟動通道,并在操作結束時向CPU發(fā)中斷信號。在運行的時候,通道有自己的總線控制部分,可以進行總線操作。在有了通道之后,CPU僅需發(fā)出一條I/O指令給通道,說明要執(zhí)行的I/O操作和要訪問的I/O設備。通道接到指令后,就啟動相應的通道程序來完成I/O操作。如下圖:設備指定通道接收到start指令通道設置設備的控制寄存器數(shù)據(jù)入數(shù)據(jù)緩沖寄存器改變設備控制寄存器的內容傳送完畢?發(fā)中斷信號,停止I/O操作否是發(fā)start指令,指明I/O操作、設備號和對應通道,允許中斷位與啟動位置1當前進程等待,調度程序調度其它進程被調度進程執(zhí)行接收到中斷信號嗎?轉中斷處理否是CPU緩沖寄存器的內容入內存4何謂中斷?何謂中斷處理?何謂中斷響應? 答:中斷是指計算機在執(zhí)行期間,系統(tǒng)內發(fā)生任何非尋常的或非預期的急需處理事件,使得CPU暫時中斷當前正在執(zhí)行的程序而轉去執(zhí)行相應的事件處理程序,待處理完畢后,又返回原來被中斷處繼續(xù)執(zhí)行的過程。 CPU轉去執(zhí)行相應的事件處理程序的過程稱為中斷處理。 CPU收到中斷請求后轉到相應的事件處理程序稱為中斷響應。5何謂開中斷?何謂關中斷?何謂中斷屏蔽? 答:盡管產生了中斷源和發(fā)出了中斷請求,但CPU內部的處理機狀態(tài)字PSW的中斷允許位已被清除,從而不允許CPU響應中斷。這種情況稱為禁止中斷,也稱為關中斷。CPU禁止中斷后只有等到PSW的中斷允許位被重新設置后才能接收中斷,PSW的中斷允許位的設置被稱為開中斷。中斷屏蔽是指在中斷請求產生之后,系統(tǒng)用軟件方式有選擇地封鎖部分中斷而允許其余部分的中斷仍能得到響應。6何謂陷入?何謂軟中斷?試述中斷、陷入和軟中斷之間異同。 答:陷入是指中斷指令造成中斷;而由程序運算引起的各種錯誤,如地址非法等稱為異常。軟中斷是通信進程之間用來模擬硬中斷的一種信號通信方式,它的處理過程類似于中斷過程,但不需要通過硬件來產生中斷請求。中斷則是指外部設備發(fā)出的中斷;中斷與陷入除在優(yōu)先級設置方面有區(qū)別之外,還有如下區(qū)別: (1)陷入通常由處理機正在執(zhí)行的現(xiàn)行指令引起,而中斷則是由與現(xiàn)行指令無關的中斷源引起的。也即:對處理機來說,陷入是主動的,而中斷是被動的。 (2)陷入處理程序提供的服務為當前進程所用,而中斷處理程序提供的服務則不是為了當前進程的。 (3)CPU在執(zhí)行完一條指令之后,下一條指令開始之前響應中斷,而在一條指令執(zhí)行中響應陷入。中斷與陷入都可以看作是硬中斷,而軟中斷則不然,它是通信進程之間用來模擬硬中斷的一種信號通信方式。軟中斷和硬中斷相同的地方是:其中斷源發(fā)中斷請求或軟中斷信號后,由接收進程在適當?shù)臅r機自動進行中斷處理或完成軟中斷信號所對應的功能。7描述中斷控制方式時的CPU動作過程。是否CPU向設備發(fā)start命令 將中斷允許位置1 中斷處理被中斷程序繼續(xù)執(zhí)行受到中斷信號 了嗎? 調度程序調度 其他進程 其他進程執(zhí)行答:8何謂緩沖區(qū)?為什么要引入緩沖? 答:緩沖即是使用專用硬件緩沖器或在內存中劃出一個區(qū)域用來暫時存放輸入輸出數(shù) 據(jù)的地方 引入緩沖是為了匹配外設和CPU之間的處理速度,減少中斷次數(shù)和CPU的中斷處理 時間。9在對緩沖隊列em(空緩沖區(qū)),in(輸入緩沖區(qū))和out(輸出緩沖區(qū))進行管理時,采用最近最少使用算法存取緩沖區(qū),即在把一個緩沖區(qū)分配給進程之后,只要不是所有其它的緩沖區(qū)都在更近的時間內被使用過了,則該緩沖區(qū)不再被分配出去。試描述過程take_buf(type,number)和add_buf(type,number)。struct bufferint type;int access_time;type * next_element;em,in,out;take_buf(type,number); buffer *p,number; p= get_the_head_of _the queue(type); while (pnull) if (number. access_timep.access_time)return *p;elsep= p.next_element;return number;add_buf(type,number); buffer *p,number; p = get_the_head_of _the queue(type);while (pnull)p= p.next_element;p.next_element=number;10用于設備分配的數(shù)據(jù)結構有哪些?它們之間的關系是什么? 答:用于設備分配的數(shù)據(jù)結構有:設備控制表DCT、系統(tǒng)設備表SDT、控制器表COCT和通道控制表CHCT。 SDT整個系統(tǒng)一張,每個設備有一張DCT,每個控制器有一張COCT,每個通道有一張CHCT。SDT中有一個DCT指針,DCT中有一個COCT指針,COCT中有一個CHCT指針。11設計一個設備分配的安全檢查程序,以保證把某臺設備分配給某進程是不會出現(xiàn)死鎖。 答:參見任愛華主編的“計算機操作系統(tǒng)”,由科學出版社出版的教材4.5.2節(jié)設備分配策略和4.5.3節(jié)圖4.16。12何謂I/O控制?它的主要任務是什么? 答:I/O控制是指從用戶進程提出輸入/輸出請求開始,到為用戶進程分配設備和啟動有關設備進行I/O操作,并在I/O操作完成之后響應中斷,直至善后處理為止的整個系統(tǒng)控制過程。主要任務就是完成進程提出的I/O請求,實現(xiàn)對外設的分配和控制。13I/O控制可用哪幾種方式實現(xiàn)?各有什么優(yōu)缺點? 答: I/O控制過程在系統(tǒng)中可以按三種方式實現(xiàn):1)作為請求I/O操作的進程的一部分實現(xiàn)。這種情況下,請求I/O進程應具有良好的實時性,且系統(tǒng)應能根據(jù)中斷信號的內容準確地調度對應I/O請求的進程占據(jù)處理機,因為在大多數(shù)情況下,當一個進程發(fā)出I/O請求命令之后,都被阻塞睡眠。2)作為當前進程的一部分實現(xiàn)。作為當前進程的一部分實現(xiàn)時,不要求系統(tǒng)具有高的實時性。但由于當前進程與完成的I/O操作無關,所以當前進程不能接受I/O請求命令的處理,因此,如果讓請求I/O操作的進程調用I/O操作控制部分(I/O請求處理、設備分配、緩沖區(qū)分配等),而讓當前進程負責調用中斷處理部分也是一種可行的I/O控制方案。3)I/O控制由專門的系統(tǒng)進程I/O進程完成。在用戶進程發(fā)出I/O請求命令之后,系統(tǒng)調度I/O進程執(zhí)行,控制I/O操作。同樣,在外設發(fā)出中斷請求之后,I/O進程也被調度執(zhí)行以響應中斷。I/O請求處理模塊、設備分配模塊以及緩沖區(qū)管理模塊和中斷原因分析、中斷處理模塊和設備驅動程序模塊等都是I/O進程的一部分。14設備驅動程序是什么?為什么要有設備驅動程序?用戶進程怎樣使用驅動程序? 答:設備驅動程序是驅動物理設備直接進行I/O操作的控制程序。它負責設置與相應設備有關的寄存器的值,啟動設備進行I/O操作,指定操作的類型和數(shù)據(jù)流向等。設備驅動程序作為輸入/輸出軟件中的一個層次,用于把軟件的設備操作指令轉換為相應的設備控制的機械操作命令,以實現(xiàn)用戶軟件的設備無關性。當用戶進程發(fā)出輸入/輸出請求時,系統(tǒng)把請求處理的權限放在文件系統(tǒng),文件系統(tǒng)通過驅動程序提供的接口將任務下放到驅動程序,驅動程序對設備控制器進行操作,設備控制器再去控制設備本身。通過這種層層隔離的方式,用戶不必了解設備的各種特性,使用戶的操作簡單易行。文件系統(tǒng)習題 1.說明下列術語:記錄、文件、文件系統(tǒng)、特殊文件、目錄文件、路徑、文件描述符。 答:記錄:記錄是一種數(shù)據(jù)結構,它是一些相關數(shù)據(jù)項的集合。數(shù)據(jù)項是一些相關字符的集合。例如,在“學生登記表”文件中一個學生的所有數(shù)據(jù)項的集合就是一個學生情況記錄,學生情況記錄可以包括姓名、性別、年齡、成績等數(shù)據(jù)項,而姓名、年齡、性別、成績等數(shù)據(jù)項則由若干個字符組成。文件:所謂文件是指具有符號名的數(shù)據(jù)信息的集合。該符號名是用以標識文件的,稱為文件名。文件系統(tǒng):所謂文件系統(tǒng)是指在操作系統(tǒng)中專門負責存取和管理外部存儲器上目錄或文件信息的程序部分。特殊文件:在UNIX系統(tǒng)中,所有硬件設備也作為文件系統(tǒng)中的文件統(tǒng)一管理,這些硬件設備文件稱為特殊文件,分為字符設備特殊文件和數(shù)據(jù)塊設備特殊文件兩類。目錄文件:目錄文件是保存目錄結構信息的文件,在目錄文件中保存著該目錄所包含的目錄或文件記錄,每個記錄包括目錄或文件的名字、大小、存儲位置、存取權限及其它相關數(shù)據(jù)項。路徑:在層次(樹狀)目錄結構中,最高層的目錄稱為根目錄。每個目錄又可以包含目錄或文件,稱為枝節(jié)點。每個文件是數(shù)據(jù)信息的集合,在其下面不能再包含目錄或文件,稱為葉節(jié)點。表示一個文件的從某個目錄開始直到該文件的路徑描述,稱為一個文件的路徑。文件描述符:文件描述符是文件的標識符,文件系統(tǒng)通過文件描述符訪問文件。每個文件描述符與一個實際要打開的文件信息結構相聯(lián)系,在文件信息結構中包含文件的各種屬性和標志。在UNIX系統(tǒng)中,當用戶啟動一個進程時,系統(tǒng)會自動分配三個標準輸入輸出文件的文件描述符0,1,2,文件描述符0代表標準輸入設備(缺省為鍵盤),文件描述符1代表標準輸出設備(缺省為顯示器),文件描述符2代表標準錯誤輸出設備(缺省為顯示器)。2.文件系統(tǒng)的功能是什么?有哪些基本操作? 答:一個文件系統(tǒng)應具有以下功能:(1)使用戶能建立、修改和刪除一個文件;(2)使用戶能在系統(tǒng)控制下共享其他用戶的文件,以便于用戶可以利用其他人的工作成果;(3)使用戶能方便地建立文件;(4)使用戶能在文件之間進行數(shù)據(jù)傳輸;(5)使用戶能通過符號文件名對文件進行訪問,而不應要求用戶使用物理地址來訪問文件;(6)為防止意外系統(tǒng)故障,文件系統(tǒng)應具有轉儲和恢復重要文件的能力;(7)為用戶文件提供可靠的保護和保密措施。文件系統(tǒng)的基本操作包括對文件的操作和對目錄的操作。對文件的操作主要包括打開文件、關閉文件、建立文件、撤消文件、復制文件、文件換名、文件列表、打印或顯示文件等。對目錄的操作主要包括創(chuàng)建目錄、刪除目錄、打開目錄、關閉目錄、讀目錄項、目錄換名、目錄鏈接、刪除目錄項等。3.文件按其用途和性質可分成幾類,有何特點?答:一. 按文件用途分類(1)系統(tǒng)文件:由與操作系統(tǒng)本身相關的一些信息(程序或數(shù)據(jù))所組成的文件。(2)庫文件:由系統(tǒng)提供的可供用戶調用的各種標準過程、函數(shù)和應用程序等。(3)用戶文件:由用戶的信息(程序或數(shù)據(jù))所組成的文件。二. 按文件中數(shù)據(jù)分類 (1)源文件:從終端或其它輸入設備輸入的源程序和數(shù)據(jù),以及作為處理結果的輸出數(shù)據(jù)文件。(2)相對地址目標文件:源程序文件通過各種語言編譯程序編譯后所輸出的相對地址形式的目標程序文件。(3)可執(zhí)行程序文件: 相對地址目標文件通過鏈接裝配程序鏈接后所生成的可執(zhí)行程序文件。 三. 按文件保護方式分類(1)只讀文件:僅允許對其進行讀操作的文件。(2)讀寫文件:有控制地允許不同用戶對其進行讀或寫操作的文件。 (3)不保護文件:沒有任何存取限制的文件。四. 按文件保存時間分類(1)臨時文件:批處理中從作業(yè)開始運行到作業(yè)結束,或是在分時處理中從會話開始到會話終止期間所保存的臨時性文件。一旦這些作業(yè)終止,其相應的臨時文件也被系統(tǒng)自動撤消。(2)永久文件:在用戶沒有發(fā)出撤消該文件的命令前,一直需要在系統(tǒng)中保存的文件。4.有些文件系統(tǒng)要求文件名在整個文件系統(tǒng)中是唯一的,有些系統(tǒng)只有要求文件名在其用戶的范圍內是唯一的,請指出這兩種方法在實現(xiàn)和應用這兩方面有何優(yōu)缺點? 答:文件系統(tǒng)目錄組織可以分為一級目錄、二級目錄和多級目錄。在單用戶系統(tǒng)中,文件系統(tǒng)可以采用一級目錄。在這種情況下,只有一級目錄,所以文件名在整個文件系統(tǒng)中必須是唯一的,不能出現(xiàn)重名。在多用戶系統(tǒng)中,可采用二級目錄,第一級目錄作為根目錄,每個用戶的文件目錄作為二級目錄。由于每個用戶的文件都分別保存在各自的目錄中,所以不同用戶可使用相同的文件名。多級目錄文件系統(tǒng)與二級目錄文件系統(tǒng)類似,只不過目錄層次更多更復雜而已。現(xiàn)代操作系統(tǒng)大多采用多級目錄文件系統(tǒng)。前者實現(xiàn)起來簡單,因為只需要單級目錄,后者應用起來更加方便。5.什么是文件的邏輯組織?什么是文件的物理組織?文件的邏輯組織有幾種形式? 答:從用戶的觀點出發(fā),需要文件系統(tǒng)提供一種邏輯結構清晰、使用方便的邏輯文件結構,這種邏輯文件結構稱為文件的邏輯組織。從系統(tǒng)實現(xiàn)的觀點出發(fā),需要為文件系統(tǒng)設計一種在外存儲器上存放有效的、實際的物理文件結構,這種物理文件結構稱為文件的物理組織。常見的文件邏輯組織有以下三種形式: (1)順序結構的定長記錄。 (2)順序結構的變長記錄。 (3)按關鍵字存取記錄。6.文件的物理組織常見的有幾種?它們與文件的存取方式有什么關系?為什么? 答:常見的文件物理組織有以下形式:(1)順序文件結構:順序文件結構是計算機中最早使用的一種文件結構。順序文件是根據(jù)記錄中某一公共的屬性,把一個由邏輯上連續(xù)的記錄分配到連續(xù)的物理塊中,即用物理上的順序存儲來實現(xiàn)文件的邏輯次序。在這種情況下,物理順序和邏輯順序是一致的。(2)隨機文件結構:在隨機結構中,文件存放在直接存取型存儲設備上,例如磁盤。磁盤文件由若干個不一定連續(xù)的磁盤扇區(qū)組成。隨機文件在數(shù)據(jù)記錄的關鍵字與其地址之間建立了某種對應關系。隨機文件的記錄就是按這種關系排列的,并利用這種關系進行存取。隨機文件結構有三種,即直接地址結構、索引結構和計算尋址結構。(3)串聯(lián)文件:以鏈表的形式安放文件。這種形式的文

溫馨提示

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

評論

0/150

提交評論