首页 > 代码库 > 9.1磁盘

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磁盘