1. 程式人生 > 其它 >linux/windows常見檔案系統最大支援單個檔案大小

linux/windows常見檔案系統最大支援單個檔案大小

windows常見檔案系統:FAT12/FAT16/FAT32/NTFS/NTFS5.0

對應支援大小:      8M/2G/4G/64G/2TB

linux常見檔案系統:ext2/ext3/ext4/xfs

對應支援檔案大小:2T/16T/32T/8E

檔案儲存結構

介紹檔案儲存結構前先來看看檔案系統如何劃分磁碟,建立一個檔案、目錄、連結的過程。

1.物理磁碟到檔案系統
我們知道檔案最終是儲存在硬碟上的。硬碟最基本的組成部分是由堅硬金屬材料製成的塗以磁性介質的碟片,不同容量硬碟的碟片數不等。每個碟片有兩面,都可記錄資訊。碟片被分成許多扇形的區域,每個區域叫一個扇區,每個扇區可儲存128×2的N次方(N=0.1.2.3)位元組資訊。在DOS中每扇區是128×2的2次方=512位元組,碟片表面上以碟片中心為圓心,不同半徑的同心圓稱為磁軌。硬碟中,不同碟片相同半徑的磁軌所組成的圓柱稱為柱面。磁軌與柱面都是表示不同半徑的圓,在許多場合,磁軌和柱面可以互換使用,我們知道,每個磁碟有兩個面,每個面都有一個磁頭,習慣用磁頭號來區分。扇區,磁軌(或柱面)和磁頭數構成了硬碟結構的基本引數,幫這些引數可以得到硬碟的容量,基計算公式為:
儲存容量=磁頭數×磁軌(柱面)數×每道扇區數×每扇區位元組數
要點:
(1)硬碟有數個碟片,每碟片兩個面,每個面一個磁頭
(2)碟片被劃分為多個扇形區域即扇區
(3)同一碟片不同半徑的同心圓為磁軌
(4)不同碟片相同半徑構成的圓柱面即柱面
(5)公式: 儲存容量=磁頭數×磁軌(柱面)數×每道扇區數×每扇區位元組數
(6)資訊記錄可表示為:××磁軌(柱面),××磁頭,××扇區
那麼這些空間又是怎麼管理起來的呢?unix/linux使用了一個簡單的方法。
它將磁碟塊分為以下三個部分:

  1. 超級塊,檔案系統中第一個塊被稱為超級塊。這個塊存放檔案系統本身的結構資訊。比如,超級塊記錄了每個區域的大小,超級塊也存放未被使用的磁碟塊的資訊。
  2. I-切點表。超級塊的下一個部分就是i-節點表。每個i-節點就是一個對應一個檔案/目錄的結構,這個結構它包含了一個檔案的長度、建立及修改時間、許可權、所屬關係、磁碟中的位置等資訊。一個檔案系統維護了一個索引節點的陣列,每個檔案或目錄都與索引節點陣列中的唯一一個元素對應。系統給每個索引節點分配了一個號碼,也就是該節點在陣列中的索引號,稱為索引節點號
  3. 資料區。檔案系統的第3個部分是資料區。檔案的內容儲存在這個區域。磁碟上所有塊的大小都一樣。如果檔案包含了超過一個塊的內容,則檔案內容會存放在多個磁碟塊中。一個較大的檔案很容易分佈上千個獨產的磁碟塊中。

Linux正統的檔案系統(如ext2、ext3)一個檔案由目錄項、inode和資料塊組成。
目錄項:包括檔名和inode節點號。
Inode:又稱檔案索引節點,是檔案基本資訊的存放地和資料塊指標存放地。
資料塊:檔案的具體內容存放地。