Linux中的Ext2檔案系統詳解,linuxext2檔案詳解

來源:互聯網
上載者:User

Linux中的Ext2檔案系統詳解,linuxext2檔案詳解

之所以要寫Ext2檔案系統,是因為最近一直在看Hadoop,發現HDFS和Ext2檔案系統非常類似,加上以前已經瞭解Ext2檔案系統,所以,打算先把Ext2的思想梳理一遍。

1 Ext2綜述

在Linux作業系統中,一切皆檔案。Linux檔案最重要的特性:檔案許可權,檔案屬性和檔案資料。其中檔案許可權如rwx,檔案屬性如檔案的大小檔案所有者等,檔案資料是指檔案中存放的資料資訊。

在Ext2檔案系統中,它們不是存放在一起的,而是分開存放,檔案許可權和屬性存放在inode中,檔案資料存放在data block中,另外Ext2檔案系統中還有一個super block用於存放檔案系統的整體資訊。

Ext2檔案系統一開始就把inode,data block,以及super block規劃好了,除非格式化,否則不在變動。每一個inode和data block都有一個唯一編號與之對應。

2 super block

super block用於記錄整個檔案系統的基本情況,主要記錄一下內容:

block 和inode的總量 已經使用了多少block和inode 檔案系統中還剩餘多少block和inode block和inode的大小

通常情況下,super block的大小為128bytes。

3 inode

inode用於記錄檔案的屬性,一個檔案佔用一個inode,同時在inode中記錄存放檔案資料的data block號碼。inode中存放如下資訊:

1. 檔案的許可權rwx

2. 檔案所有者與所在組

3. 檔案的大小

4. 最近修改時間

5. 存放檔案資料的data block編號

一個inode的大小固定為128bytes,在讀取檔案的時候通常情況下就是會首先找到檔案對應的inode,然後通過inode進行一系列操作。

4 data block

檔案資料的實際存放位置,一個檔案至少佔用一個data block(一個data block中最多也只能存放一個檔案),如果檔案太大的話,可能會佔用多個data block,一個data Block的大小通常為4KB。

因此在劃分data block時,其大小非常關鍵,如果data block過小,可能有利用小檔案的存放,但是對與大檔案而言,將會佔用更多的data block,inode中需要劃分更多地區去記錄data block,導致檔案系統讀寫效率降低;如果data block過大,可能有利用大檔案的存放,但是對於小檔案而言,由於一個data block中最多存放一個檔案,這樣可能會造成空間浪費問題。

檔案與inode 和data block的關係

假設檔案對應的inode是inode3,可以看出,檔案資料的實際存放位置為data block1,3,8,inode負責記錄這些data block的編號,這種資料訪問的方式被稱為索引式檔案系統。

讀取檔案流程:

1擷取檔案inode的位置,讀取inode中的資料,擷取檔案許可權,檢查該使用者是否有r許可權,如果有進行一下步驟,如果沒有,流程結束,檔案內容不予顯示;

2 通過inode中記錄的data block的編號,一次讀取對應data block上的資料,完成了對檔案的讀取。

5 目錄與inode 和data block的關係

目錄也是檔案,因此,因此其存放方式與檔案的存放方式一樣,不停的是,目錄的data block中存放的是子目錄/檔案的inode所對應的位置。

實際上,每次讀取檔案,每次都是從/根目錄進行的,以此尋找,最終找到目標檔案的inode,然後找到檔案資料的存放位置,讀取,擷取資料。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.