1.檔案系統概念
*檔案系統:OS中管理持久資料的子系統;提供資料存儲和通路的功能
具體涉及的操作:組織、檢索、讀寫通路資料
大多數計算機系統都具備檔案系統廣義:google也是一個檔案系統
*檔案:具有符号名,由位元組序列構成的資料項的集合
檔案是檔案系統的最小機關;檔案名是檔案的辨別符号
*檔案系統的種類:
磁盤檔案系統:檔案存儲在儲存設備上--存在不同的檔案系統(資料的組織方式
*檔案屬性:名字、類型、位置、大小、保護、建立者、建立時間、最近修改時 間等資訊。
*檔案頭:檔案系統中繼資料中的檔案資訊(檔案屬性和檔案存儲順序位置)
注意:設定檔案頭是為了友善系統管理檔案。
*檔案系統的功能:
#為檔案配置設定磁盤空間,涉及下面3個方面内容
1.管理檔案塊(位置和順序) 2.管理空閑空間(位置)3.空閑空間的配置設定(政策) #管理檔案集合
1.定位:檔案及其内容 2.命名:通過名字找檔案 3.檔案組織方式-系統結構
#資料的可靠和安全
1.安全:多層次包含資料安全 2.可靠性:避免其他的錯誤對檔案造成的影響 *檔案描述符:描述打開的檔案在記憶體中維護的相關資訊
*檔案的通路模式:程序通路檔案必須先打開檔案;核心跟蹤程序打開的所有檔案
OS為每個程序維護一個打開檔案表;
檔案描述符就是打開檔案的辨別
檔案描述符組成:
1.檔案指針:最後一次讀寫的位置,每個程序分别維護自己的打開檔案指針
2.檔案打開計數:記錄目前檔案被打開的次數;以友善最後一個程序關閉檔案
該檔案可以從打開檔案表中去掉
3.檔案的磁盤位置:緩存資料通路資訊
4.通路權限:隻讀之類
*檔案的使用者視圖:持久的資料結構
*檔案的系統視圖:檔案就是位元組序列,系統不關心存儲在磁盤資料的資料結構
檔案是資料塊的集合;塊大小與扇區大小不一緻
資料塊是邏輯結構;扇區是磁盤上實體存儲單元
*磁盤最小的通路機關是塊
*程序讀檔案:擷取位元組所在資料塊,傳回資料塊對應的内容
*程序寫檔案:擷取對應資料塊,修改資料塊對應的内容;寫回資料塊
*檔案系統中基本操作機關是資料塊;即使隻讀一個位元組也要緩存整個塊在記憶體
*通路模式
順序通路:按照檔案中位元組順序通路--大多數檔案的通路模式
随機通路:從任意位置開始--不常用但是很重要;虛拟存儲使用到
索引通路:依據資料的特征索引通路--OS上的檔案系統是個小型的資料庫(字典
*檔案内部結構-OS并不關心
無結構:簡單記錄結構;複雜結構;
*檔案的共享與通路控制
通路控制:使用者對那些檔案可以通路;以及使用者通路檔案的通路模式
*檔案通路控制清單ACL:<檔案實體;權限>
*使用者id,使用者分組設定相同權限
*語義的一緻性:規定多程序如何同時通路共享檔案-OS将這個控制交給應用程式
*分層檔案系統
檔案以目錄的方式組織起來:目錄是一種特殊的檔案
目錄檔案的内容:檔案索引表<檔案名,指向檔案的指針>
目錄與檔案呈現的樹形結構;以路徑的形式辨別每個檔案
*目錄的操作
搜尋檔案;建立檔案;删除檔案;列目錄中檔案;重命名檔案;周遊路徑
*關于目錄的操作都被封裝在OS核心,應用程式通過系統調用實作通路目錄
*目錄的實作:
線性表或哈希表--減少搜尋時間,會有沖突
*檔案别名:兩個或多個檔案關聯同一個檔案
硬連結:多個檔案項指向同一個檔案
軟連結:以“快捷方式”指向其他檔案
通過存儲真實檔案的邏輯名稱實作--存儲别的檔案的完整路徑
*檔案目錄中的循環:OS通過一些限制防止這個現象的出現
*名字解析:和存儲管理的位址翻譯類似;将邏輯名對應到實體資源
做法:依據路徑名,在檔案系統中找到檔案的實際位置
周遊檔案目錄,知道找到目标檔案
*目前工作目錄:解析的時候從目前目錄開始,沒必要從根目錄開始
檔案的路徑:存在相對路徑和絕對路徑
*檔案系統的挂載:檔案系統必須先輩挂載才可以被通路
*檔案系統的分類:
磁盤檔案系統:檔案存儲在儲存設備上;FAT等
資料庫檔案系統:檔案特征可以被檢索
日志檔案系統:記錄檔案系統的修改/事件
網絡/分布式檔案系統:檔案可以通過網絡來共享--存在檔案共享協定
檔案位于遠端伺服器,用戶端挂載伺服器檔案系統
标準檔案通路被轉換為遠端通路
出現的問題:檔案系統安全性;一緻性問題;錯誤處理方式
特殊/虛拟檔案系統:管道
2.虛拟檔案系統:使得系統對上層操作提供通用的檔案操作接口
位置:檔案/檔案系統API--虛拟檔案系統--作業系統(實際檔案操作)
目的:對所有不同的檔案系統的抽象
功能:對上提供相同的檔案和檔案系統接口
管理所有檔案和檔案系統關聯的資料結構
高效的查詢例程,周遊檔案系統
對下與特定的檔案系統子產品進行互動
檔案系統的基本資料結構
1.檔案卷控制塊:每個檔案系統一個|檔案系統的詳細資訊|塊大小配置設定空餘塊等
2.檔案控制塊:每個檔案1個|描述檔案的詳細資訊|通路權限擁有着資料塊位置
3.目錄項:每個目錄項一個|形成目錄項資料結構--樹形結構
執向檔案的控制塊,父目錄,子目錄等資訊
4.檔案組織結構
vol檔案卷-->dir目錄樹型結構-->file檔案控制塊-->實際檔案所在的資料塊
5.檔案系統的存儲結構
卷控制塊--每個檔案系統一個
檔案控制塊--每個檔案一個
目錄節點---每個目錄項一個
6.這些資料需要存儲在持久的外存中,當需要的時候加載進記憶體
不同的資料結構加載的時間:
卷控制塊:當檔案系統挂載進記憶體時候
檔案控制塊:當檔案被通路的時候
目錄節點:周遊的時候