9.1磁盤
Linux interface:system call
VFS
virtual FileSystemt
用戶模式:用戶空間
內核模式:內核空間
xfs,jfs
ocfs2(集群文件系統),gfs2
fat32 ntfs
每一個條目:inode
inode號 權限 屬主屬組 時間戳 文件大小
block size:1024 2048 4096(字節)
內存中葉框大小是4K
設備文件沒有大小(不占磁盤塊),只用到inode
占據磁盤塊的文件一般只有2類文件
普通文件和目錄文件
目錄文件:存放的是文件名稱和inode的對應關系
怎麽查找空閑磁盤塊bitmap(數據查找中非常重要的一種數據結構)
inode bitmap 位圖 標識inode的
塊 block bitmap 位圖 標識塊
塊組:取決一個塊大小,每個bit標識一個塊,這是一個確定的數
超級塊(super block),包含多少個塊組,可以有多個備份,保存全局信息
1 有多少個塊組
2 每個塊組包含多少塊
3 塊大小
4 空閑磁盤塊(空閑inode)、已用磁盤塊(已用inode)
塊組描敘符表:塊組名,塊組從第幾個塊開始到第幾個塊結束,備份
引導塊
Boot Block Block Group 0 Block Group 1 ... Block Group n
/ \
/ \
Super Block GDT Block inode inode Data Blocks
Bitmap Bitmap Table
引導塊:多操作系統,不能用來存數據,要預留出來
MBR:一個系統這裏引導,和上面引導塊沒關系
GDT:Group Description Table
怎麽找到文件/var
1 找/,自引用
2 找根的inode表
3 根據inode表找對應的磁盤塊
4 塊中存放有var名稱對應文件的inode號
5 根據inode號再查inode表,inode表中找到var
目錄中對應的塊
6 磁盤塊中找到log目錄對應的inode,再回頭inode表
...
7 文件的inode表中描述了文件對應的各個磁盤塊
目錄中存放的inode和目錄名稱的對應關系
塊中目錄中的內容:
inode name_len file_type name
9.1磁盤