系統架構設計師真題解析(1)—— 檔案系統物理結構

2020-10-02 16:00:05

1 真題解析

假設檔案系統採用索引節點管理,且索引節點有8個地址項 iaddr[0] ~ iaddr[7] ,每個地址項大小為4B。 iaddr[0] ~ iaddr[4] 採用直接地址索引, iaddr[5] 和 iaddr[6] 採用一級間接地址索引, iaddr[7] 採用二級間接地址索引。假設磁碟索引塊和磁碟資料塊大小均為 1KB ,檔案 File1 的索引節點如下圖所示。若使用者存取檔案 File1 中邏輯塊號為5和 261 的資訊,則對應的物理塊號分別為(3), 101 號物理塊存放的是(4)。

(3) A . 89 和 90 B . 89 和 136 C . 58 和 187 D . 90 和 136

(4)A . File1 的資訊 B . 直接地址索引表 C . 一級地址索引表 D . 二級地址索引表

解題的關鍵是會看圖。圖中單元格內的地址是物理塊地址,而邏輯塊就是空白單元格,邏輯塊號沒有標註出來。

首先依據題目內容,可以推出以下邏輯塊號。注意:邏輯塊號從 0 開始。邏輯塊號 0 ~ 4,共 5 個,採用的是直接地址索引。

因為物理塊每個地址項大小為 4B,磁碟索引塊大小為 1KB,即 1024B。而 1024/4 = 256 個,所以一個磁碟索引塊可以存放 256 個物理塊地址。因此,可以就此推測出一級間接地址索引所對應的邏輯塊號範圍。
因為每個索引塊可以存放 256 個物理塊地址,所以第一個一級間接地址索引所對應的邏輯塊號範圍是 5 ~ 260;第二個一級間接地址索引所對應的邏輯塊號範圍是 261 ~ 516。具體計算步驟為:
【1】260 = 5 + 256 -1。
【2】516 = 261 + 256 -1。

所以,第一個空選 C。

塊號為 101 實體地址採用的是二級索引方式,它的線連線到的是一級地址索引表,其本身存放的是二級地址索引。所以第二個空選 D。


此題涉及以下知識點。

2 檔案系統物理結構

檔案的物理結構是指檔案在儲存裝置上的存放方法。檔案的物理結構側重於提高記憶體的利用效率和降低存取時間。檔案的儲存裝置通常劃分為大小相同的物理塊,物理塊是分配和傳輸資訊的基本單位。檔案的物理結構涉及檔案儲存裝置的組塊策略和檔案分配策略,決定檔案資訊在儲存裝置上的儲存位置。常用的檔案分配策略有:

(1)順序分配(連續分配)

這是最簡單的分配方法。在檔案建立時預先分配一組連續的物理塊,然後,按照邏輯檔案中的資訊(或記錄)順序,依次把資訊(或記錄)按順序儲存到物理塊中。這樣,只需知道檔案在檔案儲存裝置上的起始位置和檔案長度,就能進行存取,這種分配方法適合於順序存取,在連續存取相鄰資訊時,存取速度快。其缺點是在檔案建立時必須指定檔案的資訊長度,以後不能動態增長,一般不宜用於需要經常修改的檔案。

(2)連結分配(串聯分配)

這是按單個物理塊逐個進行的。每個物理塊中(一般是最後一個單元)設有一個指標,指向其後續連線的下一個物理塊的地址,這樣,所有的物理塊都被連結起來,形成一個連結佇列。在建立連結檔案時,不需要指定檔案的長度,在檔案的說明資訊中,只需指出該檔案的第一個物理塊塊號,而且連結檔案的檔案長度可以動態地增長。只調整物理塊間的指標就可以插入或刪除一個資訊塊。連結分配的優點是可以解決記憶體的碎片問題,提高儲存空間利用率。由於連結檔案只能按照佇列中的連結指標順序查詢,因此搜尋效率低,一般只適用於順序存取,不適用於隨機存取。

(3)索引分配

這是另一種對檔案儲存不連續分配的方法。採用索引分配方法的系統,為每一個檔案建立一張索引表,索引表中每一表項指出檔案資訊所在的邏輯塊號和與之對應的物理塊號。索引分配既可以滿足檔案動態增長的要求,又可以方便而迅速地實現隨機存取。對一些大的檔案,當索引表的大小超過一個物理塊時,會發生索引表的分配問題。一般採用多級(間接索引)技術,這時在由索引表指出的物理塊中存放的不是檔案而是存放檔案資訊的物理塊地址。如果一個物理塊能夠儲存 n 個地址,則在一級間接索引模式下,可定址的檔案長度將為【 n 的二次方 】 塊。對於更大的檔案可以採用二級甚至三級間接索引(例如, UNIX 作業系統採用三級索引結構)。

索引檔案的優點是既適用於順序存取,又適用於隨機存取。缺點是索引表增加了儲存空間的開銷。

另外,在存取檔案時需要存取兩次磁碟,一次是存取索引表,另一次是根據索引表提供的物理塊號存取檔案資訊。為了提高效率,一種改進的方法是,在對某個檔案進行操作之前,預先把索引表調入記憶體。這樣,檔案的存取就能直接從記憶體的索引表中確定相應的物理塊號,從而只需要存取一次磁碟。