1. 程式人生 > >作業系統概念(高等教育出版社,第七版)複習——第十一章:檔案系統實現

作業系統概念(高等教育出版社,第七版)複習——第十一章:檔案系統實現

第十一章 檔案系統實現

基礎知識

檔案系統實現(超重點)

一個磁碟可分為多個分割槽,或者一個卷可橫跨多個磁碟上的數個分割槽。分割槽可以是“生的”,即沒有檔案系統,也可以是“熟的”,即含有檔案系統。

目錄實現

線性列表、雜湊表

分配方法

連續分配:每個檔案在磁碟上佔有一個連續的塊。

連結分配:每個檔案是磁碟塊的連結串列,磁碟塊分佈在磁碟的任何一個地方,目錄包括檔案的第一塊的指標和最後一塊的指標。

索引分配:通過把所有指標放在一起(即通過索引塊)來解決。

連結分配的變種:建立檔案分配表(FAT)。通過多備份幾個FAT來增強可靠性。

連結分配提高了連續分配的外部碎片和大小宣告的問題。

索引分配提高了連結分配的可靠性。

索引分配包括連結方案、多層索引、組合方案。

空閒空間管理

位向量、連結串列、組、計數

位向量(點陣圖)

如果一塊為空閒,那麼其位為1,如果一塊已分配,其位為0.

第一個空閒塊=(值為0的字數)×(一個字的位數)+第一個值為1的位的偏移

連結串列

通過連結串列將空閒空間連線起來

組(grouping)

將n個空閒塊的地址存在第一個空閒塊中。這些塊中前n-1塊個確實為空,而最後一塊包含另外n個空閒塊的地址。

計數

記錄第一塊的地址和緊跟第一塊的連續的空閒塊的數量n

效率與效能

課後作業

2.

優點:根據指標可以找到位置,簡單有效。

缺點:如果不快取會導致大量的磁頭尋道時間。

6.

連續分配:

a. 初始地址加邏輯地址等於實體地址

b. 1

連結分配:

a. 根據連結串列依次尋找

b. 4

索引分配:

a. 獲取指向實體地址的指標

b. 2

10.

日誌檔案系統可防止系統崩潰時導致的資料不一致問題。對檔案系統元資料的更改都被儲存在一份單獨的日誌裡,當發生系統崩潰時可以根據日誌正確地恢復資料。除此之外,日誌使系統重新啟動時不必進行檔案系統的檢查,從而縮短了恢復時間。

思考題

檔案系統的目錄實現:

線性表:簡單;查詢需要線性搜尋,費時

雜湊表:搜尋快;會出現衝突;依賴雜湊表大小、雜湊函式

說明幾種檔案分配方式的思想、特點:

連續分配:

簡單,可以隨機存取,速度快,適合檔案系統不變動的情況,有外部碎片會浪費空間,檔案不能變大

連結分配:

簡單,沒有外部碎片,建立時無需宣告所需空間,需要空間儲存指標,不能隨機存取,可靠性低

索引分配:

隨機存取,建立時無需宣告所需空間,沒有外部碎片,浪費空間,索引塊的指標開銷通常大於連結分配的指標開銷

說明幾種磁碟空閒空間的管理方法的思想及特點(優點及缺點):

位向量:

位示圖空閒為1,已分配為0,儲存在磁碟上,檢索時裝入主存;或放在超級塊中。

簡單,容易獲得連續檔案,效率低。

連結串列:

連結串列的頭放在超級塊中。

不易得到連續空間,不佔用額外磁碟空間。

組:

建立一個類似於分割槽記憶體管理中的分割槽表;每個表項記錄第一塊的地址和與第一塊連續的空閒塊的數量。

容易找到連續的空間,需要額外的空間。

計數:

需要額外空間(磁碟上有一個“空閒盤塊表”);為磁碟上的每個空閒連續儲存空間中的磁碟塊建立一個表項。

適合連續檔案空間的連續分配。

為提高檔案系統的效能,可採用哪些措施:

磁碟cache

同步讀寫與非同步讀寫結合

優化順序訪問

採用立即釋放與提前預讀順序

讓磁碟塊在記憶體中駐留足夠長時間

通過將記憶體部分作為虛擬磁碟或RAM磁碟來提高PC效能

儘量減少磁碟的訪問頻率