理解檔案系統

2021-10-08 07:20:51 字數 1047 閱讀 8187

以liunx下的ext2檔案系統為例

檔案系統說白了就是磁碟上進行檔案管理的系統。想要理解檔案系統我們就要對其構成進行分析。

磁碟分為交換分割槽和正常儲存檔案的區域。交換分割槽是當記憶體不夠用時,將記憶體中的某個程序轉移到硬碟上儲存的時候使用的。而剩下的就是檔案系統分割槽了。

檔案系統分割槽中分為data,inode,data_bitmap,inode_bitmap,以及超級塊這五大部分。

下面以乙個檔案儲存與獲取的流程來對上面進行具體說明:

儲存

通過超級塊找到inode/data點陣圖,

通過data點陣圖找到空閒資料塊儲存資料。

通過inode點陣圖找到空閒inode節點儲存檔案的元資訊。

在檔案所在的目錄下記錄檔名稱以及inode節點號。

獲取

通過檔名開啟檔案,通過檔案所在目錄找到inode節點號。

根據inode節點號找到inode節點,得到磁碟塊號。

通過磁碟塊號取出資料。

注意:目錄檔案可以跨分割槽,普通檔案不可以跨分割槽。

軟鏈結和硬鏈結都是通過給原始檔建立乙個特殊的檔案,通過建立的這個檔案從而實現對原始檔的操作。

硬鏈結檔案其實就是原始檔的別名,和原始檔共同使用乙個inod節點data資料,但是軟鏈結是乙個全新的檔案,這個檔案是指向原始檔的。

由上圖我們就可以看到三者之間的關係,第二列的叫做鏈結數,也就是硬鏈結數,我們刪除檔案的時候就會讓這個鏈結數-1,當這個鏈結數為零的時候,這個檔案的資料才會在磁碟上徹底的消失。

檔案系統的理解

一 檔案系統是個抽象的概念,它可以用來儲存檔案的內容 屬性和目錄。在unix中將磁碟分成了3個部分。1 超級塊 檔案系統中的第一塊,用來存放檔案系統的本身結構資訊。如每個區域大小,磁碟塊的使用資訊 2 i 節點表 存放檔案的屬性,每個檔案都有乙份i節點,存放在節點表中。表中的每個i節點都通過位置來標...

如何理解檔案系統1

某天晚上,我睡覺的時候,突然想起來好像去三星面試的時候,面試官有問到關於檔案系統的問題。於是想乘著睡覺前的時間,思考下關於檔案系統的知識。突然間發現自己突然好像把檔案系統的知識忘的差不多了。於是這兩天把關於檔案系統的知識再看了下,同時寫下這篇文章已做記錄。檔案系統,或者檔案管理子系統,是作業系統的重...

proc檔案系統的理解

最近才學習了根檔案系統製作,並剛開始接觸linux驅動,這兩個都接觸到了proc檔案系統,所以又重新了解了proc虛擬檔案系統。proc虛擬檔案系統的思路 在核心中構建乙個虛擬檔案系統 proc,當核心執行時將核心中一些關鍵的資料結構以檔案的方式自動呈現在這個命令下的一些特定檔案中,這樣的好處是把不...