文件系統-文件的物理結構與存儲設備
文件的物理結構
塊:文件的存儲設備通常划分為若干個大小相等的物理塊,塊是分配和傳送信息的基本單位
字符流文件的塊
對於字符流的無結構文件,每一個物理塊中存放長度相等的文件信息
記錄式文件的塊
- 記錄長度既可以是固定的,也可以是可變的
- 但是由記錄邏輯地址到物理地址的變換帶來了額外的負擔
文件的物理結構
- 文件的物理結構指文件在存儲設備上的存放方法
- 物理結構決定文件邏輯塊號(邏輯地址) 到物理塊號(物理地址) 的變換
常見物理結構
連續文件
連續文件是一種最簡單的物理文件結構,把一個在邏輯上連續的文件信息依次存放到物理塊中。
下圖中,文件中標記為0,1,2,3的邏輯塊號依次存放在物理塊 10,11,12,13中。
邏輯塊號到物理塊號的變換:
文件邏輯塊號到物理塊號的變換非常簡單,因此一旦知道了文件在存儲設備上的起址和文件長度,就能很快地進行存取。
限制:
- 建立文件時必須在文件說明信息中確定文件長度,且以后不能動態增長
- 文件進行某些部分的刪除后,會留下無法使用的零頭空間。
不適用於:
連續文件結構不宜用於存放用戶文件、數據庫文件等經常被修改的文件。
串聯文件
串聯文件結構用非連續的物理塊存放文件信息。
這些非連續的物理塊之間沒有順序關系,每個物理塊設有一個指針,指向其后續連接的另一個物理塊,存放同一文件的物理塊鏈接成一個串聯隊列。
優點:
- 不必在文件說明信息中指明文件的長度,只需指明該文件的第一個塊號
- 串聯文件結構的另一個特點是文件長度可以動態地增長
- 只要調整連接指針就可在任何一個信息塊之間插入或刪除一個信息塊。
邏輯塊號與物理塊號轉化:
系統沿串聯隊列查找與邏輯塊號對應的物理塊號,以實現邏輯塊到物理塊的轉換
例如,如果用戶要對邏輯塊2進行操作,則系統從第一個物理塊20開始,一直沿串聯隊列搜索到隊列中邏輯塊號為2的第三塊時,得到其所對應的物理塊號為22。
缺點:
- 由於串聯文件結構只能按隊列中的串聯指針順序搜索,因此,串聯文件結構的搜索效率較低
- 串聯文件結構不適宜隨機存取
索引文件
索引結構要求系統為每個文件建立一張索引表,表中每一欄目指出文件信息所在的邏輯塊號和與之對應的物理塊號。索引表的物理地址由文件說明信息項給出。
優點:
- 索引文件結構既可以滿足文件動態增長的要求
- 又可以較為方便和迅速地實現隨機存取
缺點:
- 由於使用了索引表而增加了存儲空間的開銷
- 存取文件時需要至少訪問存儲器二次以上。其中,一次是訪問索引表,另一次是根據索引表提供的物理塊號訪問文件信息
- 由於存儲設備的訪問速度較慢,因此,如果把索引表放在存儲設備上,勢必大大降低文件的存取速度
解決方案:
多重索引
索引表所指的物理塊中存放的不是文件信息,而是裝有這些信息的物理塊地址。
文件存儲設備
常用的存儲設備有磁盤、光盤、磁帶等。其中磁盤又可分為硬盤和軟盤。
順序存儲設備
磁帶是一種最典型的順序存取設備。
特點:只有在前面的物理塊被存取訪問過之后,才能存取后續的物理塊的內容。
間隙:為了在存取一個物理塊時讓磁帶機提前加速和不停止在下一個物理塊的位置上,磁帶的兩相鄰物理塊之間設計有一個間隙將它們隔開。
與數據傳輸率相關的因素:
為了在存取一個物理塊時讓磁帶機提前加速和不停止在下一個物理塊的位置上,磁帶的兩相鄰物理塊之間設計有一個間隙將它們隔開。
- 信息密度(字符數/英寸)
- 磁帶帶速(英寸/秒)
- 塊間間隙
如果帶速高,信息密度大,且所需塊間隙(磁頭啟動和停止時間) 小的話,則磁帶存取速度和數據傳輸率高,反之亦然。
缺點:
1.要花費很長的時間移動磁頭,某個特定記錄或物理塊的存取訪問與該物理塊到磁頭當前位置的距離有很大關系。如果距離較遠,則要花費很長的時間移動磁頭。
2.如果按隨機方式或按關鍵字存取方式存取磁帶上的文件信息,其效率不會很高
優點:
磁帶存取設備具有容量大,順序存取方式時存取速度高等優點。
直接存取設備
允許文件系統直接存取磁盤上的任意物理塊
為了存取一個特定的物理塊,磁頭直接移動到所要求的位置上,不需要像順序存取那樣事先存取其他的物理塊。
例子:
磁盤機
磁盤機一般由一些磁盤片組成的磁盤組組成。
其中每個磁盤片對應一個裝有讀/寫 磁頭的磁頭臂,磁頭臂上的兩個讀/寫磁頭分別對磁盤片的上下兩面進行讀寫。
系統在對磁盤進行初始化處理時,把每個磁盤片分割成一些大小相等的扇區。
在磁盤轉動時經過讀/寫 磁頭所形成的圓形軌跡稱為磁道。由於磁頭臂可沿半徑方向移動,因此,磁盤上有多條磁道。
所有磁盤片的相同磁道稱為一個柱面,因此,磁盤上每個物理塊的位置可用柱面號、磁頭號和扇區號表示,這些地址和物理塊號一一對應。