中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux系統上的文件管理

發布時間:2020-07-05 08:53:14 來源:網絡 閱讀:350 作者:liu008qing 欄目:系統運維

一、 inode、data block與super block

1. inode用于記錄文件的屬性與權限等信息;一個文件占用一個inode,同時inode還記錄了該文件的data block的位置。inode的大小有128、256字節兩種規格。

2. data? block:用于存儲文件的實際內容。塊大小為1K、2K、4K字節三種規格。

3. super block: 記錄文件系統的整體信息,包括了inode與data block的總量、已使用量、剩余的旦、卷標、文件系統格式等相關的信息。可以使用tune2fs -l? Partition_Name來查看。


注意:以ext2文件系統為例,對于128字節的inode,除了存儲文件的權限屬性等信息外,只能存12個4字節的文件指向的數據塊號碼。那對于一個大文件來呢,需要幾十上百萬個數據塊來存放文件內容。這個怎么弄?其中inode除了12個直接的數據指向以外,還有一個間接、一個雙間接、一個三間接的記錄區。所謂間接的意思就是inode的直接指向會指向一個數據block,這個block不存數據,而是存放的文件的數據塊的號碼。對于1K大小的數據塊,可以存儲256個指向。而256個數據區塊,可以存儲的文件大小為256KB;雙間接可以存儲64MB數據,三間接可以存儲16G大小的文件;???? 對于2K和4K大小以及其他文件系統,算法不相同。但都借用了數據區塊來存放數據區塊號。



二、 文件是如何存取的

每個文件系統在其內部劃分了多個block group,而每個block group內又包括了以下幾個內容:

1. super block:?? inode與數據區塊的總量,剩余的數量,inode與數據區塊的大小,保留等信息。第一個塊組肯定有超級塊,后續的塊組,有的有,有的沒有。

2. 文件系統描述: 描述區塊群組的開始與結束的區塊,以及說明每個區段(超級區塊、對照表、inode對照表、數據區塊)分別介于哪一個區塊之間,這部分也能用dumpe2fs來查看。

3. block bitmap:用于記錄哪些block是空的,哪些是已經使用的。

4. inode bitmap:? 用于記錄哪些inode是空的,哪些是已經使用的。

5. inode table:? 用于存儲文件屬性以及該文件數據區塊號碼

6. data block: 用于存儲文件的實際內容。


存取文件時,先檢查用戶對目錄是否有寫和執行權限;接著系統通過inode bitmap查詢哪些inode表是空的,將新文件的屬性寫入空的inode表;根據block bitmap查找哪些data block是空的,是空的則可以將文件內容寫入到這些block中;更新inode bitmap以及block bitmap,并更新超級塊的信息。


三、 系統如何通過路徑讀取文件內容

舉例說明,查找/etc/passwd文件

1. 先查找/的inode號碼,/的inode里有記錄/對應的data block;

2. 在/的data block中找到etc目錄對應的inode

3.? 讀取etc目錄對應的inode表中,找到etc目錄的數據塊

4. 在etc目錄的數據塊中,找到passwd文件的inode號碼

5. 讀取passwd文件的inode中數據塊指向,并將內容讀取出來。


總結: 從根目錄開始,先找inode,通過inode找到對應的數據區塊;在數據區塊中,分兩種情況:1. 該文件是目錄,則數據區塊記錄了其下屬子目錄及文件的文件名以及對應的inode; 2. 該文件是非目錄文件,則數據區域記錄了文件的內容。?? 通過inode--->block--->inode--->block依次循環來讀取文件。在這個過程中,需要檢查用戶對目錄及文件的權限。



四、 硬鏈拉與軟鏈接

1. 硬鏈接是指向同一個inode的多個文件路徑; 目錄不支持硬鏈接,不能跨文件系統,創建硬鏈接會增加inode計數。

2. 軟鏈接指向的是文件實際的訪問路徑,可以跨文件系統,支持對目錄創建軟鏈接,刪除軟鏈接不會影響原文件。


五、 MBR

存儲設備的第一個扇區,也就是最前面的512字節,叫做入引導記錄


1. 主引導記錄的結構

主引導記錄只有512字節,放不了太多東西,它的主要作用是告訴計算機到硬盤的哪一個位置去找操作系統。

主引導記錄由以下3個部分組成:

A. 第1-446字節:調用操作系統的機器碼

B. 第447-510字節:分區表 (Partition? table)

C. 第511-512字節:主引導記錄簽名(0X55和0XAA)


2. 分區表

硬盤分區有很多好處,考慮到每個區可以安裝不同的操作系統,主引導記錄呢須知道 將控制權轉交給哪個區。

分區表的長度只有64字節,里面又分成4項,每項16字節。所以一個硬盤 最多只能分4個一級分區,又叫作主分區。每組的記錄區主要記錄了該區段的起始與結束的柱面號碼。

每個主分區的16個字節由以下6部分組成:

A. 第1個字節,如果為0X80,就表示該主分區是激活分區,控制權要轉交給這個分區。4個主分區里面只能有一個分區是激活的。

B. 第2-4字節:主分區第一個扇區的物理位置(柱面、磁頭、扇區號等)

C. 第5字節:主分區類型

D. 第6-8字節:主分區最后一個扇區的物理位置

E. 第9-12字節:該主分區第一個扇區的邏輯地址

F. 第13-16字節:主分區的扇區總數。


最后的4字節(主分區的扇區總數)決定了這個主分區的長度,也就是說,一個主分區的扇區總數最多不超過2的32次方。

如果每個扇區為512字節,則意味著單個分區最大不超過2TB。再考慮到扇區的邏輯地址也是32位,所以單個硬盤可利用的最大空間也不超過2TB。如果想再使用更大的硬盤,只有兩個方法:一是提高每個扇區的字節數,二是增加扇區總數。


六、 文件名存儲在哪里,文件的屬性存儲在哪里

1. 目錄也是文件;

2. 文件的文件名存儲在目錄的數據塊中;

3. 文件的屬性,權限等信息存儲在inode中;

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

普陀区| 印江| 漯河市| 大安市| 雅江县| 汾阳市| 保亭| 吉木乃县| 万源市| 牙克石市| 台南市| 遂川县| 黄大仙区| 珲春市| 荃湾区| 即墨市| 阆中市| 志丹县| 徐水县| 徐汇区| 郑州市| 团风县| 漯河市| 徐闻县| 会同县| 龙海市| 海伦市| 双江| 佛坪县| 防城港市| 罗田县| 承德县| 彰化县| 惠来县| 延边| 临夏市| 泰宁县| 河西区| 阳东县| 疏勒县| 潢川县|