block(data block,directory block)、inode、塊位圖、inode位圖和super block概念詳解

一.基本概念:

     1.block:文件系統中存儲數據的最小單元,ext3文件系統中,創建時默認4k,分為存儲文件數據的data block和存儲目錄數據的directory block

     2.inode:又稱“索引節點”,每一個inode對應一個文件或目錄,記錄了文件的大小、所占用的block以及目錄的directory block信息。

    3.Inode Bitmap:翻譯成中文就是“inode位圖”,用二進制的方式記錄了inode的使用情況。

    4.Block Bitmap:翻譯成中文就是“塊位圖”,同Inode Bitmap,用二進制方式記錄了塊的使用情況。

    5.super block:超級塊包含了該硬盤或分區上的文件系統的整體信息,如文件系統的大小等。

二.工作原理

    這里使用幾個常用的操作來解釋這幾個文件系統組件的工作機制。

    1.    讀取文件

            以讀取/tmp/test文件為例,流程如下圖:

                                繪圖1.jpg        繪圖1.jpg

             共分為以下幾步:

                  (1)啟動系統時,自動加載“/”目錄的inode。

                  (2)根據該inode,找到“/”目錄的directory block,從而定位到“/”目錄文件。

                  (3)根據“/”所在的block,定位到“/”目錄文件,該文件中記錄了"/tmp"目錄文件的名稱和inode。

                  (4)根據(3)中找到的inode,找到"/tmp"目錄文件,其中記錄了“test”的文件名和inode。

                  (5)同理,根據(4)中找到的inode,定位到“test”的data block,從而可以訪問test文件。

            注:所謂一切皆文件,連目錄也是文件,該文件記錄了里面的一級子目錄和文件的名稱和inode,所謂cd進這個目錄,其實就是執行該目錄文件,ls則讀取該目錄文件,創建一個文件或子目錄,則意味著向該文件中寫入有關該文件或目錄所對應的條目。

    2.創建文件,刪除文件

              (1)  創建文件

                      創建文件,其實就是根據inode位圖和block位圖,確定哪寫inode和block是空閑的,然后分別向這些block中寫入數據,同時,將整個文件(可能是多個block) 對應一個空閑的inode。 如下圖(這里“1”表示空閑,“0”表示占用,可能不準確~),這樣,訪問inode"E"定位到A塊、C塊、E塊,實現了訪問“test文件”。

                                      演示文稿1.jpg

               (2) 刪除文件

                        刪除文件,其實就是把block位圖和inode位圖的相關位置成空,相當于不被占用,注意:數據還在,下次創建文件時,覆蓋原已清空block位圖和inode位圖的文件的數據。

            


原創文章,作者:Abner,如若轉載,請注明出處:http://www.www58058.com/12117

(2)
AbnerAbner
上一篇 2016-03-04 17:27
下一篇 2016-03-05 18:39

相關推薦

  • Linux文件系統總結(7.4課上作業)

    一、什么是文件系統         文件系統是對一個存儲設備上的數據和元數據進行組織的機制。它使用文件和樹形目錄的抽象邏輯概念代替了硬盤和光盤等物理設備使用的數據塊的概念,用戶使用文件系統來保存數據而不必關心數據實際保存在硬盤(or光盤)的地址為多少數據塊上,只需要記住這個文件的…

    Linux干貨 2016-07-10
  • 構建企業日志實時查看系統

    前言:          由于項目剛剛上線,出現了許多bug,開發人員需要經常跑過來查看日記,嚴重影響了我們運維人員的工作效率,時而久之,感覺那個煩啊。。各位仁兄有 沒有體 會到呢!??! 之前找了一些處理日記的工具都不具有實時性,所以都未采納,剛剛發現了log.io這個工具推薦個…

    Linux干貨 2015-02-13
  • redis 主從復制實戰

    1.準備好4臺機器 192.168.42.150 redis-node1 #主 192.168.42.151 redis-node2 #從 192.168.42.152 redis-node3 #從 192.168.42.153 redis-node4 #從 將主機解析寫入hosts文件,分發至每臺機器 2.安裝redis,配置好基本配置 (1) 4臺機器,…

    Linux干貨 2017-07-18
  • linux系統啟動流程詳解

    一、 為什么要研究linux系統啟動:     或許有人會說,等它開機就好了,為什么還要研究它開機流程呢,其實如果服務器運行很好又沒有人為的誤操作等,或許不用研究,但是為了能在系統出問題后第一時間的修復它,又或者你忘記了root密碼等情況時就非常有必要研究一下linux的開機流程了,因為只有知道了它是如何運作的,才能讓…

    Linux干貨 2016-09-13
  • 用戶與權限管理

    用戶與權限管理      昨天學完了用戶與權限管理,講解了用戶的運行機制和權限的作用。 用戶的產生來源于3A機制:    認證(Authentication):就是驗證用戶身份的。    授權(Authorization) :驗證完身份后,…

    2017-07-27
  • linux 文本處理工具 grep cut sort等

    linux day 7 間歇性回憶 自動屬于這個組 是  SGID 的功能 chmod g+s /data/testdir setfacl —m g:g2:rwx /data/testdir setfacl -m b:g:g2:rwx /data/testdir setfacl -m d:g:g3:r testdir chmod o= testdi…

    Linux干貨 2016-08-08

評論列表(1條)

  • stanley
    stanley 2016-03-04 17:28

    知道寫標簽的朋友都很細心,細節決定成敗

欧美性久久久久