【學習筆記】檔案系統結構 二

來源:互聯網
上載者:User

4.2 
磁碟檔案的儲存

UNIX檔案系統的儲存通過目錄和檔案系統結構共同完成,其中前者儲存了檔案的階層,後者儲存了檔案的位置與內容。

 

1目錄檔案

在UNIX中,目錄是一種特殊的檔案,它的內容是一系列的目錄項,每個目錄項由該目錄下的一個檔案名稱及此檔案佔用的i節點編號兩部分組成。可以通過”ls
–ai”命令查看各目錄項內容。

目錄搭建了一個樹狀檔案結構體系,並且記錄了檔案名稱和i節點之間的對應關係,從而在檔案名稱與檔案屬性,內容之間架起了一座橋樑。

 

2磁碟檔案

檔案系統通過目錄記載檔案名稱及其對應的i節點編號,通過i節點記錄檔案的資訊與內容。事實上,i節點直接記錄的只是檔案的屬性,檔案的具體內容儲存在資料區的資料區塊中,i節點中僅保留了一個”磁碟地址表”來記錄檔案內容儲存的位置。

“磁碟地址表”由13個塊號組成,每個塊號佔用4個位元組,代表了資料區的一個資料區塊編號。

 

 

UNIX檔案系統採用三級索引結構隱藏檔,它把”磁碟地址表”分為直接索引地址,一級間接索引地址,二級間接索引地址和三級間接索引地址四個部分。

UNIX檔案儲存體方式複雜,在處理大檔案時,由於間接索引的存在,導致磁碟利用率低,資料定址速度慢,但是在處理小檔案時卻非常便利,長度不高於10K的檔案可以直接定址,實際上,統計資料表明,在UNIX中,80%為小檔案,20%為大檔案,其中85%的檔案小於8K,48%的檔案小於1KB,只有1%的檔案為超大檔案。

 

 

3連結檔案

連結檔案分為永久連結檔案和符號連結檔案。建立檔案的永久連結並不佔用額外的磁碟塊,它在目錄檔案中增加一個目錄項。登記了檔案名稱和被連結檔案的i節點號,再將i節點中di_nlink(檔案連結數)欄位值加1即可。連結檔案是原檔案的另外一個訪問路徑,二者指向同一塊磁碟地區,因此,通過永久連結變更檔,就是更改原檔案本身。

在執行刪除檔案操作時,檔案系統將i節點di_nlink欄位減1,只有當值為0時,即沒有任何連結指向該節點時,才真正從磁碟上刪除檔案。

永久連結只能在檔案系統內實現,當跨越檔案系統連結時,需要建立符號連結,符號連結又名軟連結,它類似於window中的捷徑,本身是佔用磁碟塊的檔案,內容上記錄了一個指向目標檔案的連結,訪問時作業系統先讀取此連結再讀取目標檔案。

 

 

4磁碟檔案讀取工作原理

下面,我們以命令”cat T1.c”執行過程為例

步驟一:在目前的目錄檔案中尋找檔案T1.c及對應的i節點編號,假設為1109

步驟二:在i節點表中讀取第1109號節點

步驟三:讀取i節點中檔案屬性,存取權限等資訊。

步驟四:讀取i節點中磁碟地址表,按照三級索引規則在資料區讀取檔案內容。

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.