對檔案實施有效的管理,必須對它們加以妥善組織,主要是兩大操作:
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.基本概念 資料項 描述物件某種屬性的字符集 是資料組織中可以命名的最小邏輯資料單位。記錄 一組相關資料項集合,描述物件某方面的屬性 關鍵字 乙個記錄中的乙個或幾個資料項的集合,用於唯一的標識乙個記錄。檔案 由建立者...