虚实结合
文件系统主要分为两个部分:vfs和ext2(以ext2为例),一虚一实,vfs是在机子启动的时候在内存中建立的,机子关掉便不存在了,是虚的;ext2是在磁盘介质上的,是磁盘在格式化的时候确定的,机子关机后仍然在磁盘上存在。
在磁盘上的ext2文件系统那个的格式如下:
Ext2中与superblock对应的结构体是
struct ext2_super_block {
__u32 s_inodes_count; /* Inodes count */ 12214272
__u32 s_blocks_count; /* Blocks count */ 48827904
…
__u32 s_blocks_per_group; /* # Blocks per group */32768
__u32 s_inodes_per_group; /* # Inodes per group */8192
….
};
与block group对应的结构体是:
struct ext2_group_desc
{
__u32 bg_block_bitmap; /* Blocks bitmap block*/
/*所表示的块组中的block bitmap所在块号 */
__u32 bg_inode_bitmap; /* Inodes bitmap block */
/*所表示的块组中的inode bitmap所在块号 */
__u32 bg_inode_table; /* Inodes table block */
/*所表示的块组中的inode table所在块号 */
__u16 bg_free_blocks_count; /* Free blocks count */
__u16 bg_free_inodes_count; /* Free inodes count */
__u16 bg_used_dirs_count; /* Directories count */</