首页
/
每日頭條
/
科技
/
linux常見的文件系統有哪些
linux常見的文件系統有哪些
更新时间:2024-07-03 06:26:44

linux常見的文件系統有哪些?今天主要介紹一下Linux系統的文件系統,一起來看看吧~,下面我們就來說一說關于linux常見的文件系統有哪些?我們一起去了解并探讨一下這個問題吧!

linux常見的文件系統有哪些(一文看懂Linux文件系統是如何組成的)1

linux常見的文件系統有哪些

概述

今天主要介紹一下Linux系統的文件系統,一起來看看吧~


文件系統組成

網上看到的一張完整的文件系統圖,如下:

首先,該圖中有Boot Block、Super Block、GDT、Reserver GDT這幾個概念,下面會分别介紹它們。

然後,圖中指明了塊組中每個部分占用的block數量,除了superblock、bmap、imap能确定占用1個block,其他的部分都不能确定占用幾個block。

最後,圖中指明了Superblock、GDT和Reserved GDT是同時出現且不一定存在于每一個塊組中的,也指明了bmap、imap、inode table和data blocks是每個塊組都有的。


1 、引導塊

即上圖中的Boot Block部分,也稱為boot sector。它位于分區上的第一個塊,占用1024字節,并非所有分區都有這個boot sector,隻有裝了操作系統的主分區和裝了操作系統的邏輯分區才有。裡面存放的也是boot loader,這段boot loader稱為VBR(主分區裝操作系統時)或EBR(擴展分區裝操作系統時),這裡的Boot loader和mbr上的boot loader是存在交錯關系的。開機啟動的時候,首先加載mbr中的bootloader,然後定位到操作系統所在分區的boot serctor上加載此處的boot loader。如果是多系統,加載mbr中的bootloader後會列出操作系統菜單,菜單上的各操作系統指向它們所在分區的boot sector上。

但是,這種方式的操作系統菜單早已經棄之不用了,而是使用grub來管理啟動菜單。盡管如此,在安裝操作系統時,仍然有一步是選擇boot loader安裝位置的步驟。


2 、超級塊(superblock)

既然一個文件系統會分多個塊組,那麼文件系統怎麼知道分了多少個塊組呢?每個塊組又有多少block多少inode号等等信息呢?還有,文件系統本身的屬性信息如各種時間戳、block總數量和空閑數量、inode總數量和空閑數量、當前文件系統是否正常、什麼時候需要自檢等等,它們又存儲在哪裡呢?

毫無疑問,這些信息必須要存儲在block中。存儲這些信息占用1024字節,所以也要一個block,這個block稱為超級塊(superblock),它的block号可能為0也可能為1。如果block大小為1K,則引導塊正好占用一個block,這個block号為0,所以superblock的号為1;如果block大小大于1K,則引導塊和超級塊同置在一個block中,這個block号為0。總之superblock的起止位置是第二個1024(1024-2047)字節。

使用df命令讀取的就是每個文件系統的superblock,所以它的統計速度非常快。相反,用du命令查看一個較大目錄的已用空間就非常慢,因為不可避免地要遍曆整個目錄的所有文件。

superblock對于文件系統而言是至關重要的,超級塊丢失或損壞必将導緻文件系統的損壞。


3、 塊組描述符表(GDT)

既然文件系統劃分了塊組,那麼每個塊組的信息和屬性元數據又保存在哪裡呢?

ext文件系統每一個塊組信息使用32字節描述,這32個字節稱為塊組描述符,所有塊組的塊組描述符組成塊組描述符表GDT(group descriptor table)。

雖然每個塊組都需要塊組描述符來記錄塊組的信息和屬性元數據,但是不是每個塊組中都存放了塊組描述符。ext文件系統的存儲方式是:将它們組成一個GDT,并将該GDT存放于某些塊組中,存放GDT的塊組和存放superblock和備份superblock的塊相同,也就是說它們是同時出現在某一個塊組中的。讀取時也總是讀取Group0中的塊組描述符表信息。

假如block大小為4KB的文件系統劃分了143個塊組,每個塊組描述符32字節,那麼GDT就需要143*32=4576字節即兩個block來存放。這兩個GDT block中記錄了所有塊組的塊組信息,且存放GDT的塊組中的GDT都是完全相同的。

下圖是一個塊組描述符的信息(通過dumpe2fs獲取)。


4 、保留GDT(Reserved GDT)

保留GDT用于以後擴容文件系統使用,防止擴容後塊組太多,使得塊組描述符超出當前存儲GDT的blocks。保留GDT和GDT總是同時出現,當然也就和superblock同時出現了。

例如前面143個塊組使用了2個block來存放GDT,但是此時第二個block還空餘很多空間,當擴容到一定程度時2個block已經無法再記錄塊組描述符了,這時就需要分配一個或多個Reserved GDT的block來存放超出的塊組描述符。

由于新增加了GDT block,所以應該讓每一個保存GDT的塊組都同時增加這一個GDT block,所以将保留GDT和GDT存放在同一個塊組中可以直接将保留GDT變換為GDT而無需使用低效的複制手段備份到每個存放GDT的塊組。

同理,新增加了GDT需要修改每個塊組中superblock中的文件系統屬性,所以将superblock和Reserved GDT/GDT放在一起又能提升效率。


後面會分享更多devops和DBA方面的内容,感興趣的朋友可以關注一下~

Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
兩台電腦如何聯機
兩台電腦如何聯機
1、首先準備好工具,需要的工具有集線器或者是路由器,還有安裝有網卡的電腦,準備好了之後就可以開始做了...
2024-07-03
分欄在哪裡設置
分欄在哪裡設置
以華為MateBookX,Win10,MicrosoftOffice2020為例,在word文檔中點擊“頁面布局”,點擊“分欄”後面的倒三角形,再點擊“更多分欄”。在分欄選項卡中的“欄數”中輸入分欄數目,應用于中選擇“所選文字”,然後點擊“确定”即可。Mi
2024-07-03
蘋果數據線真僞鑒别
蘋果數據線真僞鑒别
1、查看編碼,鑒别的第一個方法是觀察蘋果手機數據線外殼上的編碼,原裝iphone數據線上面的編碼印刷...
2024-07-03
華為手機怎麼查看以前卸載過的應用
華為手機怎麼查看以前卸載過的應用
1、第一步打開華為手機,點擊桌面的應用市場,如下圖所示。2、第二步進去華為手機應用市場之後,點擊底部的我的,選擇已購項目,如下圖所示。3、第三步進去已購項目全部界面,這裡面有手機現在安裝的應用,也有以前卸載過的應用,如果是手機現在安裝的,右邊就顯示打開,如果是卸載的,右邊顯示安裝,如下圖所示。4、第四步點擊不在此設備上,可以看到華為手機以前卸載過的應用,如下圖所示。5、第五步點擊旁邊的安裝,可以将
2024-07-03
薛定谔的貓原理是什麼
薛定谔的貓原理是什麼
1、薛定谔的貓(英文名稱:ErwinSchr?dinger'sCat)是奧地利著名物理學家薛定谔(E...
2024-07-03
Copyright 2023-2024 - www.tftnews.com All Rights Reserved