天天看點

作業系統--檔案管理1

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.這些資料需要存儲在持久的外存中,當需要的時候加載進記憶體

不同的資料結構加載的時間:

卷控制塊:當檔案系統挂載進記憶體時候

檔案控制塊:當檔案被通路的時候

目錄節點:周遊的時候

繼續閱讀