目錄管理
目錄管理是檔案系統中的重要組成部分,它負責組織和管理文件的結構,以便使用者能夠方便、有效率地存取文件。目錄管理的設計直接影響檔案檢索、共用和系統效能。
目錄管理的具體要求
- 實現按名訪問:
-
使用者可以透過檔案名稱存取文件,而無需關心文件的實體儲存位置。
-
提高檢索目錄的速度:
-
目錄結構和文件的組織方式應有助於快速找到文件,減少搜尋時間。
-
實作文件共享:
-
允許多個使用者或應用程式共用相同的文件,並確保文件存取的安全性。
-
允許檔案重名:
- 不同目錄下的檔案可以同名,但在同一目錄下檔案名稱必須唯一。
檔案目錄
- 檔案控制區塊(FCB):
- 檔案控制區塊是檔案系統中用來描述檔案屬性和儲存資訊的資料結構。
- 每個檔案對應一個檔案控制區塊,它包含檔案的相關信息,如檔案名稱、屬性、實體儲存位置等。
-
檔案目錄是由多個檔案控制區塊組成的清單。
-
MS-DOS 檔案控制區塊結構:
- MS-DOS 中的檔案控制區塊包含以下欄位:
- 檔案名稱:主檔案名稱(最多 8 個字元)。
- 副檔名:檔案副檔名(最多 3 個字元)。
- 屬性:檔案的屬性資訊(如唯讀、隱藏、系統檔案等)。
- 備用:備用字段,用於系統內部使用。
- 時間:檔案建立或修改的時間。
- 日期:檔案建立或修改的日期。
- 首塊號:檔案儲存的起始區塊號。
- 總區塊數:檔案所佔用的總區塊數。
目錄結構類型
目錄結構主要包括以下幾種類型:
1. 一級目錄結構
- 特點:
- 所有文件都登記在一個全域的目錄表中,每個檔案佔據其中一個目錄項目。
-
僅能實現簡單的按名訪問,不支援複雜的目錄管理。
-
示意圖:
一級目錄結構: [根目錄] └── 文件1 └── 文件2 └── 文件3
2. 二級目錄結構
- 特點:
- 由一張主檔案目錄(MFD)和多個使用者檔案目錄(UFD)構成。
- 主檔案目錄存放使用者帳號資訊,指向各使用者的使用者檔案目錄。
-
使用者檔案目錄包含該使用者的所有檔案的控制區塊。
-
示意圖:
二級目錄結構: [主檔案目錄 (MFD)] ├── 用戶A的UFD │ └── 文件A1 │ └── 文件A2 ├── 用戶B的UFD │ └── 文件B1 │ └── 文件B2
3. 樹狀目錄結構
- 特點:
- 樹狀結構支援多層目錄管理,形成根目錄、子目錄和檔案的層次結構。
- 檔案的路徑可以是絕對路徑或相對路徑:
- 絕對路徑:從根目錄開始,一直到目標檔案的完整路徑。
-
相對路徑:基於目前工作目錄的路徑,不包含根目錄部分。
-
示意圖:
樹狀目錄結構: [根目錄] ├── 使用者A │ └── 文檔 │ └── 文件A1 │ └── 文件A2 ├──用戶 B │ └── 圖片 │ └── 文件B1 │ └── 文件B2
總結
目錄管理在檔案系統中起著關鍵作用,透過合理的目錄結構設計,可以提升檔案存取效率和使用者體驗。根據系統需求和應用場景,選擇合適的目錄結構至關重要:
- 一級目錄結構適用於簡單單一使用者係統。
- 二級目錄結構適用於多用戶系統,提供了基礎的隔離和管理功能。
- 樹形目錄結構適用於複雜的檔案系統和多用戶環境,是現代作業系統中最常見的目錄管理結構。