檔案管理:把所管理的程式和資料組織成一系列的檔案,並能進行合理的儲存、使用等操作。
基本概念
(1)資料項:基本資料項和組合資料項
(2)記錄:相關資料項集合
(3)關鍵字:用於唯一的標識乙個記錄。
(4)檔案:有結構和無結構,屬性:型別、長度、物理位置、建立時間
檔案型別
①按用途:系統、使用者、庫檔案
②按資料形式:原始檔、目標檔案、可執行檔案
③按訪問控制屬性:只執行、唯讀、讀寫
④按組織和處理方式:普通檔案、目錄檔案、特殊(裝置)檔案
檔案系統層次結構
(1)物件及其屬性(檔案、目錄、磁碟空間)
(2)操縱、管理物件的軟體集合(檔案管理核心程式)
1.檔案目錄的管理
2.檔案共享和保護等
3.檔案儲存空間的管理
4.檔案邏輯位址轉換
5.檔案讀寫管理
檔案系統有關的軟體分為四個層次:
④邏輯檔案系統
③基本i/o管理程式
②基本檔案系統層
檔案操作
最基本的操作
①建立/刪除檔案:分空間,形成fcb及目錄(名,位址)
②讀、寫:按名檢索目錄,找到檔案位址,開始讀、寫
③設定檔案讀寫位置,實現隨機訪問(尤其適用於記錄檔案)
「開啟」與「關閉」:
檔案讀/寫操作 = 檢索 + 讀/寫。
每次讀寫前都要重複檢索增大開銷。所以為了方便對同一檔案的多次讀寫,一次檢索到檔案後就在記憶體中記錄其位置,避免重複檢索。被記錄下位置的檔案就是「開啟」檔案;
檔案系統設計的關鍵要素:
如何構成乙個檔案,以及如何儲存在外存。
檔案結構:
檔案的邏輯結構:按使用者觀點如何組織資料;又稱檔案組織
基本要求:檢索速度高、方便修改、降低儲存空間費用(不連續)
1)檔案邏輯結構的型別
一. 按檔案是否有結構
1.有結構檔案(記錄式)
①定長記錄
②變長記錄
2.無結構檔案(字元流式)
位元組為單位,利用讀寫指標依次訪問。
系統對該類檔案不需格式處理。
二.按檔案的組織方式
①順序檔案
串結構:按記錄形成的時間順序序列排序。記錄順序與關鍵字無關;
順序結構:按關鍵字排序。
順序結構記錄按關鍵字排序,可按關鍵字檢索
定長:結合折半查詢演算法等提高檢索速度
變長:從第1個記錄開始順序掃瞄,直到掃瞄到要檢索的關鍵字標識的記錄(例如:資料庫、檔案系統的基於檔名排序的目錄檢索)
②索引檔案③索引順序檔案
本方式是最常見的一種邏輯檔案形式。
將順序檔案的所有記錄分組
還是建立索引表,但每個表項記錄的是每組第1條記錄的鍵值和位址。
組內記錄仍按順序方式檢索和使用。
④直接檔案
給定鍵值(如學號)不需順序檢索直接得到記錄的實體地址。
1)連續分配
①為每乙個檔案分配一組相鄰的盤塊。
邏輯檔案中的記錄順序與儲存器中檔案占用盤塊的順序一致。
②優點:順序訪問容易,讀寫速度快
③缺點:
會產生外存碎片。可緊湊法彌補,但需要額外的空間,和記憶體緊湊相比更花時間。
建立檔案時要給出檔案大小;儲存空間利用率不高,不利於檔案的動態增加和修改;
④適用於變化不大順序訪問的檔案,在流行的unix系統中仍保留了連續檔案結構。如對換區
2)鏈結分配
①可以為每乙個檔案分配一組不相鄰的盤塊。
設定鏈結指標,將同屬於乙個檔案的多個離散盤塊鏈結成乙個鍊錶,這樣形成的檔案稱為鏈結檔案。會有鏈結成本。
②優點:
離散分配,消除外部碎片,提高利用率
同時適用於檔案的動態增長;修改容易
3)索引分配
系統執行時只涉及部分檔案,fat表無需全部調入記憶體
每個檔案單獨建索引表(物理盤塊索引),記錄所有分配給它的盤塊號;
建立檔案時,便分配一定的外存空間用於存放檔案盤塊索引表資訊;
①單級索引分配索引形式
適合大檔案。中、小型檔案,只需若干鏈結即可。若用索引分配方式,用乙個盤塊存放少量索引資訊反而不適用。
②多級索引
若檔案較大,存放索引表也需要多個盤塊(索引盤塊)。
索引盤塊亦需要按順序管理起來
若索引盤塊數量較少用指標鏈結的方式即可;
若索引盤塊較多,需對索引盤塊也採用索引方式管理,形成多級索引。
③混合組織索引(增量式索引組織方式)
索引檔案在順序訪問或隨機訪問中都比較靈活,是一種比較 好的檔案物理結構,但也是需要一定的用於索引表的空間開銷和檢索檔案索引的時間開銷的。
unix系統是使用索引結構成功的例子。
①為實現儲存空間分配,系統需要:
記住空閒儲存空間使用情況;為空間設定相應的資料結構;
提供對儲存空間分配、**的操作手段。
典型的管理方法:
1)空閒表和空閒鍊錶法
常用於連續分配管理方式
2)位示圖法
利用二進位制的一位來表示乙個盤塊的使用情況。
值為0表示對應的盤塊空閒,為1表示已分配。有的系統則相反。
磁碟上的所有盤塊都有乙個二進位制位與之對應,這樣由所有盤塊所對應的位構成乙個集合,稱為位示圖。
總塊數:mn
盤塊號計算公式:
j從1開始:盤塊號 = 列總數(i-1)+ j
j從0開始:盤塊號 = 列總數*(i-1)+ j+1
根據盤塊算行列計算公式:
i從1開始:i=(盤塊號-1)/列數+1;j=(盤塊號-1)%列數+1
i從0開始:i=(盤塊號-1)/列數;j=(盤塊號-1)%列數
優點:從位示圖中很容易找到乙個或一組相鄰接的空閒盤塊。
但限於容量問題,常用於微型機和小型機中
3)成組鏈結法
大型檔案系統,空閒表或空閒鍊錶太長不方便管理操作。
作業系統 第七 八章 檔案管理等 筆記
檔案控制塊 fcb 為了能對乙個檔案進行正確的訪問,必須為檔案設定用於描述和控制檔案的資料結構,稱之為 檔案控制塊 fcb 把檔案控制塊的有序集合稱為檔案目錄,乙個檔案控制塊就是乙個目錄項,通常乙個檔案目錄也被看做是乙個檔案,稱為目錄檔案。檔案控制塊中包含的資訊 1.基本資訊類 檔名,檔案物理位置,...
作業系統筆記整理 第八章 磁碟儲存器的管理
檔案的物理結構 根據外存上的物理塊的分配機制,記錄檔案外存的儲存結構。使用者感知不到的。fat表的作用 用來描述檔案系統內儲存單元的分配狀態及檔案內容的前後鏈結關係的 也可以籠統的說成是記錄檔案所在位置的 它對於fat檔案系統來講是至關重要的乙個組成部分,並且它對於硬碟的使用也非常重要,假若丟失檔案...
計算機作業系統 磁碟儲存器的管理
1 外存的組織方式 1 連續組織 磁碟在邏輯上由許多盤快構成。顧名思義,連續組織就是把資料分割成多塊,放在連續的盤快內。當然,這種方式會產生很多碎片空間,當檔案大小超過空閒的空間時,這時,磁碟就需要整理空間,耗費大量機器時間。還會降低外寸空間的利用率。2 鏈結組織 隱式鏈結。隱式鏈結有點類似於鍊錶的...