作業系統 第七、八章 目錄管理 + 檔案共享和保護
目錄管理:
1、檔案控制塊—FCB
為檔案設定用於描述和控制檔案的資料結構,稱之為“檔案控制塊”(FCB)
檔案與檔案控制塊一一對應、
記錄檔名及其存放地址、檔案的說明和控制資訊。
檔案管理程式藉助於檔案控制塊中的資訊對檔案施以各種操作。
2、檔案目錄:
把 檔案控制塊的有序集合稱為 檔案目錄。
即一個檔案控制塊就是一個目錄項。
通常一個檔案目錄也被看作是一個檔案,稱為目錄檔案。
3、FCB內容:
- 對於連續檔案:檔案起始塊號;
- 對於連結檔案:指向第一個物理塊的指標;
- 對於索引檔案:索引表地址。
在檔案控制塊中,通常含有以下三類資訊:
1)基本資訊類 :包括檔名,檔案物理位置,檔案邏輯結構,檔案的物理結構。
2)存取控制資訊類 :包括檔案主的存取許可權,核准使用者的存取許可權和一般使用者的存取許可權。
3)使用資訊類 :建立日期和時間、檔案上次修改的日期和時間
當前使用資訊:開啟該檔案的程序數、是否被程序鎖住、是否已修改等。
4、檢索速度:
檔案FCB組成的“目錄”檔案存放於磁碟(外存上);需要時,要從磁碟將目錄內容調入記憶體進行檢索和使用。
如果目錄佔用多個盤塊,則需啟動多次磁頭讀寫,檢索速度慢,
如何提高檢索速度?
1)索引結點: (檔名 + 索引結點指標)
將檔名、檔案具體資訊分開,使檔案描述資訊單獨形成一個索引結點,減少實際檢索的資訊量,提高速度。
1.1 索引結點由外存到記憶體的過程中有不同的形式:
1.1.1 磁碟索引結點
1.1.2 記憶體索引結點
2) 目錄結構 :
①單級目錄結構:
整個檔案系統中只建立一張目錄表,每個檔案一個目錄項,含有檔案相關資訊。
1.1每建立一個新檔案: 先檢索所有的目錄項,保證檔名唯一。 獲得一空白目錄項,填入相關資訊,修改狀態位(表明每個目錄項是否空閒)。
1.2 刪除一個檔案: 找到對應目錄項,回收檔案所佔用空間 ; 清除目錄項
1.3 優點: 實現 按名存取
1.4 缺點:
檔案檢索時需搜遍整個目錄檔案,範圍大速度慢。
不允許重名。
不便於實現檔案共享
②兩級目錄結構:
為每一個使用者建立一個單獨的使用者檔案目錄 UFD,UFD由使用者所有檔案的檔案控制塊組成。
系統建立一個主檔案目錄 MFD, MFD中每個使用者目錄檔案都佔有一個目錄項,其中包括使用者名稱和指向UFD的指標。
1.1 優點:
提高了檢索目錄的速度。
在不同的目錄中可重名。
不同使用者還可以使用相同/不同的檔名來訪問系統中的同一個共享檔案。(不同使用者下可重名)
1.2 缺點:
不提供子目錄操作,還不方便;各使用者之間被完全隔離的話使用者訪問其他使用者檔案時,不方便合作。
③多級目錄結構:(又稱為樹狀目錄)
適用於較大的檔案系統管理。
1.1 優點:
在檔案數目較多時,便於系統和使用者將檔案分散管理。
層次結構更清晰、提供更靈活的許可權管理等
1.2 缺點:
但目錄級別太多時也會增加路徑檢索層次,增加磁碟訪問時間。
1.3 相關名詞:
1.3.1 目錄結構 :
主目錄稱為根目錄,資料檔案為樹葉,其它目錄為結點。多級目錄縮小檢索範圍提高檢索速度和檔案系統的效能。
1.3.2 路徑名 :
從根目錄到任何資料檔案都只有一條唯一通路。
目錄檔名 和 資料檔名依次用 “/” 連線起來,即構成資料檔案的路徑名。
1.3.3 當前目錄 :
為每個程序設定一個“當前目錄”,又稱“工作目錄”。
從當前目錄開始,逐級經過中間的目錄檔案,最後達到要訪問的資料檔案。
這一路徑上的目錄和資料檔名用“/”連線成路徑名,稱為相對路徑名。
從根開始的路徑名稱為絕對路徑名。
3)目錄查詢技術:
目錄查詢方式:線性檢索法 和 Hash方法。
1. 線性檢索法:(又稱為順序檢索法)
單級目錄中 :使用者提供檔名,順序查詢檔案目錄。
樹型目錄中: 使用者提供路徑名,對多級目錄進行 逐層查詢。
2. Hash 方法:
如果建立了一張Hash索引檔案目錄,便可利用Hash方法進行查詢。
對於使用萬用字元的檔案名系統無法利用Hash法檢索目錄,還是需用線性查詢法。
檔案共享與保護:
1)檔案共享:
① 索引結點 :
基本FCB法: 名+詳細資訊。 直接在檔案目錄中包含檔案的實體地址,該方法實現的共享不適用檔案動態變化。一個使用者對檔案的修改(如物理塊號增加),對其他使用者不可見,共享檔案的FCB資訊記錄同步更新困難。
檔名+索引結點指標。 一個使用者修改指標指向地址裡的內容,指標不變,其他使用者通過指標總能感知索引結點中的最新內容
②符號鏈法:
link檔案: “檔名+共享檔案路徑”
該方法適用於網路檔案共享,但根據路徑檢索共享檔案的目標位置增加了訪問開銷,link檔案獨佔索引結點也耗費一定的空間。
2)磁碟容錯:
磁碟表面故障
磁碟驅動器、控制器故障
高階容錯技術