Linux檔案系統的體系結構

2021-05-22 14:46:38 字數 807 閱讀 3819

一、硬碟分割槽與檔案系統

1) 通常在拿到一塊新的硬碟時,會將硬碟分割成幾個不同的分割槽(partition)

2) 分好分割槽後,要把這些分割槽格式化(format)成特定的檔案系統格式(file system format),才能夠用來儲存檔案。格式化就是把分割槽切割成乙個個小單位(稱為block),並且block依序編號。block是儲存檔案內容的最小單位。在預設情況下,乙個block的大小為4k,乙個block最多只能用來儲存乙個檔案。

二、linux檔案系統的體系結構

1) 從圖2.1可以看出,kernel對上(使用者空間的應用程式)提供統一的系統呼叫(system call)作為介面,對下(物理儲存裝置)使用裝置驅動進行訪問資料。而系統呼叫和裝置驅動之間就是檔案系統。

圖2.1  linux檔案系統體系結構

2) linux使用虛擬檔案系統(virtual file system)來遮蔽底層異構檔案系統的差異,vfs提供乙個統一的抽象介面。vfs最早由sun公司提出以實現nfs(網路檔案系統)。但是現在unix家族大多數系統都採用了vfs(包括linux、freebsd、solaris等)。

圖2.2  vfs

vfs並不是一種用於外部儲存器的檔案系統格式(如ext2,ntfs等)。它是kernel的一部分,vfs在系統啟動時建立,在系統關閉時消亡。

vfs採用物件導向的架構,主要物件如下:

•superblock物件:表示乙個具體的可封裝的檔案系統

•inode物件:表示乙個檔案的元資料(metadata)

•dentry物件:表示乙個目錄項

•file物件:表示乙個與程序相關聯的已開啟的檔案

Linux體系結構 五 檔案系統

上一節主要對linux系統中的核心空間與使用者空間做了簡單的分析,在這一節裡,將從核心空間和使用者空間對linux檔案系統進行一定的剖析。談及檔案系統,很多linux使用者都會有乙個比較模糊和神秘的概念,如果對檔案系統的來龍去脈有一定的了解,相信大家就能走出迷霧,linux檔案系統的整體結構模型大概...

Linux體系結構 五 檔案系統

談及檔案系統,很多linux使用者都會有乙個比較模糊和神秘的概念,如果對檔案系統的來龍去脈有一定的了解,相信大家就能走出迷霧,linux檔案系統的整體結構模型大概可以劃分為以下層次 hard disk disk driver filesystem ext3,ext4,btrfs user opera...

Linux體系結構 五 檔案系統

上一節主要對linux系統中的核心空間與使用者空間做了簡單的分析,在這一節裡,將從核心空間和使用者空間對linux檔案系統進行一定的剖析。hard disk disk driver filesystem ext3,ext4,btrfs user operation 上面結構模型很簡單,有一塊物理硬碟...