計算機學科專業(yè)基礎(chǔ)綜合計算機操作系統(tǒng)-5_第1頁
計算機學科專業(yè)基礎(chǔ)綜合計算機操作系統(tǒng)-5_第2頁
計算機學科專業(yè)基礎(chǔ)綜合計算機操作系統(tǒng)-5_第3頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、計算機學科專業(yè)基礎(chǔ)綜合計算機操作系統(tǒng) -5一、綜合應(yīng)用題 ( 總題數(shù): 43,分數(shù): 100.00)1. 何謂靜態(tài)鏈接、裝入時動態(tài)鏈接和運行時動態(tài)鏈接 ?正確答案: (1) 靜態(tài)鏈接是指事先進行鏈接形成一個完整的裝入模塊,以后不再拆開的鏈接方式。 (2) 裝 入時動態(tài)鏈接是指目標模塊在裝入內(nèi)存時,邊裝入邊鏈接的鏈接方式。 (3) 運行時的動態(tài)鏈接是將某些目 標模塊的鏈接推遲到執(zhí)行時才進行。 )2. 引入動態(tài)重定位的目的是什么 ?正確答案: (1) 為了在程序執(zhí)行過程中,每當訪問指令或數(shù)據(jù)時,將要訪問的程序或數(shù)據(jù)的邏輯地址轉(zhuǎn)換 成物理地址,引入了動態(tài)重定位。 (2) 可在系統(tǒng)中增加一個重定位寄存

2、器,用它來裝入(存放) 程序在內(nèi)存中的起始地址,程序在執(zhí)行時真正訪問的內(nèi)存地址是相對地址與重定位寄存器中的地址相加而形成的,從 而實現(xiàn)動態(tài)重定位。 )3. 為什么要引入段頁式存儲管理 ?說明在段頁式存儲管理系統(tǒng)中的地址變換過程。正確答案: (1) 為了獲得分段在邏輯上的優(yōu)點和分頁在管理存儲空間方面的優(yōu)點,兼用分段和分頁兩種方 法,設(shè)計出了段頁式存儲管理技術(shù)來實現(xiàn)對存儲器的管理。 (2) 地址變換過程如下: 首先,由段表控制寄 存器確定段表在主存中的位置。 其次,將虛地址中的段號和控制寄存器中的段表大小比較,以確保其訪問 的有效性。 最后,硬件地址轉(zhuǎn)換機構(gòu)根據(jù)虛地址中的段號s,得到欲訪問段在該作

3、業(yè)的段表中的表目,并驗證存取權(quán)限,以確保本次存儲訪問是允許的。然后,檢查分段存在標識(判狀態(tài)位 ) ,如果訪問的段在主存,則通過段表找到該段的頁表存放地址,再根據(jù)虛地址中的頁號 P 查頁表,找到該頁所對應(yīng)的內(nèi)存塊號 與虛地址中的頁內(nèi)地址 d 相加形成物理地址;若訪問的分段不在主存,則由硬件產(chǎn)生缺段中斷。如果一完 整的分段不在主存,則說明該段所有的頁面均不在主存,因而也沒有相應(yīng)的頁表。操作系統(tǒng)對缺頁中斷響 應(yīng)后,必須重新構(gòu)造其頁表,并裝入一個或多個所需的頁面。此時,開始繼續(xù)執(zhí)行本次的存儲訪問。當頁 表的位置和大小確定后,其存儲訪問過程如先前描述過的頁面系統(tǒng)一樣進行。 )4. 在采用首次適應(yīng)算法回

4、收內(nèi)存時,可能出現(xiàn)哪幾種情況?應(yīng)怎樣處理這些情況 ?正確答案: (1) 回收區(qū)與插入點的前一個分區(qū)相鄰接,此時可將回收區(qū)與插入點的前一分區(qū)合并,不再為 回收分區(qū)分配新表項,而只修改前鄰接分區(qū)的大小。 (2) 回收區(qū)與插入點的后一分區(qū)相鄰接,此時合并兩 區(qū),然后用回收區(qū)的首址作為新空閑區(qū)的首址,大小為兩者之和。 (3) 回收區(qū)同時與插入點的前后兩個分 區(qū)鄰接,此時將三個分區(qū)合并,使用前鄰接分區(qū)的首址,大小為三區(qū)之和,取消后鄰接分區(qū)的表項。 (4) 回收區(qū)沒有鄰接空閑分區(qū), 則應(yīng)為回收區(qū)單獨建立一個新表項, 填寫回收區(qū)的首址和大小, 并根據(jù)其首址, 插入到空閑鏈中的適當位置。 )5. 有一個程序要

5、把 100×100 的數(shù)組置初值“ 0”,現(xiàn)假定有兩個主存塊可用來存放數(shù)組中的元素,每個主 存塊可以存放 200 個數(shù)組元素, 數(shù)組中的元素按行編址。 兩個主存塊的初始狀態(tài)都為空, 若程序編制如下:(1) Var A:array1.100 of array1.100 of integer; for j:=1 to 100 do for i=1 to 100 do Ai,j:=0(2) Var A:array1.100 of array1.100 of integer; for i:=1 to 100 d0 for j:=1 to 100 do Ai,j:=0 當采用 LRU頁面調(diào)度算

6、法時,對上述兩種程序編制方法各會產(chǎn)生多少次缺頁中斷?正確答案: (根據(jù)題意, 主存塊的大小為每塊可存放 200個數(shù)組元素, 故作業(yè)信息也按每頁 200個元素來劃 分?,F(xiàn)作業(yè)信息是由 100×100 的數(shù)組元素組成,因而共被分成 50 頁。由于作業(yè)信息是按行編址的,故每 順序的兩行元素在同一頁面中,可被同時裝到一個主存塊中。有兩個主存塊可供該程序使用,因而程序被 裝入主存時可把開始兩頁 (共四行元素 )的信息分別裝入兩個主存塊。 那么,程序執(zhí)行時若按 (1)的編制方法, 將對每一列中的各元素順序清零,即對一列中的元素都清零后再對下一列的元素清零。由于開始兩頁已被 裝入主存,所以第一列的

7、四個元素將首先被順序清零。但當要對第一列的第五個元素清零時卻發(fā)現(xiàn)該元素 不在主存中,因而產(chǎn)生一次缺頁中斷,按LRU調(diào)度算法應(yīng)淘汰最近最少使用的第一頁,使騰出的主存空間可用來存放當前需訪問的第三頁,即裝入第五、六兩行元素。程序繼續(xù)執(zhí)行時每對兩個元素初始化后都要產(chǎn)生一次缺頁中斷, 因而對第一列的 100 個元素初始化會產(chǎn)生 (50-2) 次缺頁中斷。對以后的 99列來說, 為 對每一列元素初始化都將產(chǎn)生 50 次缺頁中斷,故(1) 的編制方法執(zhí)行程序時總共會產(chǎn)生 (50 × 100-2) 次缺頁 中斷。若按 (2) 的編制方法,將對一行的元素都清零后再對下一行的元素清零。因而,開始的兩頁

8、 ( 四行元 素) 信息先被初始化。 當要對第五行元素初始化時將產(chǎn)生缺頁中斷, 按 LRU調(diào)度算法淘汰最近最少用的第一 頁后可把當前需訪問的包含第五、六兩行元素的第三頁裝入主存。程序繼續(xù)執(zhí)行時每對兩行元素全部初始 化后才產(chǎn)生一次缺頁中斷, 因而共會產(chǎn)生 50-2 次缺頁中斷。 因此,程序被裝入主存時可把開始兩頁 (四行 ) 裝入所分到的主存塊中。 對于(1) 所編制的程序執(zhí)行時將按列對元素初始化, 除對第一列的前四個元素初始 化時不會產(chǎn)生缺頁中斷外,以后每對兩個元素初始化時都要產(chǎn)生一次缺頁中斷,故缺頁中斷次數(shù)為50×100-2 次。 對于 (2) 所編制的程序執(zhí)行時將按行對元素初始化

9、,除對前四行元素初始化時不會產(chǎn)生缺頁中 斷外,以后每對兩行元素初始化時都要產(chǎn)生一次缺頁中斷,故缺頁中斷次數(shù)為 50-2 次。 )6. 假定某采用頁式存儲管理的系統(tǒng)中,主存容量為1MB,被分成 256塊,塊號為 0,1,2, 255?,F(xiàn)有一個共 4 頁(頁號為 0、1、2、3)的作業(yè)被依次裝入到主存的第 2、4、1、5 塊中。請問:(1) 主存地址應(yīng)該用多少位來表示 ?(2) 作業(yè)每一頁的長度為多少字節(jié) ?邏輯地址中的頁內(nèi)地址部分應(yīng)占用多少位 ?(3) 把作業(yè)中每一頁占用的主存塊起始地址填入下表。頁號起始地址0123(4) 若作業(yè)執(zhí)行中要從第 0頁的第 75單元和第 3頁的第 548 單元讀信息

10、,那么實際應(yīng)從主存的哪兩個單元 讀信息 ? 請把應(yīng)訪問的主存絕對地址用二進制編碼的十六進制數(shù)表示。正確答案: (1) 主存地址應(yīng)該用 20 位來表示。(2) 作業(yè)每一頁的長度應(yīng)為 212=4096B,邏輯地址中的頁內(nèi)地址部分應(yīng)占用 12 位(3) 作業(yè)中每一頁占用主存塊的起始地址為:頁號 起始地址0123(4) 若作業(yè)執(zhí)行中要從第 0 頁的第 75 單元讀信息,8K16K4K20K則實際應(yīng)從主存的第 2 塊第 75 單元讀, 應(yīng)訪問的主存絕對地址用二進制編碼的十六進制數(shù)表示為 204BH。若要從第 3 頁的第 548 單元讀信息,則實際應(yīng)從主存的第5 塊第 548單元讀,應(yīng)訪問的主存絕對地址用

11、二進制編碼的十六進制數(shù)表示為05224H。 )7. 某采用段式存儲管理的系統(tǒng)為裝入主存的一個作業(yè)建立了如下的段表:段號段長主存起始地址0660219114033002100903580123749601959請計算該作業(yè)訪問 0,432H ,1,010H ,2,500H ,3,400H 時( 方括號中第一個元素為段號,第二個元素 為段內(nèi)地址 ) 的絕對地址。處理器能按計算出來的絕對地址存取信息嗎 ?正確答案: ( 段式存儲管理支持用戶的分段觀點, 以段為單位進行存儲空間的管理。 段式存儲管理為作業(yè)的 每一段分配一個連續(xù)的主存區(qū)域,用來存放各段的信息。段式存儲管理要有硬件的地址轉(zhuǎn)換機構(gòu)作支撐,

12、作業(yè)執(zhí)行時按邏輯地址中的段號查段表得該段在主存中的起始地址,起始地址加段內(nèi)地址便是當前要訪問 的絕對地址。為保證信息的安全,這個絕對地址如果在該段的存儲區(qū)域內(nèi)則可以訪問,否則將產(chǎn)生一個地 址越界中斷來拒絕訪問。本題中,作業(yè)訪問 0,432 、1,010 、3,400 時,由于段內(nèi)地址均在段長所限制的范圍之內(nèi),因而絕對地 址不會超出該段所占的主存區(qū)域, 處理器可按絕對地址存取信息。 但是,作業(yè)訪問 2,500 時段內(nèi)地址超過 了規(guī)定的段長 100,因而處理器拒絕為其存取信息。因此,各次訪問時所對應(yīng)的絕對地址 (假設(shè)均采用十六進制數(shù)表示 ) 如下:邏輯地址 絕對地址0,432H 64BH1,010

13、H 3310H2,500H 590H3,400H 1637H除了對 2,500H 的訪問請求超出了規(guī)定的存儲區(qū)域使處理器拒絕存取信息外,其余的訪問請求都將由處理 器按絕對地址為其存取信息。 )8. 為什么要引入動態(tài)分段存儲管理 ?它與請求頁式存儲管理有什么區(qū)別 ?正確答案: (1) 一個大的進程可能包含很多個程序模塊。對它們進行鏈接要花費大量的CPU時間,而實際執(zhí)行時則可能只用到其中的一小部分模塊。因此,從減少CPU開銷和減少存儲空間浪費的角度來看,靜態(tài)鏈接是不合適的,因此引入動態(tài)分段存儲管理。 (2) 它與請求頁式存儲管理的區(qū)別: 第一,分頁的作業(yè)地 址空間是單一的線性地址空間, 而分段作業(yè)

14、的地址空間是二維的。 第二,頁是信息的物理單位, 大小固定; 段是信息的邏輯單位,其長度不定。 第三,分頁管理實現(xiàn)的是單段式虛擬存儲系統(tǒng),而分段存儲管理實現(xiàn) 的是多段式虛擬存儲系統(tǒng)。 )9. 請較詳細地說明,引入分段存儲管理是為了滿足用戶哪幾方面的需要 ?正確答案: (1) 方便了編程; (2) 實現(xiàn)了分段共享; (3) 實現(xiàn)了分段保護; (4) 實現(xiàn)了動態(tài)鏈接; (5) 實 現(xiàn)了動態(tài)增長。 )10. 段頁式存儲管理方式中如何實現(xiàn)地址變換 ?正確答案: ( 首先,必須配置一段表寄存器,在其中存放段表始址和段長TL。進行地址變換時,先利用段號 S,與段長 TL 進行比較,若 S<TL,表示

15、未越界 ( 若 STL,表示段號太大,訪問越界,產(chǎn)生越界中斷信 號) ,于是利用段表始址和段號來求出該段對應(yīng)的段表項在段表中的位置, 從中求出該段的頁表始址, 并利 用邏輯地址中的段內(nèi)頁號 P 來獲得對應(yīng)頁的頁表項位置,從中讀出該頁所在的物理塊號 b,再用塊號 b和 頁內(nèi)地址構(gòu)成物理地址。 )11. 為什么說分段系統(tǒng)較之分頁系統(tǒng)更易于實現(xiàn)信息共享和保護?正確答案: (1) 對于分頁系統(tǒng),每個頁面是分散存儲的,為了實現(xiàn)信息共享和保護,則頁面之間需要一一 對應(yīng)起來,為此需要建立大量的頁表項。 (2) 對于分段系統(tǒng),每個段都從 0 開始編址,并采用一段連續(xù)的 地址空間,這樣在實現(xiàn)共享和保護時,只需為

16、所要共享和保護的程序設(shè)置一個段表項,將其中的基址與內(nèi) 存地址一一對應(yīng)起來即可。 )12. 分頁和分段有何區(qū)別 ?正確答案: (1) 共同點是: 分頁和分段都采用離散分配的方式, 且都要通過地址映射機構(gòu)來實現(xiàn)地址變換。(2) 不同點是: 第一,從功能上看,頁是信息的物理單位,分頁是為實現(xiàn)離散分配方式,以消減內(nèi)存的外 零頭,提高內(nèi)存的利用率,即滿足系統(tǒng)管理的需要,而不是用戶的需要;而段是信息的邏輯單位,它含有 一組其意義相對完整的信息,目的是為了能更好地滿足用戶的需要。 第二,頁的大小固定且由系統(tǒng)確定, 而段的長度卻不固定,決定于用戶所編寫的程序。 第三,分頁的作業(yè)地址空間是一維的,而分段的作業(yè)地

17、 址空間是二維的。 )13. 試全面比較連續(xù)分配和離散分配方式。正確答案: (1) 連續(xù)分配是指為一個用戶程序分配一個連續(xù)的地址空間,包括單一連續(xù)分配方式和分區(qū)式 分配方式。前者將內(nèi)存分為系統(tǒng)區(qū)和用戶區(qū),系統(tǒng)區(qū)供操作系統(tǒng)使用,用戶區(qū)供用戶使用,是最簡單的一 種存儲方式,但只能用于單用戶單任務(wù)的操作系統(tǒng)中。分區(qū)式分配方式分為固定分區(qū)和動態(tài)分區(qū)。固定分 區(qū)是最簡單的多道程序的存儲管理方式,由于每個分區(qū)的大小固定,必然會造成存儲空間的浪費。動態(tài)分 區(qū)是根據(jù)進程的實際需要,動態(tài)地將之分配為連續(xù)的內(nèi)存空間,常用三種分配算法:首次適應(yīng)算法FF,該法容易留下許多難以利用的小空閑分區(qū),加大查找開銷;循環(huán)首次適

18、應(yīng)算法,該算法能使內(nèi)存中的空閑分 區(qū)分布均勻,但會致使缺少大的空閑分區(qū); 最佳適應(yīng)算法, 該算法也易留下許多難以利用的小空閑分區(qū)。 (2) 離散分配方式基于將一個進程直接分散地分配到許多不相鄰的分區(qū)中的思想,分為分頁式存儲管理、分段 式存儲管理和段頁式存儲管理。分頁式存儲管理旨在提高內(nèi)存利用率,滿足系統(tǒng)管理的需要;分段式存儲 管理則旨在滿足用戶 (程序員 )的需要,在實現(xiàn)共享和保護方面優(yōu)于分頁式存儲管理;而段頁式存儲管理則 是將兩者結(jié)合起來,取長補短,既具有分段系統(tǒng)便于實現(xiàn)、可共享、易于保護、可動態(tài)鏈接等優(yōu)點,又能 像分頁系統(tǒng)那樣很好地解決外部碎片的問題以及為各個分段可離散分配內(nèi)存等問題,顯然

19、是一種比較有效 的存儲管理方式。 (3) 綜上可見,連續(xù)分配方式和離散分配方式各有各的特點,應(yīng)根據(jù)實際情況加以改進 和利用。 )14. 在一個采用分頁式虛擬存儲管理的系統(tǒng)中,有一用戶作業(yè),它依次要訪問的字地址序列是115, 228,120,88,446,102,321,432,260,167。若分配給作業(yè)可使用的主存空間共 300 個字,作業(yè)的頁面大小 為 100 個字,且第 0 頁已經(jīng)裝入主存, 請回答下列問題: (1) 按 FIFO 頁面調(diào)度算法將產(chǎn)生多少次缺頁中斷 ? 寫出依次淘汰的頁號。 (2) 按 LRU頁面調(diào)度算法將產(chǎn)生多少次缺頁中斷 ?寫出依次淘汰的頁號。正確答案: ( 由于作業(yè)

20、的頁面大小為 100個字,因而主存塊的大小也為 100個字?,F(xiàn)該作業(yè)可使用的主存空 間共 300 個字,即共可使用三個主存塊。根據(jù)作業(yè)依次要訪問的字地址,可以得到作業(yè)將依次訪問的頁如 下:次序 所要訪問的字地址 該地址所在頁號1 11512 22823 12014 8805 44646 10217 32138 43249 260210 1671現(xiàn)只有第 0 頁已經(jīng)在主存但尚有兩塊主存空間可供使用,所以作業(yè)執(zhí)行時依次訪問第 1 頁和第 2 頁時均要 產(chǎn)生缺頁中斷,但不必淘汰已在主存中的頁面,可把第1頁和第 2 頁裝入到可使用的主存塊中,現(xiàn)在主存中已有 0、1、2 三個頁面的信息。在進行第三、第四

21、次訪問時不會產(chǎn)生缺頁中斷,而在第五次訪問第4 頁時將產(chǎn)生一次缺頁中斷。 此時,若采用 FIFO 算法應(yīng)淘汰最先裝入主存的第 0 頁,而采用 LRU算法則應(yīng)淘汰 最近最久沒有使用的第 2 頁。顯然,進行第六次訪問不會產(chǎn)生缺頁中斷,而在第七次訪問時必須經(jīng)缺頁中 斷處理來裝入第 3 頁。為此, FIFO算法會淘汰第 1 頁, LRU算法會淘汰第 0 頁。于是,作業(yè)繼續(xù)執(zhí)行時, 對 FIFO 算法來說,將在第十次訪問時再產(chǎn)生一次缺頁中斷,為了裝入當前需用的第1 頁而應(yīng)淘汰第 2 頁;對 LRU 算法來說,將在第九次訪問時產(chǎn)生缺頁中斷,為了裝入當前需用的第2 頁而應(yīng)淘汰第 1 頁,在隨后的第十次訪問時仍

22、將產(chǎn)生缺頁中斷,為了把第1 頁重新裝入而應(yīng)淘汰第 3 頁。可見,按 FIFO 頁面調(diào)度算法將產(chǎn)生五次缺頁中斷,依次淘汰的頁面為0、1、2。按 LRU頁面調(diào)度算法將產(chǎn)生六次缺頁中斷,依次淘汰的頁面為 2、0、1、 3。(1) 按 FIFO 頁面調(diào)度算法將在后繼的第五、七、十次訪問時再產(chǎn)生三次缺頁中斷。因而共產(chǎn)生五次缺頁中 斷,依次淘汰的頁號為 0、1、2。(2) 按 LRU頁面調(diào)度算法將在后繼的第五、七、九、十次訪問時再產(chǎn)生四次缺頁中斷。因而共產(chǎn)生六次缺頁 中斷,依次淘汰的頁號為 2、0、1、3。 )15. 何謂靜態(tài)分配 ?何謂動態(tài)分配 ?正確答案: (1) 靜態(tài)分配:在裝配程序把目標模塊進行連

23、接裝入時確定它們在主存中的位置。這種靜態(tài)存 儲分配方式要求在一個作業(yè)裝入時必須分配所需的全部存儲空間;如果沒有足夠的存儲空間,就不能裝入 該作業(yè)。 (2) 動態(tài)分配:同靜態(tài)分配時一樣,作業(yè)在存儲空間的位置也是在裝入時確定的,但在其執(zhí)行過 程中可根據(jù)需要申請附加的存儲空間,而且一個作業(yè)已占用的部分存儲空間不再需要時可以要求歸還給系 統(tǒng)。)16. 什么是地址重定位 ?怎樣區(qū)分靜態(tài)重定位和動態(tài)重定位 ?各有什么優(yōu)缺點 ?正確答案: (1) 地址重定位:把作業(yè)地址空間中使用的邏輯地址變換成主存中物理地址的過程。 (2) 靜態(tài)重定位是在程序運行之前由裝配程序完成的, 動態(tài)重定位是在程序執(zhí)行過程中由硬件地

24、址變換機構(gòu)實現(xiàn)的。(3) 靜態(tài)重定位的主要優(yōu)點是,無須增加硬件地址變換機構(gòu),因此可在一般計算機上實現(xiàn)。 (4) 靜態(tài)重定位 的主要缺點有: 第一,要求給每個作業(yè)分配一個連續(xù)的存儲空間,且在作業(yè)的整個執(zhí)行期間不能再移動, 因此也就不能實現(xiàn)重新分配主存,不利于主存空間的充分利用。 第二,用戶必須事先確定所需的存儲量, 若所需的存儲量超過可用存儲空間,用戶必須考慮覆蓋結(jié)構(gòu)。 第三,用戶之間難以共享主存中的同一程序副本。 (5) 動態(tài)重定位的主要優(yōu)點有: 第一,用戶作業(yè)不要求分配連續(xù)的存儲空間。 執(zhí)行過程中可以動態(tài)申請存儲空間和在主存中移動。 第三,有利于程序段的共享。 缺點有: 第一,需要附加的硬件

25、支持。 第二,實現(xiàn)存儲管理的軟件算法比較復雜。 17. 分區(qū)分配有哪幾種 ?試比較各種分區(qū)分配的優(yōu)缺點。第二,用戶作業(yè)在(6) 動態(tài)重定位的主要 )正確答案: (1) 單一連續(xù)分區(qū)管理原理 優(yōu)點:方法簡單,易于實現(xiàn)。 缺點:僅適用于單道程序,因此不 能使處理機和主存得到充分利用。 (2) 固定式分區(qū)管理 主要優(yōu)點是簡單易行,特別是對于作業(yè)大小可以事 先知道的專用系統(tǒng),這種方法比較實用。 (3) 可變分區(qū)存儲管理 優(yōu)點:消除固定式分區(qū)分配造成的“內(nèi)零 頭”。 缺點:主存中經(jīng)??赡艹霈F(xiàn)大量的不能充分利用的小空閑區(qū)。 (4) 可重定位分區(qū)存儲管理 優(yōu)點: 減少碎片,使存儲器的利用率提高。 缺點:需要

26、硬件支持,提高了計算機成本,同時拼接也將降低計算機 的處理速度。 )18. 試述最佳、最差、最先適應(yīng)算法的基本思想,并指出它們各自的優(yōu)缺點。正確答案: (1) 最佳適應(yīng)算法:為一作業(yè)選擇分區(qū)時總是尋找其大小最接近于作業(yè)所要求的存儲空間。 優(yōu) 點:如果存儲空間中具有正好是所要求大小的空閑區(qū),則必然被選中;如果不存在這樣的空閑區(qū),也只對 比要求稍大的空閑區(qū)劃分,而不會去劃分一個更大的空閑區(qū)。 (2) 最差適應(yīng)算法:為作業(yè)選擇存儲空間時 總是尋找最大的空閑區(qū)。 (3) 最先適應(yīng)算法:將空閑區(qū)按其在存儲空間中的起始地址遞增的順序排列。為 作業(yè)分配存儲空間時, 從空閑區(qū)鏈的始端開始查找, 選擇第一個滿足

27、要求的空閑區(qū), 而不管它究竟有多大。 )19. 什么是存儲器的內(nèi)零頭和外零頭 ?它們是怎么造成的 ?減少它們應(yīng)采取什么措施 ?正確答案: (1) 分配給用戶而未被利用的部分 (各分區(qū)中的空閑部分 ) 稱為存儲器的內(nèi)零頭。造成的原因是 分區(qū)的大小不是根據(jù)每個作業(yè)的大小劃分的。減少內(nèi)零頭的方法是根據(jù)作業(yè)的實際需要動態(tài)地劃分存儲空 間,即分區(qū)的個數(shù)和大小都是不固定的。 (2) 存在于各分區(qū)之間的不能再充分利用的小的空閑區(qū)稱為外零 頭。產(chǎn)生外零頭的一個主要原因是,分區(qū)分配要求作業(yè)運行前一次全部裝入主存,且必須占用連續(xù)的存儲 空間。 (3) 解決辦法: 把程序分成幾部分裝入不同的分區(qū) ( 在虛擬存儲管理

28、中討論 )。 采用“拼接” 技術(shù),把零頭集中起來形成一個大的空閑區(qū)。 )20. 試述分頁存儲管理的基本實現(xiàn)原理,并說明如何實現(xiàn)從邏輯空間到物理空間的變換 ?正確答案: (1) 實現(xiàn)原理 等分主存: 把主存的存儲空間劃分成大小相等的片。 用戶邏輯地址空間的分頁: 把用戶的邏輯地址空間 (虛地址空間 )劃分成若干個與存儲塊大小相等的片,稱為頁面或頁(Page) 。 邏輯地址的表示:在分頁系統(tǒng)中,每個虛擬地址 (相對地址 )用一個數(shù)對 (p,d) 來表示。其中 p是頁號, d是該虛擬 地址在頁面號為 p 的頁中的相對地址,稱為頁內(nèi)地址 (位移量 )。 主存分配原則:在分頁情況下,系統(tǒng)以存 儲塊為單位

29、把主存分給作業(yè)或進程,并且分給一個作業(yè)的各存儲塊不一定是相鄰和連續(xù)的。進程或作業(yè)的 一個頁面裝入系統(tǒng)分給的某個存儲塊中,所以頁面與存儲塊對應(yīng)。 頁表和頁表地址寄存器:為了便于管理 和保護,系統(tǒng)為每個裝入主存的作業(yè)建立一張相應(yīng)的頁表,一旦這個作業(yè)被調(diào)度執(zhí)行,把它的頁表始址及 大小裝入特定的頁表寄存器中。 (2) 作業(yè)執(zhí)行過程中 CPU產(chǎn)生的每一個邏輯地址,由硬件地址變換機構(gòu)自 動將其分成兩部分,一部分為頁號,另一部分是頁內(nèi)位移量。如果頁表訪問是合法的,則由頁表始址和頁 號計算出所對應(yīng)的物理塊號;將物理塊號與邏輯地址中的位移量拼接,形成最終訪問的物理地址。)21. 用可變分區(qū)方式管理主存時,假定主

30、存中按地址順序依次有五個空閑區(qū),空閑區(qū)的大小依次為32KB、10KB、5KB、228KB、100KB。現(xiàn)有五個作業(yè) J1、J2、J3、J4,J5,它們各需主存量為 1KB、10KB、 108KB、 28KB,115KB。若采用最先適應(yīng)分配算法, 能把這五個作業(yè)按 J1 J5 的次序全部裝入主存嗎 ?按怎樣的次序 裝入這五個作業(yè)可以將其全部裝入主存 ?正確答案: ( 最先適應(yīng)分配算法總是順序查找空閑區(qū)表。 找到第一個能滿足作業(yè)長度要求的空閑區(qū), 分割這 個空閑區(qū),一部分分配給作業(yè),另一部分仍作為空閑區(qū)。由于實現(xiàn)這種算法時總是把空閑區(qū)按地址順序登 記在空閑區(qū)表中,所以本題中的作業(yè) J1 和 J2

31、都會被裝入到長度為 32KB的空閑區(qū),占用了其中 11KB(1KB+10KB)的空間,還剩余 21KB 的空間仍為空閑區(qū)。緊隨著的作業(yè) J3 需要 108KB的主存空間,故只 能將它裝入到長度為 228KB的第四個空閑區(qū)中, 裝入后還剩余 120KB仍為空閑區(qū), 把其中的 28KB 再分配給 作業(yè) J4 后剩余的空閑空間為 92KB?,F(xiàn)在系統(tǒng)中仍有五個空閑區(qū), 長度依次為 21KB、10KB、5KB、92KB、100KB, 顯然都不能滿足作業(yè) J5 的 115KB 的需求量。因此,若采用最先適應(yīng)分配算法不能把這五個作業(yè)按J1J5的次序全部裝入主存儲器。 如果仍采用最先適應(yīng)分配算法則可把對主存需

32、求量大的作業(yè)先裝入到較大的空 閑區(qū)中,以避免小的作業(yè)去分割大的空閑區(qū),保證大作業(yè)有足夠的空閑區(qū)可使用。若把 J5 先裝入到 228KB 的區(qū)域中占用其中的 115KB后保留一個 113KB的空閑區(qū),應(yīng)把這個空間留給作業(yè) J3,否則 J3 將無法裝入。 為了使其他作業(yè)不去分割這個空閑區(qū), 可以再把 J4 裝入到第一個空閑區(qū), 裝入后還剩余 4KB空間, 把其中 的 1KB 用來裝 J1 。然后 J2 正好占用第二個空閑區(qū) 10KB,最后把 J3 裝入到 113KB的區(qū)域后剩余 5KB 空間。 最初的第三個空閑區(qū) (5KB) 和第五個空閑區(qū) (100KB) 仍維持空閑狀態(tài)。所以,采用最先適應(yīng)分配算

33、法時若按 J5、J4、J1、J2、J3 的次序裝入,則可充分利用主存空間,把五個作業(yè)同時裝入主存儲器。當然,上述的裝入次序不是唯一的。例如,按次序 J5、J3、Jl 、J4、J2 裝入,或按 J3、J1、J4、J2、J5 的次序裝入 等均是司以的。 若采用最先適應(yīng)分配算法不能把五個作業(yè)按J1 J5 的次序全部裝入主存儲器。若按 J5、J4、J1、J2、J3 的次序裝入,則可充分利用主存的空閑空間,把五個作業(yè)同時裝入主存儲器中。)22. 為什么要引入虛擬存儲器的概念 ?正確答案: ( 引入虛擬存儲器是為了滿足用戶對存儲器容量的巨大需求而虛構(gòu)的一個非常大的地址空間,從而使用戶在編程序時無須擔心存儲

34、器容量之不足。 )23. 請求分頁和簡單分頁兩種存儲管理方案有何不同 ?缺頁中斷是如何發(fā)生的 ?發(fā)生缺頁中斷時如何處理 ?正確答案: (1) 請求頁式管理在作業(yè)或進程開始執(zhí)行之前,不要求把作業(yè)或進程的程序段和數(shù)據(jù)段一次性 地全部裝入主存,而只把當前需要的一部分頁面裝入主存,其他部分在作業(yè)執(zhí)行過程中需要時再從輔存上 調(diào)入主存。 (2) 當調(diào)用頁不在主存時發(fā)生缺頁中斷。若主存中沒有空閑塊時,首先按照某種策略選擇某頁 進行淘汰,以騰出空閑塊供本次調(diào)入的頁占用。若被選中淘汰的頁面中的信息修改過(修改位 =1) 還必須將其寫入輔存。如主存中有空閑塊,則根據(jù)該頁在輔存的地址調(diào)入所需頁面,并更新頁表,最后恢

35、復被中斷 的指令重新執(zhí)行。 )24. 某一計算機系統(tǒng)采用虛擬頁式存儲管理方式, 當前在處理機上執(zhí)行的某一個進程的頁表如下所示, 所有 的數(shù)字均為十進制,每一項的起始編號是0,并且所有的地址均按字節(jié)編址,每頁的大小為1024B。邏輯頁號存在位引用位修改位葉框號0110411113200031001400051015(1) 將下列邏輯地址轉(zhuǎn)換為物理地址,寫出計算過程,對不能計算的說明為什么 ? 0793,1197,2099,3320,4188,5332(2) 假設(shè)程序欲訪問第 2 頁,頁面置換算法為改進的 CLOCK算法, 請問該淘汰哪頁 ?如何修改頁表 ?上述地址 的轉(zhuǎn)換結(jié)果是否改變 ?變成多少

36、 ?正確答案: ( 本題考查邏輯地址到物理地址的轉(zhuǎn)換、頁面置換等。地址轉(zhuǎn)換過程一般是先將邏輯頁號取出, 然后查找頁表,得到頁框號,將頁框號與頁內(nèi)偏移量相加,即可獲得物理地址。若取不到頁框號,那么該 頁不在內(nèi)存,于是產(chǎn)生缺頁中斷,開始請求調(diào)頁。若內(nèi)存有足夠的物理頁面,那么可以再分配一個新的頁 面。若沒有頁面了,就必須在現(xiàn)有的頁面之中找到一個頁,將新的頁與之置換,這個頁可以是系統(tǒng)中的任 意一頁,也可以是本進程中的一頁。若是系統(tǒng)中的一頁,則這種置換方式稱為全局置換:若是本進程的頁 面,則稱為局部置換。置換時為盡可能地減少缺頁中斷次數(shù),可以有多種算法來應(yīng)用,本題使用的是改進 的 CLOCK算法。這種算

37、法必須使用頁表中的引用位和修改位,由這2 位組成 4 種級別,沒有引用和沒有修改的頁面最先淘汰,沒有引用但修改了的頁面其次,再次淘汰引用了但是沒有修改的頁面,最后淘汰既引 用又修改了的頁面,當頁面的引用位和修改位相同時,隨機淘汰一頁。(1) 根據(jù)題意,每頁 1024B,地址又是按字節(jié)編址,計算邏輯地址的頁號和頁內(nèi)偏移量,合成物理地址如下 表所示。邏輯地址 邏輯頁號 頁內(nèi)偏移量 頁框號 物理地址079307934488911971173332452099251缺頁中斷33203248112724188492缺頁中斷5332521255332(2) 第 2 頁不在內(nèi)存, 產(chǎn)生缺頁中斷, 根據(jù)改進的

38、 CLOCK算法,第 3 頁為沒有引用和沒修改的頁面, 故淘汰。 新頁面進入,頁表修改如下:邏輯頁號 存在位 引用位 修改位 頁框號0110411113201010 1調(diào)入310001淘汰400051015因為頁面 2 調(diào)入是為了使用,所以頁面 2 的引用位必須改為 1。地址轉(zhuǎn)換變?yōu)槿缦卤磉壿嫷刂?邏輯頁號 頁內(nèi)偏移量 頁框號 物理地址0793079344889119711733324520992511107533203248缺頁中斷4188492缺頁中斷5332521255332)25. 什么是文件的物理結(jié)構(gòu) ?它有哪幾種組織方式 ?正確答案: ( 文件的物理結(jié)構(gòu)和組織是指邏輯文件在物理存儲

39、空間中的存放方法和組織關(guān)系。 組織方式有四 種。 (1) 順序文件。將文件中邏輯上連續(xù)的信息依次存放到存儲介質(zhì)中便形成順序結(jié)構(gòu),這類文件叫順序 文件,又稱連續(xù)文件。 (2) 連接文件。使用指針來表示文件中各個記錄之間的關(guān)系,文件信息存放在外存 的若干個物理塊中,第一塊文件信息的物理地址由文件目錄給出,而每一塊的指針指出了文件的下一個物 理塊位置。通常,指針內(nèi)容為 0 時,表示文件至本塊結(jié)束。 (3) 直接文件。在直接存取存儲設(shè)備上,利用 Hash 法把記錄的關(guān)鍵字與其他地址之間建立某種對應(yīng)關(guān)系,以便實現(xiàn)快速存取的文件叫直接文件或散列文 件。(4) 索引文件。 系統(tǒng)為每個文件建立了一張索引表,

40、其中,每個表目包含一個記錄的鍵 (或邏輯記錄號 ) 及其記錄數(shù)據(jù)的存儲地址,存儲地址可以是記錄的物理地址,也可以是記錄的符號地址,這種類型的文件 稱索引文件。索引表的地址可由文件目錄指出,查閱索引表先找到的是相應(yīng)記錄鍵(或邏輯記錄號 ) ,然后獲得數(shù)據(jù)存儲地址。 )26. 敘述各種文件物理組織方式的主要優(yōu)缺點。正確答案: (1) 順序文件 優(yōu)點:順序存取記錄時速度較快,批處理、系統(tǒng)文件用得最多。 缺點:建立文 件前需要能預先確定文件長度,以便分配存儲空間;修改、插入和增加文件記錄有困難;對直接存儲器做 連續(xù)分配,會造成空閑塊的浪費。 (2) 連接文件 優(yōu)點:可以將文件的邏輯記錄順序與它所在存儲

41、空間的物 理記錄順序完全獨立開來,存放信息的物理塊不必連續(xù)而借助于指針表達記錄之間的邏輯關(guān)系;克服了順 序結(jié)構(gòu)不適宜于增、刪、改的缺點。 缺點:必須將指針與數(shù)據(jù)信息存放在一起,破壞了物理塊的完整性; 僅適用于順序存儲;整體性能較低。 (3) 直接文件 優(yōu)點:可用在不能采用順序組織方法、次序較亂又需在 極短時間內(nèi)存取的場合,對于實時處理文件、操作系統(tǒng)目錄文件、存儲管理的頁表查找、編譯程序變量名 表等特別有效。 缺點:沖突問題,如何設(shè)計 Hash 函數(shù)使得沖突盡可能少發(fā)生。 (4) 索引文件 優(yōu)點:具備 連接文件的優(yōu)點;具有直接讀寫任意一個記錄的能力;便于文件的增、刪、改。 缺點:增加了索引表的空

42、 間開銷和查找時間,大型文件的索引表的信息量甚至可能遠遠超過文件記錄本身的信息量。 )27. 一個 UNIX文件 F的存取權(quán)限為 rwxr-x- ,該文件的文件主 uid=12 ,gid=1 ,另一個用戶的 uid=6 ,gid=1 , 是否允許該用戶執(zhí)行文件 F?正確答案: (F 的存取權(quán)限為 rwxr-x- ,表示文件主可對 F 進行讀、寫及執(zhí)行操作,同組用戶可對 F進行 讀及執(zhí)行操作,但其他用戶不能對 F 操作。因為另一用戶的組標識符 gid 相同,所以允許該用戶執(zhí)行文件 F。)28. 一個 UNIX/Linux 文件,如果一個盤塊的大小為 1KB,每個盤塊占 4B,那么,若進程欲訪問偏

43、移為 263168B 處的數(shù)據(jù),需經(jīng)過幾次間接尋址 ?正確答案: (UNIX/Linux 文件系統(tǒng)中,直接尋址為 10 塊,一次間接尋址為 256 塊,二次間接尋址為 2562 塊,三次間接尋址為 2563 塊。偏移為 263168B的邏輯塊號是 263168÷1024=257。塊內(nèi)偏移量 =263168-257 ×1024=0。由于 10<257<256+10, 故 263168B 在一次間接尋址內(nèi)。 )29. 如果一個索引節(jié)點為 128B,指針長 4B,狀態(tài)信息占用 68B,而每塊大小為 8KB。問在索引節(jié)點中有多大 空間給指針 ?使用直接、一次間接、二次間

44、接和三次間接指針分別可表示多大的文件?正確答案: ( 由于索引節(jié)點為 128B,而狀態(tài)信息占用 68B,故索引節(jié)點中用于磁盤指針的空間大小為 128-68=60B。 一次間接、二次間接和三次間接指針占用三個指針項,因此直接指針項數(shù)為:60÷ 4-3=12個。每塊大小為 8KB。所以,使用直接指針時可表示文件的大小為12×8192=96KB。 使用一次間接指針時:8192÷4=2048,即一個磁盤塊可裝 2048 個盤塊指針,可表示文件的大小為 2048×8192B=16MB。 使用二次 間接指針時: 2048× 2048=4M,即二次間接可裝

45、4M個盤塊指針,可表示文件的大小為 4M×8192B=32GB。 使 用三次間接指針時: 2048× 2048×2048=8G,即三次間接可裝 8G個盤塊指針,可表示文件的大小為 8G× 8192B=64TB。 )30. 文件系統(tǒng)的模型可分為 3 層,試說明其每一層所包含的基本內(nèi)容。正確答案: (1) 最低層為對象及其屬性說明,主要包括文件、目錄、磁盤存儲空間三類對象。 (2) 最高層 是文件系統(tǒng)提供給用戶的接口,分為命令接口、程序接口和圖形化用戶接口三種類型。 (3) 中間層是對對 象進行操縱和管理的軟件集合,是文件系統(tǒng)的核心部分,擁有文件存儲空間管理

46、、文件目錄管理、地址映 射、文件讀寫管理及文件共享與保護等諸多功能。 )31. 試說明關(guān)于索引文件和索引順序文件的檢索方法。正確答案: (1) 對索引文件進行檢索時,首先根據(jù)用戶 (程序) 提供的關(guān)鍵字,并利用折半查找法檢索索引 表,從中找到相應(yīng)的表項,再利用該表項中給出的指向記錄的指針值去訪問對應(yīng)的記錄。 (2) 對索引順序 文件進行檢索時,首先利用用戶 (程序) 提供的關(guān)鍵字以及某種查找方法去檢索索引表,找到該記錄所在記 錄組中的第一條記錄的表項,從中得到該記錄組第一個記錄在主文件中的位置;然后再利用順序查找法去 查找主文件,從而找到所要求的記錄。 )32. 解釋關(guān)于樹形目錄結(jié)構(gòu)采用線性檢

47、索法的檢索過程。正確答案: ( 假設(shè)用戶給定的文件路徑名為 /Level 1/Level 2/ /Level n/datafile ,則關(guān)于樹形目錄結(jié)構(gòu) 采用線性檢索法檢索該文件的基本過程為: (1) 讀入第一個文件分量名 Level 1 ,用它與根目錄文件 ( 或當 前目錄文件 ) 中各個目錄項的文件名順序地進行比較,從中找出匹配者, 并得到匹配項的索引節(jié)點號, 再從 對應(yīng)索引節(jié)點中獲知 Level 1 目錄文件所在的盤塊號,將相應(yīng)盤塊讀入內(nèi)存。 (2) 讀入第 i 個文件分量名 Level i ,用它與最新調(diào)入內(nèi)存的當前目錄文件中各個目錄項的文件名順序地進行比較,從中找出匹配者, 并得到匹

48、配項的索引節(jié)點號,再從對應(yīng)索引節(jié)點中獲知 Level i 目錄文件所在的盤塊號,將相應(yīng)盤塊讀入 內(nèi)存。(3) 讀入最后一個文件分量名即 datafile ,用它與第 n 級目錄文件中各個目錄項的文件名進行比較, 從而得到該文件對應(yīng)的索引節(jié)點號,進而找到該文件物理地址,目錄查找操作成功結(jié)束。如果在上述查找 過程中發(fā)現(xiàn)任何一個文件分量名未能找到,則停止查找并返回“文件未找到”的出錯信息。 )33. 空閑磁盤空間的管理常采用哪幾種方式 ?UNIX 系統(tǒng)采用的是何種方式 ?正確答案: (空閑磁盤空間的管理常采用以下幾種方法: (1) 空閑表法:屬于連續(xù)分配方式,它與內(nèi)存管理 中的動態(tài)分區(qū)分配方式相似。

49、 (2) 空閑鏈表法:將所有空閑盤區(qū)鏈接成一條空閑鏈。根據(jù)構(gòu)成鏈的基本元 素不同,可分為空閑盤塊鏈和空閑盤區(qū)鏈。 (3) 位示圖法。利用二進制的一位來表示磁盤中每一個盤塊的 使用情況,磁盤上的所有盤塊都有一個二進制位與之對應(yīng),從而由所有盤塊所對應(yīng)的位構(gòu)成一個集合,即 位示圖。 (4) 成組鏈接法。結(jié)合空閑表法和空閑鏈表法而形成。UNIX系統(tǒng)采用的是成組鏈接法。 )34. 試分析, 在第一級磁盤容錯技術(shù)和第二級磁盤容錯技術(shù)中,各采取了哪些容錯措施 ?什么是寫后讀校驗 ?正確答案: ( 在第一級磁盤容錯技術(shù)中,包括以下容錯措施:(1) 雙份目錄和雙份文件分配表。在磁盤上存放的文件目錄和文件分配表

50、FAT 均為文件管理所用的重要數(shù)據(jù)結(jié)構(gòu),所以為之建立備份。(2) 在系統(tǒng)每次加電啟動時都要對兩份目錄和兩份 FAT 進行檢查,以驗證它們的一致性。 在第二級磁盤容錯技術(shù)中,包括 以下容錯措施: (1) 磁盤鏡像。在同一磁盤控制器下增設(shè)一個完全相同的磁盤驅(qū)動器,在每次向文件服務(wù) 器的主磁盤寫入數(shù)據(jù)后,都要采用寫后讀校驗方式將數(shù)據(jù)再同樣地寫到備份磁盤上,使兩者具有完全相同 的位像圖。 (2) 磁盤雙工。 將兩臺磁盤驅(qū)動器分別接到兩個磁盤控制器上, 同樣使這兩臺磁盤機鏡像成對, 從而在磁盤控制器發(fā)生故障時起到數(shù)據(jù)保護的作用。 在磁盤雙工時, 由于每一個磁盤都有自己的獨立通道, 故可以同時 (并行)地

51、將數(shù)據(jù)寫入磁盤。 在讀入數(shù)據(jù)時, 可采用分離搜索技術(shù), 從響應(yīng)快的通道上取得數(shù)據(jù), 因而加快了對數(shù)據(jù)的讀取速度。 (3) 熱修復重定向和寫后讀校驗。兩者均用于防止將數(shù)據(jù)寫入有缺陷的盤 塊中。就熱修復重定向而言,系統(tǒng)將一定的磁盤容量作為熱修復重定向區(qū),用于存放當發(fā)現(xiàn)盤塊有缺陷時 的待寫數(shù)據(jù),并對寫入該區(qū)的所有數(shù)據(jù)進行登記,方便將來對數(shù)據(jù)進行訪問。而寫后讀校驗則是為了保證 所有寫入磁盤的數(shù)據(jù)都能寫入到完好的盤塊中,故在每次從內(nèi)存緩沖區(qū)向磁盤中寫入一個數(shù)據(jù)塊后,應(yīng)立 即從磁盤上讀出該數(shù)據(jù)塊并送至另一緩沖區(qū)中, 再將該緩沖區(qū)中內(nèi)容與原內(nèi)存緩 ) 中區(qū)中在寫后仍保留的數(shù) 據(jù)進行比較。若兩者一致,便認為此

52、次寫入成功,可繼續(xù)寫入下一個盤塊;否則,則重寫。若重寫后兩者 仍不一致,則認為該盤塊有缺陷,此時便將應(yīng)寫入該盤塊的數(shù)據(jù)寫入熱修復重定向區(qū)中,并將該損壞盤塊 的地址記錄在壞盤塊表中。 )35. 磁帶卷上記錄了若干文件,假定當前磁頭停在第 j 個文件的文件頭標前,現(xiàn)要按名讀出文件 i ,試給出 讀出文件 i 的步驟。正確答案: ( 由于磁帶卷上的文件用“帶標”隔開,每個文件的文件頭標前后都使用了三個帶標。* 正常情況磁頭應(yīng)停在文件頭標的前面,所以只要計算帶標的個數(shù),就可找到所要的文件。 (1) 當 i j 時,要 正走磁帶 步驟 1,組織通道程序正走磁帶,走過“帶標”個數(shù)為3× (i-j

53、) 個。 步驟 2,組織通道程序讀文件 i 的文件頭標。 步驟 3,根據(jù)文件 i 的文件頭標信息,組織讀文件信息。 (2) 當 i <j 時,要反走磁 帶 步驟 1,組織通道程序反走磁帶,走過“帶標”個數(shù)為3× (j-i)+1 個。 步驟 2,組織通道程序讀文件i 的文件頭標。 步驟 3,根據(jù)文件 i 的文件頭標信息,組織讀文件信息。 )36. 某操作系統(tǒng)的磁盤文件空間共有 500 塊,若用字長為 32 位的位示圖管理磁盤空間, 試問: (1) 位示圖需 多少個字 ?(2) 第 i 字第 j 位對應(yīng)的塊號是多少 ?(3) 給出申請 / 歸還一塊的工作流程。正確答案: (1) 位

54、示圖占用字數(shù)為 500÷32=16(向上取整)個字。(2)第i 字第j位對應(yīng)的塊號 N=32×i+j 。(3) 申請時自上至下、 自左至右掃描位示圖跳過為 1的位,找到第一個遇到的 0位,根據(jù)它是第 i 字第j 位 算出對應(yīng)塊號,并分配出去。歸還時已知塊號,塊號÷ 32算出第i 字第j 位并把位示圖相應(yīng)位清零。 )37. 若兩個用戶共享一個文件系統(tǒng),用戶甲使用文件A、B、C、 D、E,用戶乙要用到文件 A、D、 E、F。已知用戶甲的文件 A與用戶乙的文件 A實際上不是同一文件;甲、乙兩用戶的文件D和 E恰是同一文件。試設(shè)計一種文件系統(tǒng)組織方案,使得甲、乙兩用戶能共

55、享該文件系統(tǒng)而又不致造成混亂。正確答案: ( 可以采用二級目錄或樹形目錄結(jié)構(gòu)來解決難題。例如: *)38. 在 UNIX中,如果一個盤塊的大小為 1KB,每個盤塊號占 4B,即每塊可放 256 個地址。請轉(zhuǎn)換下列文件 的字節(jié)偏移量為物理地址: (1)9999 , (2)18000 ,(3)420000 。正確答案: (1) 將邏輯文件的字節(jié)偏移量轉(zhuǎn)換為文件的邏輯塊號和塊內(nèi)偏移。方法是:將邏輯文件的字節(jié) 偏移量除以盤塊大小,商為文件的邏輯塊號,余數(shù)是塊內(nèi)偏移。 (2) 將文件的邏輯塊號轉(zhuǎn)換為物理塊號。 使用多重索引結(jié)構(gòu),在索引節(jié)點中根據(jù)邏輯塊號通過直接索引或間接索引找到對應(yīng)物理塊號。 9999 L1=INT(9999,1024)=9 B1=MOD(9999,1024)=783 其邏輯塊號為 9,故直接索引 addr8 可找到物理塊號。 18000 L2=INT(18000,1024)=17 B2=MOD(18000,1024)=592 其邏輯塊號為 17 ,通過一次間接索引 addr10 可找到物理塊號。 420000 L3=INT(420000,1

溫馨提示

  • 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

提交評論