第七章 檔案管理(三) 目錄管理

2021-09-01 23:56:38 字數 2694 閱讀 6000

對檔案實施有效的管理,必須對它們加以妥善組織,主要是兩大操作:

1.基本資訊記錄(fcb,目錄項)

2.方便檢索、管理(目錄操作)

目錄管理的要求如下:

實現「按名訪問」;(最基本功能)

提高對目錄的檢索速度;

檔案共享;

允許檔案重名。

檔案控制塊

為了能對乙個檔案進行正確的訪問,必須為檔案設定用於描述和控制檔案的資料結構,稱之為「檔案控制塊」(fcb)

檔案與檔案控制塊一一對應

記錄檔名及其存放位址、檔案的說明和控制資訊。(是誰?在**?什麼權?)

檔案管理程式借助於檔案控制塊中的資訊對檔案施以各種操作。

把檔案控制塊的有序集合稱為檔案目錄,即乙個檔案控制塊就是乙個目錄項。通常乙個檔案目錄也被看作是乙個檔案,稱為目錄檔案。

fcb內容:

在檔案控制塊中,通常含有以下三類資訊。

1.基本資訊類:包括檔名,檔案物理位置,檔案邏輯結構,檔案的物理結構。

2.訪問控制資訊類:包括檔案主的訪問許可權,核准使用者的訪問許可權和一般使用者的訪問許可權。

3.使用資訊類:建立日期和時間、檔案上次修改的日期和時間

當前使用資訊:開啟該檔案的程序數、是否被程序鎖住、是否已修改等。

關於檔案檢索的速度:

檔案fcb組成的「目錄」檔案存放於磁碟;需要時,要從磁碟將目錄內容調入記憶體進行檢索和使用。

如果目錄占用5個盤塊,則至多需啟動5次磁頭讀寫,如何提高檢索速度?

索引節點:

索引結點的引入:

1.檔案目錄佔越大量的盤塊,需進行的磁碟讀寫開銷越大。減少實際檢索的資訊量就減少移動磁頭的開銷,提高速度;

2.目錄一般是按名檢索。而直到找到正確檔案前,只關心檔名,不需要其它的檔案描述資訊,目錄中這部分內容的調入不是必須的。

所以:將檔名、檔案具體資訊分開,使檔案描述資訊單獨形成乙個索引結點。

索引結點由外存到記憶體的過程中有不同的形式:

磁碟索引結點:存放在磁碟上的索引結點。

主要包括以下內容:檔案主識別符號、檔案型別、檔案訪問許可權、檔案實體地址、檔案長度、檔案連線計數、檔案訪問時間。

記憶體索引結點:檔案被開啟後,將磁碟索引結點拷貝到記憶體索引結點中以便使用。

比磁碟索引結點增加了以下內容:索引結點編號、狀態、訪問計數、檔案所屬檔案系統的邏輯裝置號、鏈結指標。

目錄結構

目錄結構的組織,關係到檔案系統的訪問速度,也關係到檔案的共享性和安全性。組織好檔案的目錄,是設計好檔案系統的重要環節。

目前常用的目錄結構形式有

一。單級目錄

最簡單的目錄結構。

整個檔案系統中只建立一張目錄表,每個檔案乙個目錄項,含有檔案相關資訊。

每建立乙個新檔案:先檢索所有的目錄項,保證檔名唯一。獲得一空白目錄項,填入相關資訊,修改狀態位(表明每個目錄項是否空閒)。

刪除乙個檔案:找到對應目錄項,**檔案所占用空間,清除目錄項

優點:簡單、能實現目錄管理的基本功能——按名訪問。

缺點:檔案檢索時需搜遍整個目錄檔案,範圍大速度慢。

不允許重名。名字過多難於記憶,對於多使用者環境重名難以避免。

不便於實現檔案共享(因為不能重名,不同使用者使用的共享檔案必須不同名字,標識哪些使用者共享檔案也不方便),一般只適用單機環境。

二。兩級目錄

為每乙個使用者建立乙個單獨的使用者檔案目錄ufd,ufd由使用者所有檔案的檔案控制塊組成。系統建立乙個主檔案目錄mfd, mfd中每個使用者目錄檔案都占有乙個目錄項,其中包括使用者名稱和指向ufd的指標。

基本克服了單級目錄的缺點,並具有以下優點:

1.提高了檢索目錄的速度。

2.在不同的目錄中可重名。

3.不同使用者還可以使用相同/不同的檔名來訪問系統中的同乙個共享檔案。

不提供子目錄操作,還不方便;各使用者之間被完全隔離的話使用者訪問其他使用者檔案時,不方便合作。

三。多級目錄

適用於較大的檔案系統管理。又稱為樹狀目錄(tree-like)

在檔案數目較多時,便於系統和使用者將檔案分散管理。

層次結構更清晰、提供更靈活的許可權管理等

但目錄級別太多時也會增加路徑檢索層次,增加磁碟訪問時間。

目錄查詢技術

使用者要訪問乙個已存檔案

目錄資料調入記憶體;

按名檢索:系統利用提供的檔名對目錄(根據目錄層次,需要做的檢索次數也不同)進行查詢

找該檔案控制塊

讀fcb或對應索引結點;

從檔案實體地址換算出檔案在磁碟上的物理位置;

最後通過磁碟驅動程式,將所需檔案讀入記憶體。

目錄查詢方式:線性檢索法和hash方法。

線性檢索法:

又稱為順序檢索法。

單級目錄中

使用者提供檔名,順序查詢檔案目錄。

樹型目錄中

使用者提供路徑名,如/user/ast/mbox

對多級目錄進行逐層查詢。

hush方法:

曾介紹的hash檔案。

如果建立了一張hash索引檔案目錄,便可利用hash方法進行查詢

系統將使用者提供的檔名變換為檔案目錄的索引值,再利用該索引值到目錄中去查詢,將顯著的提高檢索速度。

對於使用萬用字元的檔名系統無法利用hash法檢索目錄,還是需用線性查詢法。

第七章 檔案與目錄管理

檔案與目錄管理 談了談目錄與路徑之後,再來討論一下關於檔案的一些基本管理吧!檔案與目錄的管理上,不外乎 顯示屬性 拷貝 刪除檔案 及 移動檔案或目錄 等等,由於檔案與目錄的管理在 linux 當中是很重要的,尤其是每個人自己家目錄的資料也都需要注意管理!所以我們來談一談有關檔案與目錄的一些基礎管理部...

第七章檔案管理

為了能對乙個檔案進行正確的訪問,必須為檔案設定用於描述和控制檔案的資料結構,稱之為 檔案控制塊 fcb 檔案與檔案控制塊一一對應。把檔案控制塊的有序集合稱為檔案目錄,即乙個檔案控制塊就是乙個目錄項。通常乙個檔案目錄也被看作是乙個檔案,稱為目錄檔案。檔案管理的操作 基本資訊記錄 fcb,目錄項 方便檢...

第七章 檔案管理

檔案管理 把所管理的程式和資料組織成一系列的檔案,並能進行合理的儲存 使用等操作。1.基本概念 資料項 描述物件某種屬性的字符集 是資料組織中可以命名的最小邏輯資料單位。記錄 一組相關資料項集合,描述物件某方面的屬性 關鍵字 乙個記錄中的乙個或幾個資料項的集合,用於唯一的標識乙個記錄。檔案 由建立者...