目錄
1、文件
概念:
UNIX文件分類:
2、文件系統
3、文件的訪問方式
順序訪問
隨機訪問
4、文件的組織
邏輯組織
物理組織
5、倒排結構(了解)
5、文件目錄
文件控制塊(FCB)
?編輯
目錄項
單級目錄
二級目錄
多級目錄
6、文件目錄的改進
7、文件存儲空間的管理
空閑塊表
空閑塊鏈
位圖
8、內存所需表目
1、文件
概念:
具有符號名而且在邏輯上具有完整意義的信息項的序列。
UNIX文件分類:
1、普通文件
????????內容可以是程序、數據、圖象等,保存在磁盤塊中
2、目錄文件
????????(文件名,文件號)序列,保存在磁盤塊中
3、特殊文件
????????設備
2、文件系統
文件與管理信息資源的程序集合
3、文件的訪問方式
順序訪問
分類:
1、從文件頭開始順序訪問
2、從文件中間某處開始順序訪問
隨機訪問
分類:
1、按記錄編號隨機訪問,相當于數組訪問索引。
2、按關鍵字(key)隨機訪問,相當于Map通過鍵訪問鍵值。
4、文件的組織
邏輯組織
定義:用戶看到的文件組織形式
分類:
流式文件:字節的序列(UNIX, Windows, etc),文件的基本單位是字節。
記錄式文件:
????????等長記錄(優點:處理方便,速度快;缺點:空間浪費)
????????不等長記錄(優點:省空間;缺點:處理不便,速度慢)
????????文件的基本單位是記錄。
? ? ? ? 一條記錄可能包含多個域,域指的是信息的一個特定類別或字段。
????????例如:一條員工記錄可能包含姓名、職位、部門、入職日期等域。
? ? ? ? 當記錄的域只有一個,且域的類型為字符型,則記錄式文件便退化為流式文件。
????????流式文件是記錄式文件的特例。
物理組織
定義:邏輯組織(文件)到磁盤塊的映射
1、順序結構??
定義:一個文件占有若干連續的磁盤塊。
?2、鏈接結構:
定義:一文件可存于不連續塊中,塊間以指針相連。
3、索引結構
定義:一文件可存于不連續塊中,塊號記在索引塊中。
4、散列結構(重點):
????????雜湊結構,適用于定長記錄和按鍵隨機查找的訪問方式。一個文件由若干個記錄構成,一個記錄由若干個域。散列結構是通過給鍵key計算哈希值,從而計算出記錄在磁盤中或文件中的存儲位置。
????????hash(key)=addr (記錄在磁盤或文件中的存放位置)
? ? ? ? 對于哈希函數的沖突碰撞問題,采用順序探查法,如發生沖突,則從沖突位置開始順序探查第一個空閑的存儲位置。
要給記錄增加兩個域,一個是沖突計數,一個是空閑標記。沖突計數主要是記錄與當前地址發生沖突的個數,也就是說記錄位置=addr+沖突計數往回找。而空閑標志是來標志當前記錄空間是否被占用。以下是查找過程
5、倒排結構(了解)
????????定義:以鍵值和記錄地址構成的索引結構稱為倒排結構。以鍵值和記錄地址構成的索引結構稱為倒排結構。倒排結構以多個鍵和多個索引作為特征的。
????????優點:速度快
????????缺點:索引會帶來較大的系統開銷。
5、文件目錄
文件控制塊(FCB)
定義:文件存在的標志,其中保存系統管理文件需要的全部信息。每個文件都有一個文件控制塊。
目錄項
定義:目錄文件中的一項,內容為FCB。
單級目錄
定義:一個系統只有一個目錄。
二級目錄
定義:每個用戶都有一個自己的專有目錄。
多級目錄
定義:從根節點出發的目錄系統
6、文件目錄的改進
FCB次部(文件名,文件號)保存在目錄文件(內存)中。
FCB主部(其他,標識該主部與多少次部相對應的鏈接記數)保存在外存inode區域。
提示:當鏈接計數為0時,表示空閑未用的FCB主部。
7、文件存儲空間的管理
引入:用于保存文件的外存空間是被劃分為塊的,需要對外存塊進行管理。
空閑塊表
定義:所有空閑塊記錄同一個表中,表中包括兩欄目:首空閑塊號和空閑塊數。
空閑塊鏈
定義:所有空閑塊連成一條鏈。
位圖
定義:使用1bit表示外存儲器中一塊的狀態,1表示占用,0表示釋放。位圖需要永久保存在外存空間中。
8、內存所需表目
????????用戶打開文件表:用于記錄進程所打開的文件,其長度決定該進程可以同時開多少個文件,每個進程一個。
????????系統打開文件表:?存放在內存中,用來保存已打開文件的文件控制塊,其長度決定整個系統可以同時開多少個文件,整個系統一個。