作業系統(10)檔案系統管理

2021-06-21 01:23:43 字數 4254 閱讀 6672

1、檔案系統是作業系統中負責訪問和管理資訊的模組,採用統一的方法管理使用者資訊和系統資訊的檢索、儲存、更新、共享和保護。有邏輯檔案和物理檔案之分。可實現」按名訪問「,以及使用路徑名、檔名、檔案內位移來執行資料的讀、寫、修改、刪除操作。

2、檔案系統的功能有:

檔案的按名訪問,實現從邏輯檔案到物理檔案的轉換。檔案目錄的建立和維護。檔案的查詢和定位。檔案儲存空間的分配和管理。提供檔案的訪問方法和檔案儲存結構。實現檔案的共享、保護和保密。提供一組易用的檔案操作和命令。提供與裝置管理互動的統一介面。

3、檔案命名:

由檔名稱和副檔名組成,前者用於識別檔案,後者用於區分檔案型別,中間用.分隔開。windows的檔名不區分大小寫。不能使用\、/、<、>、|、「等字元。

分類為:

系統檔案,庫檔案,使用者檔案。唯讀檔案,讀寫檔案,不保護檔案。輸入檔案,輸出檔案,輸入輸出檔案。臨時檔案,永久檔案,檔案檔案。源程式檔案,目標檔案,可執行檔案。

檔案屬性包括:

基本屬性,型別屬性,保護屬性,管理屬性,控制屬性。

訪問方法:

1)順序訪問:系統設定讀寫兩個位置指標,指向要讀出或寫入的位元組位置或記錄位置。

2)直接訪問:通常用於磁碟檔案。對於記錄式檔案,要為每個檔案記錄指定關鍵字,可通過關鍵字對映來直接檢索和訪問檔案。

3)索引訪問:檔案中的記錄按其記錄名或記錄鍵來編址,先按名搜尋,在查詢所需要的記錄。

4、檔案系統給每個檔案建立唯一的管理資料結構:檔案控制塊fcb。

乙個檔案由兩部分組成:fcb和檔案體(檔案資訊)。fcb包括:

1)檔案標識和控制資訊:檔名、使用者名稱、檔案主訪問許可權、授權者訪問許可權、檔案口令、檔案型別等。

2)檔案邏輯結構資訊:記錄型別、記錄個數、記錄長度、成組因子數。

3)檔案物理結構資訊:檔案所在裝置名、檔案物理結構型別、記錄存放在輔助儲存器的盤塊號或檔案資訊塊盤塊號,也可指出檔案索引所在的位置等。

4)檔案使用資訊:共享檔案的程序數、檔案修改情況、檔案最大長度和當前大小等。

5)檔案管理資訊:檔案建立日期、最近修改日期、最近訪問日期、檔案保留期限、記賬資訊等。

5、檔案目錄包含許多目錄項,目錄項有兩種,分別用於描述子目錄和檔案的fcb。目錄檔案永遠不會為空,至少包含兩個目錄項:當前目錄項"."和父目錄項".."。檔案目錄的基本功能是將檔名轉換為此檔案資訊在磁碟上的物理位置。

所有的檔案系統都支援多級層次結構,根目錄是唯一的,每一級目錄可以是下一級目錄的說明,也可以是檔案的說明,從而形成樹狀目錄結構。

6、檔案的儲存:

卷是儲存介質的物理單位,塊是儲存介質上連續資訊所組成的乙個區域,是主儲存器和輔助儲存器進行資訊交換的物理單位,每次總是交換一塊或整數塊的資訊。

檔案的邏輯結構:

1)流式檔案和記錄式檔案。

2)成組和分解。

3)記錄格式:定長記錄、變長記錄、跨塊記錄。

4)記錄鍵:用於標識某條邏輯記錄的資料項。

檔案的物理結構:

2)連線檔案:使用指標來表示檔案中各條記錄之間的關係。

3)直接檔案:採用雜湊技術建立雜湊表,陣列通過索引訪問,索引是與資料記錄有關的關鍵字。

4)索引檔案:實現非連續儲存,適用於資料記錄儲存在磁碟上的檔案。

7、檔案共享:

指不同的程序共同使用同乙個檔案,檔案共享為不同的程序完成共同的任務所必需,還節省大量的輔存空間,減少因檔案複製而增加的i/o操作次數。主要方式有:

1)靜態共享:作業系統允許乙個檔案同時屬於多個目錄,但實際上檔案僅有一處物理儲存。這種在物理上一處儲存、從多個目錄可到達此檔案的「多對一關係」稱為檔案鏈結。靜態共享是通過檔案所對應的inode節點來實現鏈結的,並且只允許鏈結到檔案而非目錄。檔案鏈結的系統呼叫形式為:link(oldnamep, newnamep)。

2)動態共享:指系統中不同的應用程序或同一使用者的不同程序併發地訪問同一檔案。

3)檔案符號鏈結共享:系統中的每個檔案對應於乙個inode,其編號是唯一的。將檔名與自身的inode鏈結起來,稱為硬鏈結,只能用於單個檔案系統,不能跨越檔案系統,可用於檔案共享但不能用於目錄共享。符號鏈結是只有檔名、不指向inode的鏈結,通過名稱來引用檔案。

8、檔案空間管理:

1)連續分配:順序訪問時無需移動磁頭,查詢速度快。

2)非連續分配:以塊為單位,屬於同一檔案的扇區按檔案記錄的邏輯次序用鏈指標連線或用位示圖指示。另一種方法是以簇為單位,簇是若干連續扇區所組成的分配單位。

注意:常用的幾種檔案輔存空間管理方法:位示圖,空閒區表,空閒塊鏈,成組空閒塊鏈。

9、主存對映檔案:

把檔案內容直接對映到程序虛擬位址空間,即為程序分配一段虛位址空間,再把某個磁碟檔案直接對映到此虛位址空間中。也稱對映檔案i/o。按檔名來訪問,多個程序可同時把同乙個檔案對映到各自的虛擬位址空間中,且虛擬位址不必相同。

當多程序共享檔案時,實現技術是把共享對映檔案的程序的虛頁面指向相同的頁框,而頁框中則儲存磁碟檔案的頁面副本。

10、虛擬檔案系統vfs:

是核心的乙個子系統,提供乙個通用檔案系統模型,概括所能見到的檔案系統的常用功能和行為,處理一切與底層裝置管理相關的細節,為應用程式提供標準介面(檔案系統api)。設計為:應用層,虛擬層和實現層。

vfs實質上是一種存在於主存中的、支援多種型別檔案系統的執行環境,其功能有:

1)記錄所安裝的檔案系統型別。

2)建立裝置與檔案系統之間的聯絡。

3)實現面向檔案的通用操作。

4)涉及特定檔案系統的操作時,對映到具體的檔案系統中去。

11、ntfs新技術檔案系統:

物理磁碟可組織成乙個或多個卷,卷與磁碟邏輯分割槽有關。ntfs以簇為單位管理磁碟空間,每個簇包含2的整數次冪個扇區,扇區是磁碟的最小物理儲存單位。ntfs使用邏輯簇號lcn與虛擬簇號vcn來定位簇。lcn是對整個卷中的所有簇從頭到尾進行編號,vcn是對特定檔案的簇從頭到尾進行編號。ntfs支援檔案的物理結構是索引檔案,它通過lcn引用檔案在磁碟上的物理位置,通過vcn引用檔案中的資料,而vcn與lcn之間的對映通過索引表來實現。

主控檔案表mft:

是ntfs卷的管理控制中心,包含系統引導程式,用於定位和恢復卷中所有檔案的資料結構,記錄整個卷分配狀態的位示圖等資訊,這些資訊稱為元資料。

ntfs並不對檔案進行操作,只是通過對屬性流的各種操作,包括:建立、刪除、讀取和寫入。

12、檔案系統模型組成:

1)裝置驅動程式:位於i/o管理器的最底層,直接控制裝置的i/o操作。

2)中間驅動程式:與低層裝置驅動程式一起提供增強容錯功能。

3)檔案系統驅動程式fsd:擴充套件低層裝置驅動程式的功能。

4)過濾驅動程式:乙個網路重定向過濾驅動程式,用於擷取對遠端檔案系統的各種操作,並重定向到遠端檔案伺服器上。

與檔案管理聯絡最密切的是fsd:分為本地fsd和遠端fsd,前者允許使用者訪問本地計算機上的檔案,後者允許使用者通過網路訪問遠端計算機上的檔案。

fsd的功能:

1)處理檔案系統操作命令:如fopen(檔名,操作方式)開啟乙個檔案。函式readfile( )或writefile( )等。

2)快取記憶體延遲寫:定期地非同步呼叫主存管理器,包快取記憶體中已被修改過的頁面移交給fsd,以便將資料寫入磁碟。

3)快取記憶體提前讀:通過分析已執行的讀操作,來決定提前讀多少,在通過缺頁中斷將資料讀至快取記憶體。

4)主存髒頁寫:定期清理快取記憶體區,將不再使用的頁面寫入頁檔案或對映檔案,使得主存管理器有空閒頁框可用。此執行緒通過非同步寫命令來建立i/o請求包irp。

5)主存缺頁處理:應用程式訪問不在主存中的頁面時,觸發缺頁中斷,且向檔案系統傳送i/o請求包irp。

13、ntfs的fsd:

對ntfs的訪問通過i/o管理器來完成,i/o管理器將i/o請求送交ntfs的fsd去執行。ntfs通過檔案物件指標獲得檔案屬性的流控制塊scb,每個scb表示檔案的乙個屬性,包含如何獲得屬性的資訊。同乙個檔案的所有scb都指向乙個共同的資料結構——檔案控制塊fcb,fcb包含指向主控檔案表mft中此檔案記錄的指標,實際上是乙個檔案引用,ntfs通過這個指標訪問檔案。

ntfs只能恢復檔案系統的元資料,無法恢復使用者資料。

日誌檔案服務lfs:分為兩個區域:重啟動區和日誌記錄區。ntfs通過lfs例程來訪問日誌檔案。

日誌記錄型別:更新記錄(重做資訊和撤銷資訊)。檢查點記錄。

14、ntfs可恢復過程依賴於主存中所維護的兩張表:

1)事務表:跟蹤已經啟動但尚未提交的事務,以便恢復過程中從磁碟刪除這些活動事務的子操作。

2)髒頁表:記錄尚未寫入磁碟的快取記憶體中時,用於改變ntfs卷結構操作的頁面,在恢復過程中,這些改動必須重新整理到磁碟上。

為了實現卷的恢復,ntfs要對日誌檔案進行以下3次掃瞄:

1)分析掃瞄。2)重做掃瞄。3)撤銷掃瞄。

八 檔案系統管理

磁碟管理 1 mbr分割槽表 1.主引導程式 boot loader 占用了 446byte 安裝作業系統時寫入引導程式 2.分割槽表 partition table 占用了 64byte 每個分割槽資訊16b,可儲存4個分割槽資訊 3.有效標誌符 magic number 占用了 2byte 55...

檔案系統 磁碟管理 四 檔案系統管理

檔案系統管理 檔案系統管理屬於核心的功能 當乙個磁碟進行分割槽後,只能通過格式化才能使用這個分割槽,而這個格式化是高階格式化 建立檔案系統 因為檔案系統對的管理屬於核心功能,所以通過檢視 proc filesystems檔案來看核心支援的檔案系統型別都有哪些。mkfs make file syste...

Linux筆記 九 檔案系統管理

1.1 檔案系統檢視命令 df 1.2 統計目錄或檔案大小 du du命令只統計目錄和檔案的大小,df不僅統計目錄和檔案,還包括命令和程式所佔的空間。1.3 檔案系統修復命令 fsck 這個命令不用我們手動執行,系統會選擇性的執行。1.4 檢視分割槽狀態 dumpe2fs 1.5 查詢與自動掛載 m...