国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

Linux磁盤與文件系統概念理解

2024-06-28 13:22:21
字體:
來源:轉載
供稿:網友
linux磁盤與文件系統概念理解

磁盤級別概念

這里講的主要是網上所謂的老式磁盤,它是由一個個盤片組成的,我們先從個盤片結構講起。如圖1所示,圖中的一圈圈灰色同心圓為一條條磁道,從圓心向外畫直線,可以將磁道劃分為若干個弧段,每個磁道上一個弧段被稱之為一個扇區(圖踐綠色部分)。扇區是磁盤的最小組成單元,通常是512字節。圖2展示了由一個個盤片組成的磁盤立體結構,一個盤片上下兩面都是可讀寫的,圖中藍色部分叫柱面(cylinder)。

簡簡單介紹了磁盤結構后,下面我們將對磁盤的參數進行講解。磁盤的常見參數如下:

  • 磁頭(head)
  • 磁道(track)
  • 柱面(cylinder)
  • 扇區(sector)
  • 圓盤(platter)

圖2中磁盤是一個 3個圓盤6個磁頭,7個柱面(每個盤片7個磁道) 的磁盤,圖2中每條磁道有12個扇區,所以此磁盤的容量為6*7*12*512字節。

即:

存儲容量 = 磁頭數 × 磁道(柱面)數 × 每道扇區數 × 每扇區字節數

下面講一下現代磁盤,在老式磁盤中,盡管磁道周長不同,但每個磁道上的扇區數是相等的,越往圓心扇區弧段越短,但其存儲密度越高。不過這種方式顯然比較浪費空間,因此現代磁盤則改為等密度結構,這意味著外圍磁道上的扇區數量要大于內圈的磁道,尋址方式也改為以扇區為單位的線性尋址。為了兼容老式的3D尋址方式,現代磁盤控制器中都有一個地址翻譯器將 3D 尋址參數翻譯為線性參數。

扇區(sector):最小的物理存儲單位,每個扇區512bytes 柱面(cylinder):扇區組成的一個圓,柱面是分區(partition)的最小單位 第一個扇區:包含開機啟動記錄(MBR,Master boot record)以及分區表(partition table),其中MBR為446bytes,partition table為64byte 因為分區表大小只有64byte,所以只能存儲4個分區信息,這也是為什么一塊硬盤只能分為四個主分區,或者將其中一個作為擴展分區,在其中再劃分邏輯分區。 多重引導 圖中藍色為MBR,黃色為每個分區的啟動扇區(boot sector)
  • 每個分區都擁有自己的啟動扇區(boot sector)
  • 圖中的系統分區為第一及第二分區
  • 實際可開機的核心文件是放置到各分區內的!
  • loader 只會認識自己的系統分區內的可開機核心文件,以及其他 loader 而已;
  • loader 可直接指向或者是間接將管理權轉交給另一個管理程序。
分區概念 分區的最小單位是柱面,柱面=每個磁道的扇區數*扇區大小*磁頭數,所以分區不可能是準確的大小,會有一個柱面大小的偏差。 分區示意圖如下 一塊硬盤最開始是MBR和分區表,并且每個分區都有各自的boot sector。文件系統概念 文件系統定義了以什么樣的結構存儲數據。每個分區可以是不同的文件系統,文件系統的劃分是針對分區的。 Linux文件系統ext2主要分為三種類型的結構,superblock,inode,block。 superblock(超級塊) superblock記錄了整個filesystem相關信息的地方,沒有superblock,就沒有filesystem
  • block與inode的總量
  • 未使用與已使用的inode/block數量
  • block與inode的大小
  • filesystem掛載時間,最近一次寫入數據時間,最近一次檢驗磁盤時間等
  • 一個valid bit數值,若被掛載為0,否則為1
inode
  • 文件的字節數
  • 文件擁有者的User ID
  • 文件的Group ID
  • 文件的讀、寫、執行權限
  • 文件的時間戳,共有三個:ctime指inode上一次變動的時間,mtime指文件內容上一次變動的時間,atime指文件上一次打開的時間。
  • 鏈接數,即有多少文件名指向這個inode
  • 文件數據block的位置
block 大小一般為1k,2k,4k,是真實存儲數據內容的區域。 下圖為他們三者的關系,其中boot block大小為1k,super block大小為1k。另外還有其他部分Filesystem Description (文件系統描述說明)這個區段可以描述每個 block group 的開始和結束的block號碼,以及說明每個區段 (superblock,bitmap, inodemap, data block) 分別位于哪一個 block 號碼之間。這部分也能夠用 dumpe2fs 來觀察。block bitmap (區塊對照表)如果你想要新增文件時總會用到 block 吧!那你要使用那個 block 來記錄呢?當然是選擇『空的block 』來記錄新文件的數據。 那你怎么知道那個 block 是空的?這就得要透過 block bitmap了。從 block bitmap 當中可以知道哪些 block 是空癿,因此我們的系統就能夠迅速的找到可使用的空間來處置文件。inode bitmap (inode 對照表)這個其實不 block bitmap 是類似的功能,叧是 block bitmap 記錄的是使用不未使用的block 號碼,至于inode bitmap 則是記錄使用不未使用的inode 號碼啰!目錄和文件的存儲方式目錄存儲方式當我們在 Linux 下癿 ext2 文件系統建立一個目彔時, ext2 會分配一個 inode 不至少一塊 block 給該目錄。其中,inode 記錄該目錄的相關權限和屬性,并可記錄分配到的那塊 block 號碼; 而 block 則是記錄在這個目錄下的文件名與該文件名占用的 inode 號碼數據。文件存儲方式文件存儲也是分配一個inode,并且這個inode中有12個直接,一個間接,一個雙間接,一個三間接記錄區c9a30cdee92ddec61adcdfecd7f97155.jpeg文件檢索過程比如打開/var/test文件過程 首先找到/目錄,然后找到其對應block下面的目錄名var對應的inode 在var的inode中找到對應的block,在block中找到文件test對應的inode 在test的inode中找到對應的block,即為test文件的內容。如下圖所示參考文章:http://www.CUOXin.com/vamei/p/3506566.html http://www.CUOXin.com/joydinghappy/articles/2511948.html鳥哥的linux私房菜

來自為知筆記(Wiz)


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 达孜县| 合肥市| 永泰县| 哈巴河县| 阿拉善左旗| 宁乡县| 明星| 高陵县| 营口市| 西昌市| 屯门区| 莱州市| 汕头市| 罗山县| 祁阳县| 姜堰市| 彩票| 惠安县| 平泉县| 游戏| 察哈| 汝南县| 衡南县| 金坛市| 深圳市| 定日县| 德惠市| 库伦旗| 福安市| 常山县| 科技| 仁寿县| 高青县| 清河县| 昌吉市| 明溪县| 商丘市| 大方县| 营山县| 汝阳县| 铁岭县|