2012年6月26日 星期二

Linux 磁碟與檔案系統管理

因為在寫驅動時,有提到其inode的。所以我也回顧一下關於linux下
關於file system中support block/inode/block的內容
首先是inode/block
image
suppurt block
image
inode and inode table
在inode中含有:
該檔案的存取模式(read/write/excute);
該檔案的擁有者與群組(owner/group);
該檔案的容量;
該檔案建立或狀態改變的時間(ctime);
最近一次的讀取時間(atime);
最近修改的時間(mtime);
定義檔案特性的旗標(flag),如 SetUID...;
該檔案真正內容的指向 (pointer);
每個 inode 大小均固定為 128 bytes;
每個檔案都僅會佔用一個 inode 而已;
承上,因此檔案系統能夠建立的檔案數量與 inode 的數量有關;
系統讀取檔案時需要先找到 inode,並分析 inode 所記錄的權限與使用者是否符合,若符合才能夠開始實際讀取 block 的內容。
inode table(直接、間接、雙間接、三間接)
image Superblock($dumpe2fs)
記錄整個 filesystem 相關資訊的地方, 沒有 Superblock ,就沒有這個 filesystem 了。
  • block 與 inode 的總量;
  • 未使用與已使用的 inode / block 數量;
  • block 與 inode 的大小 (block 為 1, 2, 4K,inode 為 128 bytes);
  • filesystem 的掛載時間、最近一次寫入資料的時間、最近一次檢驗磁碟 (fsck) 的時間等檔案系統的相關資訊;
  • 一個 valid bit 數值,若此檔案系統已被掛載,則 valid bit 為 0 ,若未被掛載,則 valid bit 為 1 。
Filesystem Description (檔案系統描述說明)
block bitmap (區塊對照表)
inode bitmap (inode 對照表)
http://linux.vbird.org/linux_basic/0230filesystem.php#harddisk-inode

沒有留言:

張貼留言