操作系統(tǒng)習(xí)題解答_第1頁
操作系統(tǒng)習(xí)題解答_第2頁
操作系統(tǒng)習(xí)題解答_第3頁
操作系統(tǒng)習(xí)題解答_第4頁
操作系統(tǒng)習(xí)題解答_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第一章1什么是操作系統(tǒng)的基本功能 ?答: 操作系統(tǒng)的職能是管理和控制計算機系統(tǒng)中的所有硬、 軟件資源, 合理地組織計算機工作流程, 并為用戶提供一個良好的工作環(huán)境和友好的接口。 操作 系統(tǒng)的基本功能包括:處理機管理、存儲管理、設(shè)備管理、信息管理( 文件系統(tǒng)管理 ) 和用戶接口等。2什么是批處理、分時和實時系統(tǒng)?各有什么特征?答: 批處理系統(tǒng)(batch processingsystem) : 操作員把用戶提交的作業(yè)分類,把一批作業(yè)編成一個作業(yè)執(zhí)行序列,由專門編制的監(jiān)督程序 (monitor) 自動依次處理。其主要特征是:用戶脫機使用計算機、成批處理、多道程序運行。分時系統(tǒng) (time shar

2、ing operation system) :把處理機的運行時間分成很短的時間片, 按時間片輪轉(zhuǎn)的方式, 把處理機分配給各進程使用。 其主要特征是:交互性、多用戶同時性、獨立性。實時系統(tǒng) (real time system) :在被控對象允許時間范圍內(nèi)作出響應(yīng)。其主要特征是: 對實時信息分析處理速度要比進入系統(tǒng)快、 要求安全可靠、 資源利用 率低。3 多道程序設(shè)計和多重處理有何區(qū)別 ?答; 多道程序 (multiprogramming) 是作業(yè)之間自動調(diào)度執(zhí)行、 共享系統(tǒng)資源,并不是真正地同時執(zhí)行多個作業(yè);而多重處理(multiprocessing) 系統(tǒng)配置多個CPU能真正同時執(zhí)行多道程序。

3、要有效使用多重處理,必須采用多道程序設(shè)計技術(shù),而多道程序設(shè)計原則上不一定要求多重處理系統(tǒng)的支持。4 討論操作系統(tǒng)可以從哪些角度出發(fā),如何把它們統(tǒng)一起來?答;討論操作系統(tǒng)可以從以下角度出發(fā):( 1)操作系統(tǒng)是計算機資源的管理者;( 2)操作系統(tǒng)為用戶提供使用計算機及界面;( 3)用進程管理觀點研究操作系統(tǒng),即圍繞進程運行過程來討論操作系統(tǒng)。上述這些觀點彼此并不矛盾, 分別代表了從不同角度對同一事物 (操作系統(tǒng))的觀點。每種觀點都有助于理解、分析和設(shè)計操作系統(tǒng)。6 設(shè)計計算機操作系統(tǒng)與哪些硬件器件有關(guān)?答; 計算機操作系統(tǒng)的重要功能之一是對硬件資源的管理。 因此設(shè)計計算機操作系統(tǒng)時應(yīng)考慮下述計算機

4、硬件資源:(1) CPUt指令的長度與執(zhí)行方式;(2)內(nèi)存、緩存和高速緩存等存儲裝置;(3)各類寄存器,包括各種通用寄存器、控制寄存器和狀態(tài)寄存器;( 4) 中斷機構(gòu); ( 5) 外部設(shè)備與I/O 控制裝置;( 6)內(nèi)部總線與外部總線;(7)對硬件進行操作的指令集。第二章1. 什么是作業(yè)?作業(yè)步 ?答: 把在一次應(yīng)用業(yè)務(wù)處理過程中, 從輸入開始到輸出結(jié)束, 用戶要求計算機所做的有關(guān)該次業(yè)務(wù)處理的全部工作稱為一個作業(yè)。 作業(yè)由不同的順序相連的作業(yè)步組成。 作業(yè)步是在一個作業(yè)的處理過程中, 計算機所做的相對獨立的工作。如,編輯輸入是一個作業(yè)步,它產(chǎn)生源程序文件;編譯也是一個作業(yè)步,它產(chǎn)生目標(biāo)代碼文

5、件。2. 作業(yè)由哪幾部分組成? 各有什么功能?答:作業(yè)由三部分組成:程序、數(shù)據(jù)和作業(yè)說明書。程序和數(shù)據(jù)完成用戶所要求的業(yè)務(wù)處理工作,作業(yè)說明書則體現(xiàn)用戶的控制意圖。3作業(yè)的輸入方式有哪幾種?各有何特點答:作業(yè)的輸入方式有5 種:聯(lián)機輸入方式、脫機輸入方式、直接耦合方式、SPOOLING(Simultaneous Peripheral Operations Online) 系統(tǒng)和網(wǎng)絡(luò)輸入方式,各有如下特點:(1) 聯(lián)機輸入方式:用戶和系統(tǒng)通過交互式會話來輸入作業(yè)。(2) 脫機輸入方式:又稱預(yù)輸入方式, 利用低檔個人計算機作為外圍處理機進行輸入處理, 存儲在后備存儲器上, 然后將此后援存儲器連接到

6、高速外圍設(shè)備上和主機相連,從而在較短的時間內(nèi)完成作業(yè)的輸入工作。(3) 直接耦合方式: 把主機和外圍低檔機通過一個公用的大容量外存直接耦合起來,從而省去了在脫機輸入中那種依靠人工干預(yù)來傳遞后援存儲器的過程。(4) SPOOLING系統(tǒng):可譯為外圍設(shè)備同時聯(lián)機操作。在 SPOOLING(統(tǒng)中, 多臺外圍設(shè)備通過通道或DM端件和主機與外存連接起來,作業(yè)的輸入輸出過程 由主機中的操作系統(tǒng)控制。(5) 網(wǎng)絡(luò)輸入方式: 網(wǎng)絡(luò)輸入方式以上述幾種輸入方式為基礎(chǔ), 當(dāng)用戶需要把在計算機網(wǎng)絡(luò)中某一臺主機上輸入的信息傳送到同一網(wǎng)中另一臺主機上進行操作或執(zhí)行時,就構(gòu)成了網(wǎng)絡(luò)輸入方式。4.試述SPOOLIN臻統(tǒng)的工作

7、原理。答:在SPOOLIN臻統(tǒng)中,多臺外圍設(shè)備通過通道或DM端件和主機與外存連接起來, 作業(yè)的輸入輸出過程由主機中的操作系統(tǒng)控制。 操作系統(tǒng)中的輸入程序包含兩個獨立的過程, 一個過程負(fù)責(zé)從外部設(shè)備把信息讀入緩沖區(qū), 另一個過程是寫過程,負(fù)責(zé)把緩沖區(qū)中的信息送入到外存輸入井中。在系統(tǒng)輸入模塊收到作業(yè)輸入請求后, 輸入管理模塊中的讀過程負(fù)責(zé)將信息從輸入裝置讀入緩沖區(qū)。 當(dāng)緩沖區(qū)滿時, 由寫過程將信息從緩沖區(qū)寫到外存輸入井中。 讀過程和寫過程反復(fù)循環(huán), 直到一個作業(yè)輸入完畢。 當(dāng)讀過程讀到一個硬件結(jié)束標(biāo)志后, 系統(tǒng)再次驅(qū)動寫過程把最后一批信息寫入外存并調(diào)用中斷處理程序結(jié)束該次輸入。然后,系統(tǒng)為該作業(yè)

8、建立作業(yè)控制塊JCR從而使輸入井中的作業(yè)進入作業(yè)等待隊列,等待作業(yè)調(diào)度程序選中后進入內(nèi)存。5操作系統(tǒng)為用戶提供哪些接口?它們的區(qū)別是什么?答: 操作系統(tǒng)為用戶提供兩個接口, 一個是系統(tǒng)為用戶提供的各種命令接口,用戶利用這些操作命令來組織和控制作業(yè)的執(zhí)行或管理計算機系統(tǒng)。 另一個接口是系統(tǒng)調(diào)用, 編程人員使用系統(tǒng)調(diào)用來請求操作系統(tǒng)提供服務(wù), 例如申請和釋放外設(shè)等類資源、控制程序的執(zhí)行速度等。6作業(yè)控制方式有哪幾種?調(diào)查你周圍的計算機的作業(yè)控制方式。答:作業(yè)控制的主要方式有兩種:脫機方式和聯(lián)機方式。脫機控制方式利用作業(yè)控制語言來編寫表示用戶控制意圖的作業(yè)控制程序,也就是作業(yè)說明書。 作業(yè)控制語言的

9、語句就是作業(yè)控制命令。 不同的批處理系統(tǒng)提供不同的作業(yè)控制語言。聯(lián)機控制方式不同于脫機控制方式,它不要求用戶填寫作業(yè)說明書,系統(tǒng)只為用戶提供一組鍵盤或其他操作方式的命令。 用戶使用操作系統(tǒng)提供的操作命令和系統(tǒng)會話,交互地控制程序執(zhí)行和管理計算機系統(tǒng)。7什么是系統(tǒng)調(diào)用?系統(tǒng)調(diào)用與一般用戶程序有什么區(qū)別?與庫函數(shù)和實用程序又有什么區(qū)別 ?答: 系統(tǒng)調(diào)用是操作系統(tǒng)提供給編程人員的唯一接口。 編程人員利用系統(tǒng)調(diào)用, 在源程序一級動態(tài)請求和釋放系統(tǒng)資源, 調(diào)用系統(tǒng)中已有的系統(tǒng)功能來完成那些與機器硬件部分相關(guān)的工作以及控制程序的執(zhí)行速度等。 因此, 系統(tǒng)調(diào)用像一個黑箱子那樣,對用戶屏蔽了操作系統(tǒng)的具體動作

10、而只提供有關(guān)的功能。系統(tǒng)調(diào)用與一般用戶程序、 庫函數(shù)和實用程序的區(qū)別是: 系統(tǒng)調(diào)用程序是在核心態(tài)執(zhí)行, 調(diào)用它們需要一個類似于硬件中斷處理的中斷處理機制來提供系統(tǒng)服務(wù)。8簡述系統(tǒng)調(diào)用的實現(xiàn)過程。答: 用戶在程序中使用系統(tǒng)調(diào)用, 給出系統(tǒng)調(diào)用名和函數(shù)后, 即產(chǎn)生一條相應(yīng)的陷入指令, 通過陷入處理機制調(diào)用服務(wù), 引起處理機中斷, 然后保護處理機現(xiàn)場, 取系統(tǒng)調(diào)用功能號并尋找子程序入口, 通過入口地址表來調(diào)用系統(tǒng)子程序,然后返回用戶程序繼續(xù)執(zhí)行。9為什么說分時系統(tǒng)沒有作業(yè)的概念?答: 因為咋分時系統(tǒng)中, 每個用戶得到的時間片有限, 用戶的程序和數(shù)據(jù)信息直接輸入到內(nèi)存工作區(qū)中和其它程序一起搶占系統(tǒng)資源

11、投入執(zhí)行, 而不必進入外存輸入井等待作業(yè)調(diào)度程序選擇。 因此, 分時系統(tǒng)沒有作業(yè)控制表, 也沒有作業(yè)調(diào)度程序。第三章1有人說,一個進程是由偽處理機執(zhí)行的一個程序,這話對嗎?為什么?答: 對。 因為偽處理機的概念只有在執(zhí)行時才存在, 它表示多個進程在單處理機上并發(fā)執(zhí)行的一個調(diào)度單位。 因此, 盡管進程是動態(tài)概念, 是程序的執(zhí)行過程,但是,在多個進程并發(fā)執(zhí)行時,仍然只有一個進程占據(jù)處理機執(zhí)行,而其它并發(fā)進程則處于就緒或等待狀態(tài)。這些并發(fā)進程就相當(dāng)于由偽處理機執(zhí)行的程序。2試比較進程和程序的區(qū)別。答: (1) 進程是一個動態(tài)概念, 而程序是一個靜態(tài)概念, 程序是指令的有序 集合,無執(zhí)行含義,進程則強

12、調(diào)執(zhí)行的過程。(2) 進程具有并行特征( 獨立性,異步性) ,程序則沒有。(3) 不同的進程可以包含同一個程序, 同一程序在執(zhí)行中也可以產(chǎn)生多個進4試比較作業(yè)和進程的區(qū)別。答:并非對所有的程序均成立。例如:beginlocal xx:=10print(x)end上述程序中 x 是內(nèi)部變量, 不可能被外部程序訪問, 因此這段程序的運行不會受外界環(huán)境影響。4試比較作業(yè)和進程的區(qū)別。答: 一個進程是一個程序?qū)δ硞€數(shù)據(jù)集的執(zhí)行過程, 是分配資源的基本單位。作業(yè)是用于需要計算機完成某項任務(wù), 而要求計算機所做工作的集合。 一個作業(yè)的完成要經(jīng)過作業(yè)提交, 作業(yè)收容、 作業(yè)執(zhí)行和作業(yè)完成4 個階段。 而進程

13、是已提交完畢的程序所執(zhí)行過程的描述, 是資源分配的基本單位。 其主要區(qū)別關(guān)系如下:(4) 作業(yè)是用戶向計算機提交任務(wù)的任務(wù)實體。 在用戶向計算機提交作業(yè)之后, 系統(tǒng)將存儲在外存中的作業(yè)等待隊列中等待執(zhí)行。 而進程則是完成用戶任務(wù)的執(zhí)行實體,是向系統(tǒng)申請分配資源的基本單位。任一進程,只要它被創(chuàng)建,總有相應(yīng)的部分存在于內(nèi)存中。(5) 一個作業(yè)可由多個進程組成。 且必須至少由一個進程組成, 但反過來不成立。(6) 作業(yè)的概念主要用在批處理系統(tǒng)中。像Unix 這樣的分時系統(tǒng)中,則沒有作業(yè)概念。而進程的概念則用在幾乎所有的多道程序系統(tǒng)中。6什么是臨界區(qū)?試舉一臨界區(qū)的例子。答: 臨界區(qū)是指不允許多個并發(fā)

14、進程交叉執(zhí)行的一段程序。 它是由于不同并發(fā)進程的程序段共享公用數(shù)據(jù)或公用數(shù)據(jù)變量而引起的。 所以它又被稱為訪問公用數(shù)據(jù)的那段程序。例如:getspace :begin local gg=stacttoptop=top-1Endrelease(ad) :Begintop=top+1stacktop = adEnd7并發(fā)進程間的制約有哪兩種?引起制約的原因是什么?答:并發(fā)進程所受的制約有兩種:直接制約和間接制約。直接制約是由并發(fā)進程互相共享對方的私有資源所引起的。間接制約是由競爭共有資源而引起的8什么是進程間的互斥?什么是進程間同步?答: 進程間的互斥是指: 一組并發(fā)進程中的一個或多個程序段, 因

15、共享某一公有資源而導(dǎo)致它們必須以一個不許交叉執(zhí)行的單位執(zhí)行, 即不允許兩個以上的共享該資源的并發(fā)進程同時進入臨界區(qū)。進程間的同步是指: 異步環(huán)境下的一組并發(fā)進程因直接制約互相發(fā)送消息而進行互相合作、互相等待,使得各進程按一定的速度執(zhí)行的過程。9試比較 P, V 原語法和加鎖法實現(xiàn)進程間互斥的區(qū)別。答: 互斥的加鎖實現(xiàn)是這樣的: 當(dāng)某個進程進入臨界區(qū)之后, 它將鎖上臨界區(qū), 直到它退出臨界區(qū)時為止。 并發(fā)進程在申請進入臨界區(qū)時, 首先測試該臨界區(qū)是否是上鎖的, 如果該臨界區(qū)已被鎖住, 則該進程要等到該臨界區(qū)開鎖之后才有可能獲得臨界區(qū)。加鎖法存在如下弊端:(1)循環(huán)測試鎖定位將損耗較多的CPU算時

16、間;(2)產(chǎn)生不公平現(xiàn)象。P, V 原語法采用信號量管理相應(yīng)臨界區(qū)的公有資源,信號量的數(shù)值僅能由P,V 原語操作改變,而 P, V 原語執(zhí)行期間不允許中斷發(fā)生。其過程是這樣的:當(dāng)某個進程正在臨界區(qū)內(nèi)執(zhí)行時,其他進程如果執(zhí)行了 P 原語,則該進程并不像lock 時那樣因進不了臨界區(qū)而返回到 lock 的起點,等以后重新執(zhí)行測試,而是在等待隊列中等待由其他進程做V 原語操作釋放資源后,進入臨界區(qū),這時 P原語才算真正結(jié)束。若有多個進程做P原語操作而進入等待狀態(tài)之后,一旦有 V原語釋放資源,則等待進程中的一個進入臨界區(qū),其余的繼續(xù)等待。總之,加鎖法是采用反復(fù)測試lock而實現(xiàn)互斥的,存在CPU良費和

17、不公平現(xiàn)像, P, V 原語使用了信號量,克服了加鎖法的弊端。10答:設(shè)第 I 塊緩沖區(qū)的公有信號量為 metexI ,保證生產(chǎn)者進程和消費者1;信信信avail 為生產(chǎn)者進程的私有信號量,初值為m;full 為消費者進程的私有信號量,初值為 0。號量和P、V操作描述發(fā)送過程deposit(data)和接收過程remove(data) 如下:deposit(data) : begin P(avail) 選擇一個空緩沖區(qū) i P(mutexi) 送數(shù)據(jù)入緩沖區(qū) i V(mutexi) V(full)Endremove(data) : beginP(full)選擇一個滿緩沖區(qū) iP(mutexi)

18、取緩沖區(qū) i 中的數(shù)據(jù)V(mutexi)V(avail) End12答:定義數(shù)組 buf0,buf1。設(shè) bufempty0,buffull1是 Pa的公有信號量;設(shè) bufempty1,buffull0是 Pb的公有信號量;初值為 :bufempty0= bufempty1=nbuffull0= buffull1=0用信號量和P、V操作描述發(fā)送過程send(i,m)和接收過程receive(i,m) 如 下:send (i,m):beginlocal xP(bufemptyi)按FIFO選擇一個空緩沖區(qū)bufi(x)bufi(x)=mbufi(x)置滿標(biāo)記V(buffulli)Endrece

19、ive(i,m) :beginlocal xP(buffulli)按FIFO選擇一個?f緩沖區(qū)bufi(x)m=bufi(x)bufi(x)置空標(biāo)記V(bufemptyi) EndPa調(diào)用 send(0,m)和 receive(1,m)Pb調(diào)用 send(1,m)和 receive(0,m) 14答:設(shè)信號量ci ,初值為 1; i=0,1,2,3,4 。 i 表示第 i 號筷子。( 1)第 i 個哲學(xué)家要吃飯:eat(i) :beginP(ci)P(ci+1 mod 5)吃飯V(ci+1 mod 5)V(ci)End該過程能保證兩個鄰座不同時吃飯, 但有可能出現(xiàn)每人只拿到一支筷子, 誰 也吃

20、不上飯的情況。( 1)為解決上述情況,讓奇數(shù)號的哲學(xué)家先取右手邊的筷子,偶數(shù)號的哲學(xué)家先取左手邊的筷子。 這樣只要有一個哲學(xué)家拿到了一支筷子, 就阻止了鄰座的哲學(xué)家吃法的企圖,從而不會死鎖,除非某哲學(xué)家永遠(yuǎn)吃下去。算法描述如下:eat(i) :beginif i mod 2 = 0 thenP(ci)P(ci+1 mod 5)吃飯V(ci+1 mod 5)V(ci)elseP(ci+1 mod 5)P(ci)吃飯V(ci)V(ci+1 mod 5)End另解:最多只允許4 個哲學(xué)家同時要求進餐,這樣至少有一位哲學(xué)家能取到兩只筷子并可以進餐,進餐后釋放兩只筷子,其他哲學(xué)家可以陸續(xù)進餐。設(shè)哲學(xué)家進

21、餐信號量sm=4;筷子信號量ci=1(i=0,1,2,3,4)eat(i) :beginP(sm)P(ci)P(ci+1 mod 5)吃飯V(ci+1 mod 5)V(ci)V(sm)End15什么是線程? 試述線程與進程的區(qū)別。答;線程是在進程內(nèi)用于調(diào)度和占有處理機的基本單位,它由線程控制表、存儲線程上下文的用戶棧以及核心棧組成。 線程可分為用戶級線程、 核心級線程以及用戶/核心混合型線程等類型。其中用戶級線程在用戶態(tài)下執(zhí)行,CPUS度算法和各線程優(yōu)先級都由用戶設(shè)置, 與操作系統(tǒng)內(nèi)核無關(guān)。 核心級線程的調(diào)度算法及線程優(yōu)先級的控制權(quán)在操作系統(tǒng)內(nèi)核。 混合型線程的控制權(quán)則在用戶和操作系統(tǒng)內(nèi)核二者

22、。線程與進程的主要區(qū)別有:(1) 進程是資源管理的基本單位, 它擁有自己的地址空間和各種資源, 例如內(nèi)存空間、 外部設(shè)備等; 線程只是處理機調(diào)度的基本單位, 它只和其他線程一起 共享進程資源,但自己沒有任何資源。(2) 以進程為單位進行處理機切換和調(diào)度時, 由于涉及到資源轉(zhuǎn)移以及現(xiàn)場保護等問題, 將導(dǎo)致處理機切換時間變長, 資源利用率降低。 以線程為單位進行處理機切換和調(diào)度時, 由于不發(fā)生資源變化, 特別是地址空間的變化, 處理機切 換的時間較短,從而處理機效率也較高。(3) 對用戶來說, 多線程可減少用戶的等待時間。 提高系統(tǒng)的響應(yīng)速度。 例如, 當(dāng)一個進程需要對兩個不同的服務(wù)器進行遠(yuǎn)程過程

23、凋用時, 對于無線程系統(tǒng)的操作系統(tǒng)來說需要順序等待兩個不同調(diào)用返回結(jié)果后才能繼續(xù)執(zhí)行, 且在等待中容易發(fā)生進程調(diào)度。 對于多線程系統(tǒng)而言, 則可以在同一進程中使用不同的線程同時進行遠(yuǎn)程過程調(diào)用,從而縮短進程的等待時間。(4) 線程和進程一樣,都有自己的狀態(tài)也有相應(yīng)的同步機制,不過,由于線程沒有單獨的數(shù)據(jù)和程序空間, 因此, 線程不能像進程的數(shù)據(jù)與程序那樣, 交 換到外存存儲空間。從而線程沒有掛起狀態(tài)。(5) 進程的調(diào)度、 同步等控制大多由操作系統(tǒng)內(nèi)核完成, 而線程的控制既可以由操作系統(tǒng)內(nèi)核進行,也可以由用戶控制進行。思考題:讀者與寫者關(guān)系問題(讀者優(yōu)先)。答:設(shè)寫者互斥信號量 wm=1讀者計數(shù)

24、器readcount=0;互斥操作readcount的信號量 rm=1;reader()beginP(rm)Readcount:=readcount+1If readcount=1 then P(wm)V(rm)讀數(shù)據(jù)P(rm)Readcount:=readcount-1If readcount=0 then V(wm)V(rm)endwriter()beginP(wm)寫數(shù)據(jù)V(wm)end第四章1 什么是分級調(diào)度?分時系統(tǒng)中有作業(yè)調(diào)度的概念嗎?如果沒有, 為什么 ? P86答: 處理機調(diào)度問題實際上也是處理機的分配問題。 顯然只有那些參與競爭處理及所必需的資源都已得到滿足的進程才能享有競爭

25、處理機的資格。 這時它們處于內(nèi)存就緒狀態(tài)。這些必需的資源包括內(nèi)存、外設(shè)及有關(guān)數(shù)據(jù)結(jié)構(gòu)等。從而,在進程有資格競爭處理機之前, 作業(yè)調(diào)度程序必須先調(diào)用存儲管理、 外設(shè)管理程序, 并按一定的選擇順序和策略從輸入井中選擇出幾個處于后備狀態(tài)的作業(yè), 為 它們分配資源和創(chuàng)建進程,使它們獲得競爭處理機的資格。另外, 由于處于執(zhí)行狀態(tài)下的作業(yè)一般包括多個進程, 而在單機系統(tǒng)中, 每一時刻只能有一個進程占有處理機, 這樣, 在外存中, 除了處于后備狀態(tài)的作業(yè)外, 還存在處于就緒狀態(tài)而等待得到內(nèi)存的作業(yè)。 我們需要有一定的方法和策略為這部分作業(yè)分配空間。因此處理機調(diào)度需要分級。一般來說,處理機調(diào)度可分為 4 級:

26、(1) 作業(yè)調(diào)度: 又稱宏觀調(diào)度,或高級調(diào)度。(2) 交換調(diào)度:又稱中級調(diào)度。其主要任務(wù)是按照給定的原則和策略,將處于外存交換區(qū)中的就緒狀態(tài)或等待狀態(tài)的進程調(diào)入內(nèi)存, 或處于內(nèi)存就緒狀態(tài)或等待狀態(tài)的進程交換到外存交換區(qū)。交換調(diào)度主要涉及到內(nèi)存管理與擴充。(3) 進程調(diào)度:又稱微觀調(diào)度或低級調(diào)度。其主要任務(wù)是按照某種策略和方法選取一個處于就緒狀態(tài)的進程占用處理機。在確立了占用處理機的進程之后,系統(tǒng)必須進行進程上下文切換以建立與占用處理機進程相適應(yīng)的執(zhí)行環(huán)境。(4) 線程調(diào)度:進程中相關(guān)堆棧和控制表等的調(diào)度。2試述作業(yè)調(diào)度的主要功能。P88答 : 作業(yè)調(diào)度的主要功能是:( 1)記錄系統(tǒng)中各作業(yè)的狀

27、況。( 2)按一定的原則對外存輸入井上的大量后備作業(yè)進行選擇。( 3)給選出的作業(yè)分配內(nèi)存、輸入輸出設(shè)備等必要的資源,并建立相應(yīng)進程,使該作業(yè)的相關(guān)進程獲得競爭處理機的權(quán)利。( 4)當(dāng)作業(yè)執(zhí)行完畢時,還負(fù)責(zé)回收系統(tǒng)資源。3 作業(yè)調(diào)度的性能評價標(biāo)準(zhǔn)有哪些?這些性能評價標(biāo)準(zhǔn)在任何情況下都能反映調(diào)度策略的優(yōu)劣嗎 ?答:調(diào)度的性能評價標(biāo)準(zhǔn):( 1)對所有作業(yè)應(yīng)該是公平合理的;( 2)應(yīng)使設(shè)備有高的利用率;( 3)每天執(zhí)行盡可能多的作業(yè);( 4)有快的響應(yīng)時間。不能。 對于批處理系統(tǒng), 由于主要用于計算, 因而對于作業(yè)的周轉(zhuǎn)時間要求較高。從而作業(yè)的平均周轉(zhuǎn)時間或平均帶權(quán)周轉(zhuǎn)時間被用來衡量調(diào)度程序的優(yōu)劣。

28、 但對于分時系統(tǒng)來說, 平均響應(yīng)時間又被用來衡量調(diào)度策略的優(yōu)劣。 對于分時系統(tǒng), 除了要保證系統(tǒng)吞吐量大、 資源利用率高之外, 還應(yīng)保證用戶能夠容忍的響應(yīng)時間。 因此, 在分時系統(tǒng)中, 僅僅用周轉(zhuǎn)時間或帶權(quán)周轉(zhuǎn)時間來衡量調(diào)度性能是不夠的。對于實時系統(tǒng),衡量調(diào)度算法優(yōu)劣的主要標(biāo)志則是滿足用戶要求的時限時間。4進程調(diào)度的功能有哪些? P91答:進程調(diào)度的功能有:(1) 記錄和保存系統(tǒng)中所有進程的執(zhí)行情況;(2) 選擇占有處理機的進程;(3) 進行進程上下文切換。5進程調(diào)度的時機有哪幾種? P92答:進程調(diào)度的時機有:(1) 正在執(zhí)行的進程執(zhí)行完畢。 這時如果不選擇新的就緒進程執(zhí)行, 將浪費 處理機

29、資源。(2) 執(zhí)行中進程自己調(diào)用阻塞原語將自己阻塞起來進入睡眠等待狀態(tài)。(3) 執(zhí)行中進程調(diào)用了 P 原語操作,從而因資源不足而被阻塞:或調(diào)用了 V 原語操作激活了等待資源的進程隊列。(4)執(zhí)行中進程提出I/O請求后被阻塞。(5) 在分時系統(tǒng)中時間片已經(jīng)用完。(6) 在執(zhí)行完系統(tǒng)調(diào)用等系統(tǒng)程序后返回用戶程序時,可看做系統(tǒng)進程執(zhí)行完畢,從而調(diào)度選擇一新的用戶進程執(zhí)行。(7)在CPIB行方式是可剝奪時,還有:就緒隊列中的某進程的優(yōu)先級變得高于當(dāng)前執(zhí)行進程的優(yōu)先級,從而也將引發(fā)進程調(diào)度。6假設(shè)有4 道作業(yè),它們的提交時間及執(zhí)行時間由下表給出:作業(yè)號提交時刻 ( 時)執(zhí)行時間 (小時 )110:002

30、210:201310:40410:50計算在單道程序環(huán)境下, 采用先來先服務(wù)調(diào)度算法和最短作業(yè)優(yōu)先調(diào)度算法時的平均周轉(zhuǎn)時間和平均帶權(quán)周轉(zhuǎn)時間,并指出它們的調(diào)度順序。答 : (1) 先來先服務(wù)調(diào)度:調(diào)度順序: 1 、 2、 3、 41 Ts1 : 10:00Te1: 12:00 Tr1 : 2 Tw1: 02 Ts23 Ts34 Ts410:20 Te210:40 Te310:50 Te413:00 Tr213:30 Tr3:13:50 Tr4:1 Tw2:Tw3:Tw4:T=*(2+3)=(h)W=*(4+0+ 1+ + =(2) 最短作業(yè)優(yōu)先調(diào)度:調(diào)度順序:4、1234Ts4: 10:50T

31、s3 : 10:40Ts2 ; 10:20Ts1 : 10:003、 2、Te4Te3Te211:1011:4012:40Tr4Tr3:Tr2:Te1: 14:40 Tr1Tw4 : 0Tw3 :Tw2:2 Tw1T : *+1+= (h)W: *(4+0+1+2)=以上是 4 個作業(yè)提交完后的調(diào)度情況(提交過程中運行其它作業(yè))。如果邊提交邊調(diào)度,又如何?第五章1存儲管理的主要功能是什么? P109 節(jié)答:存儲管理的主要功能包括以下幾點:(1) 在硬件的支持下完成統(tǒng)一管理內(nèi)存和外存之間數(shù)據(jù)和程序段自動交換的虛擬存儲。(2) 將多個虛存的一維線性空間或多維線性空間變換到內(nèi)存的唯一的一維物理線性地

32、址。(3) 控制內(nèi)外存之間的數(shù)據(jù)傳輸。(4) 實現(xiàn)內(nèi)存的分配和回收。(5) 實現(xiàn)內(nèi)存信息的共享與保護。2 什么是虛擬存儲器?其特點是什么 ? P110答: 由進程中的目標(biāo)代碼、 數(shù)據(jù)等的虛擬地址組成的虛擬空間稱為虛擬存儲器。 虛擬存儲器不考慮物理存儲器的大小和信息存放的實際位置, 只規(guī)定每個進程中相互關(guān)聯(lián)信息的相對位置。 每個進程都擁有自己的虛擬存儲器, 且虛擬存儲器的容量是由計算機的地址結(jié)構(gòu)和尋址方式來確定。實現(xiàn)虛擬存儲器要求有相應(yīng)的地址變換機構(gòu), 以便把指令的虛擬地址變換為實際物理地址;另外,由于內(nèi)存空間較小,進程只有部分內(nèi)容存放于內(nèi)存中,待執(zhí)行時根據(jù)需要再調(diào)入內(nèi)存。3實現(xiàn)地址重定位的方法

33、有哪幾類? P111答:實現(xiàn)地址重定位的方法有兩種:靜態(tài)地址重定位和動態(tài)地址重定位。(1) 靜態(tài)地址重定位是在虛空間程序執(zhí)行之前由裝配程序完成地址映射工作。 靜態(tài)重定位的優(yōu)點是不需要硬件支持, 但是用靜態(tài)地址重定位方法進行地址變換無法實現(xiàn)虛擬存儲器。 靜態(tài)重定位的另一個缺點是必須占用連續(xù)的內(nèi)存空間和難以做到程序和數(shù)據(jù)的共享。(2)動態(tài)地址重定位是在程序執(zhí)行過程中,在CPUW問內(nèi)存之前由硬件地址變換機構(gòu)將要訪問的程序或數(shù)據(jù)地址轉(zhuǎn)換成內(nèi)存地址。 動態(tài)地址重定位的主要優(yōu)點有: 可以對內(nèi)存進行非連續(xù)分配。 動態(tài)重定位提供了實現(xiàn)虛擬存儲器的基礎(chǔ)。 動態(tài)重定位有利于程序段的共享。4常用的內(nèi)存信息保護方法有

34、哪幾種?它們各自的特點是什么? P113答:常用的內(nèi)存保護方法有硬件法、軟件法和軟硬件結(jié)合保護法三種。上下界保護法是一種常用的硬件保護法。 上下界存儲保護技術(shù)要求為每個進程設(shè)置對上下界寄存器。 上下界寄存器中裝有被保護程序和數(shù)據(jù)段的起始地址和終止地址。在程序執(zhí)行過程 中,在對內(nèi)存進行訪問操作時首先進行訪問地址合法性檢查, 即檢查經(jīng)過重定位之后的內(nèi)存地址是否在上、 下界寄存器所規(guī)定的范圍之內(nèi)。若在規(guī)定的范圍之內(nèi) , 則訪問是合法的;否則是非法的,并產(chǎn)生訪問越界中斷。保護鍵法也是一種常用的軟件存儲保護法。 保護鍵法為每個被保護存儲塊分配一個單獨的保護鍵。 在程序狀態(tài)字中則設(shè)置相應(yīng)的保護鍵開關(guān)字段,

35、 對不同的進程賦予不同的開關(guān)代碼 以和被保護的存儲塊中的保護鍵匹配。保護鍵可以設(shè)置成對讀寫同時保護的或只對讀寫進行單項保護的。 如果開關(guān)字段與保護鍵匹配或存儲塊未受到保護, 則訪問該存儲塊是允許的, 否則將產(chǎn)生訪問出錯中斷。另外一種常用的硬軟件內(nèi)存保護方式是:界限存儲器與CPU勺用戶態(tài),核心態(tài)相結(jié)合的保護方式。 在這種保護方式下, 用戶態(tài)進程只能訪問那些在界限寄存器所規(guī)定范圍內(nèi)的內(nèi)存部分,而核心態(tài)進程則可以訪問整個內(nèi)存地址空間。6動態(tài)分區(qū)式管理的常用內(nèi)存分配算法有哪幾種 ?比較它們各自的優(yōu)缺點。 P118答: 動態(tài)分區(qū)式管理的常用內(nèi)存分配算法有最先適應(yīng)法 (FF) 、 最佳適應(yīng)法(BF)和最壞

36、適應(yīng)法(WF)。優(yōu)缺點比較: 從搜索速度上看最先適應(yīng)法最佳,最佳適應(yīng)法和最壞適應(yīng)法都要求把不同大小的空閑區(qū)按大小進行排隊。 從回收過程來看,最先適應(yīng)法也是最佳,因為最佳適應(yīng)法和最壞適應(yīng)法都必須重新調(diào)整空閑區(qū)的位置。 最佳適應(yīng)法找到的空閑區(qū)是最佳的,但是會造成內(nèi)存碎片較多,影響了內(nèi)存利用率, 而最壞適應(yīng)法的內(nèi)存碎片最少, 但是對內(nèi)存的請求較多的進程有可能分配失敗??傊?三種算法各有所長, 針對不同的請求隊列, 它們的效率和功能是不一樣的。8簡述什么是覆蓋?什么是交換?覆蓋和交換的區(qū)別是什么? P121答:將程序劃分為若干個功能上相對獨立的程序段,按照程序的邏輯結(jié)構(gòu)讓那些不會同時執(zhí)行的程序段共享

37、同一塊內(nèi)存區(qū)的內(nèi)存擴充技術(shù)就是覆蓋。 交換是指先將內(nèi)存某部分的程序或數(shù)據(jù)寫入外存交換區(qū), 再從外存交換區(qū)中調(diào)入指定的程序或數(shù)據(jù)到內(nèi)存中來, 并讓其執(zhí)行的一種內(nèi)存擴充技術(shù)。 與覆蓋技術(shù)相比, 交換不要求程序員給出程序段之間的覆蓋結(jié)構(gòu), 而且, 交換主要是在進程或作業(yè)之間進行, 而覆蓋則主要在同一個作業(yè)或同一個進程內(nèi)進行。 另外, 覆蓋只能覆蓋那些與覆蓋程序段無關(guān)的程序段。9什么是頁式管理?靜態(tài)頁式管理可以實現(xiàn)虛存嗎 ? P123答:頁式管理就是把各進程的虛擬空間劃分為若干長度相等的頁,把指令按頁面大小劃分后存放在內(nèi)存中執(zhí)行或只在內(nèi)存中存放那些經(jīng)常被執(zhí)行或即將被執(zhí)行的頁,而那些不被經(jīng)常執(zhí)行以及在近

38、期內(nèi)不可能被執(zhí)行的頁則存放于外存中,按一定規(guī)則調(diào)入的一種內(nèi)存管理方式。靜態(tài)頁式管理不能實現(xiàn)虛存, 這是因為靜態(tài)頁式管理要求進程或作業(yè)在執(zhí)行前全部被裝入內(nèi)存,作業(yè)或進程的大小仍受內(nèi)存可用頁面數(shù)的限制。10 . 什么是請求頁式管理? P127答:請求頁式管理是動態(tài)頁式內(nèi)存管理的一種,它在作業(yè)或進程開始執(zhí)行之前, 不把作業(yè)或進程的程序段和數(shù)據(jù)段一次性的全部裝入內(nèi)存, 而只裝入被認(rèn) 為是經(jīng)常反復(fù)執(zhí)行和調(diào)用的工作區(qū)部分。其他部分則在執(zhí)行過程中動態(tài)裝入。請求頁式管理的調(diào)入方式是, 當(dāng)需要執(zhí)行某條指令而又發(fā)現(xiàn)它不在內(nèi)存時,或當(dāng)執(zhí)行某條指令需要訪問其他數(shù)據(jù)或指令時,而這些指令和數(shù)據(jù)又不在內(nèi)存中,從而發(fā)生缺頁中

39、斷,系統(tǒng)將外存中相應(yīng)的頁調(diào)入內(nèi)存。11 .請求頁式管理中有哪幾種常用的頁面置換算法?試比較它們的優(yōu)缺點。P129答:比較常用的頁面置換算法有:(1) 隨機淘汰算法(randomglongram) 。 即隨機地選擇某個用戶頁面并將其換出。(2) 輪轉(zhuǎn)法 RR(roundrobin) 。輪轉(zhuǎn)法循回?fù)Q出內(nèi)存可用區(qū)內(nèi)一個可以被換出的頁,無論該頁是剛被換進或已經(jīng)換進內(nèi)存很長時間。(3)先進先出法FIFO(firstinfirstout)。FIFO算法選擇在內(nèi)存駐留時間最長的一頁將其淘汰。(4) 最近最久未使用頁面置換算法LRU(1east recently unused) 。該算法的基本思想是: 當(dāng)需要

40、淘汰某一頁時, 選擇離當(dāng)前時間最近的一段時間內(nèi)最久沒有使用過的頁面先淘汰。該算法很難實現(xiàn),比較常用的近似算法:最不經(jīng)常使用頁面淘汰算法LFU、最近沒有使用頁面淘汰算法NUR。(5) 理想型淘汰算法OPT(optimalreplacementalgorithm) 。該算法淘汰在訪問串中將來再也不出現(xiàn)的或是在離當(dāng)前最遠(yuǎn)的位置上出現(xiàn)的頁面。12. 什么是 Belady 現(xiàn)象 ?找出一個Belady 現(xiàn)象的例子。 P131答:使用FIFO算法時,在未給進程或作業(yè)分配足它所要求的頁面數(shù)時, 有時 會出現(xiàn)分配的頁面數(shù)增多, 缺頁次數(shù)反而增加的奇怪現(xiàn)象。 這種現(xiàn)象稱為 Belady 現(xiàn)象。假設(shè)進程P共有5個

41、頁,訪問順序是:1,2,3,4,1,2,5,1,2,3,4,5的缺頁情況。分配 3 個頁面,缺頁9 次:缺頁率9/12=75%分配 4 個頁面,缺頁10 次:缺頁率10/12=%此例就出現(xiàn)分配的頁面數(shù)增多,缺頁次數(shù)反而增加的奇怪現(xiàn)象,即 Belady現(xiàn)象。14. 什么是段式管理?它與頁式管理有何區(qū)別 ? P133答:段式管理就是將程序按照內(nèi)容或過程( 函數(shù) ) 關(guān)系分成段,每段擁有自己的名字。 一個用戶作業(yè)或進程所包含的段對應(yīng)于一個二維線性虛擬空間, 也就是一個二維虛擬存儲器。 段式管理程序以段為單位分配內(nèi)存, 然后通過地址映射機構(gòu)把段式虛擬地址轉(zhuǎn)換成實際的內(nèi)存物理地址。 同頁式管理時一樣,

42、段式管理也采用只把那些經(jīng)常訪問的段駐留內(nèi)存, 而把那些在將來一段時間內(nèi)不被訪問的段放入外存,待需要時自動調(diào)入相關(guān)段的方法實現(xiàn)二維虛擬存儲器。段式管理和頁式管理的主要區(qū)別有:(1) 頁式管理中源程序進行編譯鏈接時是將主程序、 子程序、 數(shù)據(jù)區(qū)等按照線性空間的一維地址順序排列起來。 段式管理則是將程序按照內(nèi)容或過程( 函數(shù) )關(guān)系分成段, 每段擁有自己的名字。 一個用戶作業(yè)或進程所包含的段對應(yīng)于一個二維線性虛擬空間,也就是一個二維虛擬存儲器。(2) 同動態(tài)頁式管理一樣,段式管理也提供了內(nèi)外存統(tǒng)一管理的虛存實現(xiàn)。與頁式管理不同的是: 段式虛存每次交換的是一段有意義的信息, 而不是像頁式虛存管理那樣只

43、交換固定大小的頁, 從而需要多次的缺頁中斷才能把所需信息完整地調(diào)入內(nèi)存。(3) 在段式管理中, 段長可根據(jù)需要動態(tài)增長。 這對那些需要不斷增加或改變新數(shù)據(jù)或子程序的段來說,將是非常有好處的。(4) 段式管理便于對具有完整邏輯功能的信息段進行共享。(5) 段式管理便于進行動態(tài)鏈接,而頁式管理進行動態(tài)鏈接的過程非常復(fù)雜。15. 段式管理可以實現(xiàn)虛存嗎 ?如果可以,簡述實現(xiàn)方法。 P133答:段式管理可以實現(xiàn)虛存。段式管理把程序按照內(nèi)容或過程( 函數(shù) ) 關(guān)系分成段,每段擁有自己的名字。一個用戶作業(yè)或進程所包含的段對應(yīng)于一個二維線性虛擬空間 ( 段號 s 與段內(nèi)相對地址w),也就是一個二維虛擬存儲器

44、。段式管理以段為單位分配內(nèi)存,然后通過地址映射機構(gòu)把段式虛擬地址轉(zhuǎn)換成實際的內(nèi)存物理地址。 只把那些經(jīng)常訪問的段駐留內(nèi)存, 而把那些在將來一段時間內(nèi)不被訪問的段放入外存, 待需要時產(chǎn)生缺段中斷,自動調(diào)入。16. 為什么要提出段頁式管理?它與段式管理及頁式管理有何區(qū)別? P138答: 因為段式管理和頁式管理各有所長。 段式管理為用戶提供了一個二維的虛擬地址空間, 反映了程序的邏輯結(jié)構(gòu), 有利于段的動態(tài)增長以及共享和內(nèi)存保護等, 這極大地方便了用戶。 而分頁系統(tǒng)則有效地克服了碎片, 提高了存儲器的利用效率。 從存儲管理的目的來講, 主要是方便用戶的程序設(shè)計和提高內(nèi)存的利用率。 所以人們提出了將段式

45、管理和頁式管理結(jié)合起來讓其互相取長補短的段頁式管理。段頁式管理與段式和頁式管理相比,其訪問時間較長。因此,執(zhí)行效率低。17. 為什么說段頁式管理時的虛擬地址仍是二維的 ?答: 因為在段頁式內(nèi)存管理中, 對每一段內(nèi)的地址空間進行分頁式管理只是為了克服在內(nèi)存分配過程中產(chǎn)生的大量碎片, 從而提高存儲器的利用效率, 它并沒有改變段內(nèi)地址空間的一維結(jié)構(gòu), 所以段頁式內(nèi)存管理中的虛擬地址仍然和段式內(nèi)存管理中的虛擬地址一樣,是二維結(jié)構(gòu)的。18. 段頁式管理的主要缺點是什么?有什么改進辦法?答:段頁式管理的主要缺點是對內(nèi)存中指令或數(shù)據(jù)進行存取時,至少需要對內(nèi)存進行三次以上的訪問。第一次是由段表地址寄存器取段表

46、始址后訪問段表, 由此取出對應(yīng)段的頁表在內(nèi)存中的地址。 第二次則是訪問頁表得到所要訪問的指令或數(shù)據(jù)的物理地址。 只有在訪問了段表和頁表之后, 第三次才能訪問真正需要訪問的物理單元。顯然。這將大大降低CPLM行指令的速度。改進辦法是設(shè)置快速聯(lián)想寄存器。在快速聯(lián)想寄存器中存放當(dāng)前最常用的段號s,頁號p和對應(yīng)的內(nèi)存頁面地址與其他控制項。當(dāng)需要訪問內(nèi)存空間某一單元時, 可在通過段表、 頁表進行內(nèi)存地址查找的同時, 根據(jù)快速聯(lián)想寄存器查找其段號和頁號。 如果所要訪問的段或頁的地址在快速聯(lián)想寄存器中, 則系統(tǒng)不再訪問內(nèi)存中的段表、 頁表而直接把快速聯(lián)想寄存器中的值與頁內(nèi)相對地址d拼接起來得到內(nèi)存地址。19

47、. 什么是局部性原理?什么是抖動?你有什么辦法減少系統(tǒng)的抖動現(xiàn)象? P140答:局部性原理是指在幾乎所有程序的執(zhí)行過程中,在一段時間內(nèi), CPU總是集中地訪問程序中的某一個部分而不是對程序的所有部分具有平均的訪問概率。抖動是指當(dāng)給進程分配的內(nèi)存小于所要求的工作區(qū)時,由于內(nèi)存外存之間交換頻繁,訪問外存的時間和輸入輸出處理時間大大增加,反而造成CPU因等待數(shù)據(jù)而空轉(zhuǎn),使得整個系統(tǒng)性能大大下降。在物理系統(tǒng)中,為防止抖動的產(chǎn)生,在進行淘汰或替換時,一般總是把缺頁進程鎖住, 不讓其換出, 從而防止抖動發(fā)生。 防止抖動發(fā)生的另一個辦法是設(shè)置較大的內(nèi)存工作區(qū)。第六章1簡述 Linux 系統(tǒng)進程的概念?答:

48、P1482 Linux 進程上下文由哪幾部分組成?為什么說核心程序不是進程上下文上午一部分?進程頁表也在核心區(qū),它們也不是進程上下文上午一部分嗎?答: 進程上下文由 task_struct 結(jié)構(gòu)、 用戶棧和核心棧的內(nèi)容、 用戶地址空間的征文段、數(shù)據(jù)段、硬件寄存器的內(nèi)容以及頁表等組成。核心頁表被所有進程共享, 所以不是進程上下文的一部分。 而進程頁表是進程上下文的一部分。4 Linux 的調(diào)度策略是什么 ? 調(diào)度時應(yīng)該封鎖中斷嗎?如果不封鎖,會發(fā)生什么問題?答:Linux使用三種調(diào)度策略,動態(tài)優(yōu)先數(shù)調(diào)度SCHED_OTHER來先服務(wù)調(diào) 度SCHED_FIFO1輪轉(zhuǎn)法調(diào)度SCHED_RRf中動態(tài)優(yōu)

49、先級調(diào)度余略用于普通進程, 后兩種調(diào)度策略用于實時進程。在調(diào)度時應(yīng)封鎖中斷, 否則在調(diào)度過程中由于中斷會使進程上下文的切換出現(xiàn)錯誤。6 Linux 在哪幾種情況下發(fā)生調(diào)度?答: 兩種情況: 一是進程自動放棄處理機時主動裝入調(diào)度過程, 二是在由核心態(tài)轉(zhuǎn)入用戶態(tài)時,系統(tǒng)設(shè)置了高優(yōu)先級就緒進程的強迫調(diào)度標(biāo)識 need_resched 時發(fā)生調(diào)度。8什么是軟中斷?答: P16213 Linux 存儲管理策略中交換和請求調(diào)頁方式有何區(qū)別 ?答: P171第八章1什么是文件、文件系統(tǒng)?文件系統(tǒng)有哪些功能? P198答:在計算機系統(tǒng)中,文件被解釋為一組賦名的相關(guān)字符流的集合,或者是相關(guān)紀(jì)錄的集合。文件系統(tǒng)是

50、操作系統(tǒng)中與管理文件有關(guān)的軟件和數(shù)據(jù)。文件系統(tǒng)的功能是為用戶建立文件、撤銷、讀寫、修改和復(fù)制文件,以及完成對文件的按名存取和進行存取控制。2、文件一般按什么分類?可以分為哪幾類?P199答:文件一般按性質(zhì)、用途、組織形式、文件中的信息流向或文件的保護級別等分類。按性質(zhì)和用途可分為系統(tǒng)文件、庫文件和用戶文件。按文件的組織形式可分為普通文件、目錄文件和特殊文件。按文件中的信息流向可分為輸入文件、輸出文件和輸入/ 輸出文件。按文件的保護級別可分為只讀文件、 讀寫文件、 可執(zhí)行文件和不保護文件。3、什么是文件的邏輯結(jié)構(gòu)?什么是紀(jì)錄?P200答:文件的邏輯結(jié)構(gòu)就是用戶可見的結(jié)構(gòu),可分為字符流式的無結(jié)構(gòu)文

51、件和記錄式的有結(jié)構(gòu)文件兩大類。記錄是一個具有特定意義的信息單位, 他由該紀(jì)錄在文件中的邏輯地址 (相 對位置)與記錄名所對應(yīng)的一組關(guān)鍵字、屬性及其屬性值所組成。7、文件的物理結(jié)構(gòu)有哪幾種?為什么說串聯(lián)文件結(jié)構(gòu)不適于隨機存取?P205答:文件的物理結(jié)構(gòu)是指文件在存儲設(shè)備上的存取方法。常用的文件的物理結(jié)構(gòu)有連續(xù)文件、串聯(lián)文件和索引文件三種。串聯(lián)文件結(jié)構(gòu)用非連續(xù)的物理塊來存取文件信息。這些非連續(xù)的物理塊之間沒有順序關(guān)系, 鏈接成一個串聯(lián)隊列。 搜索時只能按隊列中的串聯(lián)指針順序搜索, 存取方法應(yīng)該是順序存取的。 否則, 為了讀取某個信息塊而造成的磁頭大幅度移動將花去較多的時間。因此,串聯(lián)文件結(jié)構(gòu)不適于

52、隨機存取。9、常用的文件存儲設(shè)備的管理方法有哪些?試述主要優(yōu)缺點。P209答:文件存儲設(shè)備的管理實質(zhì)上是一個空閑塊的組織和管理問題。有 3 種 不同的空閑塊管理方法,即空閑文件目錄、空閑塊鏈和位示圖??臻e文件目錄管理方法就是把文件存儲設(shè)備中的空閑塊的塊號統(tǒng)一放在一個稱為空閑文件目錄的物理塊中, 其中空閑文件目錄的每個表項對應(yīng)一個由多個空閑塊構(gòu)成的空閑區(qū)。 該方法實現(xiàn)簡單, 適于連續(xù)文件結(jié)構(gòu)的文件存儲區(qū)的分配與回收。 但是由于回收時不進行合并, 所以使用該方法容易產(chǎn)生大量的小塊空閑區(qū)??臻e塊鏈法把文件存儲設(shè)備上的所有空閑塊鏈接在一起,從鏈頭分配空閑塊,把回收的空閑塊插入到鏈尾。該方法不占用額外的

53、空間,但實現(xiàn)復(fù)雜。位示圖法是從內(nèi)存中劃出若干字節(jié),每個比特位對應(yīng)一個物理塊的使用情況。如果該位為0 表示對應(yīng)的塊是空閑的,為 1 表示對應(yīng)的物理塊已分配出去。位示圖法在查找空閑塊時無需啟動外設(shè),但要占用內(nèi)存空間。11、什么是文件目錄?文件目錄中包含哪些信息? P211答:一個文件的文件名和對該文件實施控制管理的說明信息成為該文件的說明信息,又稱為該文件的文件控制塊(FCB)。把所有的FC器&織在一起,就構(gòu) 成了文件目錄,即文件控制塊的有序集合。文件目錄中包含文件名、與文件名相對應(yīng)的文件內(nèi)部標(biāo)識以及文件信息在文件存儲設(shè)備上的第一個物理塊的地址等信息。 另外還可能包含關(guān)于文件的邏輯結(jié)構(gòu)、物

54、理結(jié)構(gòu)、存取控制信息和管理等信息。13、文件存取控制方式有哪幾種?試比較它們各自的優(yōu)缺點。P216答:文件存取控制方式一般有存取控制矩陣、存取控制表、口令和密碼術(shù)4 種方式。存取控制矩陣方式以一個二維矩陣來進行存取控制。而且矩陣的一維是所有的用戶。 另一維是所有的文件。 對應(yīng)的矩陣元素則是用戶對文件的存取控制權(quán)。存取控制矩陣的方法在概念上比較簡單, 但是當(dāng)用戶和文件較多時, 存取控制矩陣將變得非常龐大,從而時間和空間的開銷都很大。存取控制表以文件為單位,把用戶按某種關(guān)系劃分為若干組,同時規(guī)定每組的存取限制。這樣所有用戶組對文件權(quán)限的集合就形成了該文件的存取控制表。存取控制表方法占用空間較小,搜索效率也較高,但要對用戶分組,引入了額外的開銷??诹罘绞接袃煞N。一種是當(dāng)用戶進入系統(tǒng)時,為建立終端進程時獲得系統(tǒng)使用權(quán)的口令。 另一種方式是, 每個用戶在創(chuàng)建文件時, 為每個創(chuàng)建的文件設(shè)置一個口令, 且將其置于文件說明中。 當(dāng)任一用戶想使用該文件時, 都必須首先提供口令??诹罘绞奖容^簡單,占用的內(nèi)存單元以及驗證口令所費時間都非常少。不過,相對來說,口令方式保密性能比較差。密碼術(shù)方式在用戶創(chuàng)建源文件并寫入存儲設(shè)備時對文件進行編碼加密,在讀出文件時對文件進行譯碼解密

溫馨提示

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

評論

0/150

提交評論