一、檔案系統是個抽象的概念,它可以用來儲存檔案的內容、屬性和目錄。在unix中將磁碟分成了3個部分。
1、超級塊
檔案系統中的第一塊,用來存放檔案系統的本身結構資訊。如每個區域大小,磁碟塊的使用資訊;
2、i-節點表
存放檔案的屬性,每個檔案都有乙份i節點,存放在節點表中。表中的每個i節點都通過位置來標識。inode 2位於節點表的第三個位置。
3、資料區
存放檔案的內容。
二、建立檔案過程
儲存檔案屬性(找乙個空的i節點,核心把檔案的資訊記錄其中)——>儲存檔案內容——>記錄分配情況(這也是在i節點中儲存)——>新增檔名到目錄(新檔名a和節點號n在一起(n,a)新增到目錄檔案,n是該檔案的入口)如下圖:
三、兩個檔案系統的連線
比如在linux系統上插入u盤,用mount命令將其掛載到/mnt上這其實就是乙個檔案系統掛載到另乙個檔案系統,此時原來檔案系統的那棵樹我們稱為根檔案系統,u盤的那個檔案系統加到這個根檔案系統上,在內部,核心在根檔案系統將/mnt目錄作為乙個指標,指向u盤的那個檔案系統的根,這樣兩個檔案系統就聯絡起來了,構成了一棵完整的樹,如下圖
理解檔案系統
以liunx下的ext2檔案系統為例 檔案系統說白了就是磁碟上進行檔案管理的系統。想要理解檔案系統我們就要對其構成進行分析。磁碟分為交換分割槽和正常儲存檔案的區域。交換分割槽是當記憶體不夠用時,將記憶體中的某個程序轉移到硬碟上儲存的時候使用的。而剩下的就是檔案系統分割槽了。檔案系統分割槽中分為dat...
proc檔案系統的理解
最近才學習了根檔案系統製作,並剛開始接觸linux驅動,這兩個都接觸到了proc檔案系統,所以又重新了解了proc虛擬檔案系統。proc虛擬檔案系統的思路 在核心中構建乙個虛擬檔案系統 proc,當核心執行時將核心中一些關鍵的資料結構以檔案的方式自動呈現在這個命令下的一些特定檔案中,這樣的好處是把不...
如何理解檔案系統1
某天晚上,我睡覺的時候,突然想起來好像去三星面試的時候,面試官有問到關於檔案系統的問題。於是想乘著睡覺前的時間,思考下關於檔案系統的知識。突然間發現自己突然好像把檔案系統的知識忘的差不多了。於是這兩天把關於檔案系統的知識再看了下,同時寫下這篇文章已做記錄。檔案系統,或者檔案管理子系統,是作業系統的重...