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


ext3 <- ext2

  多个一个日志区


journal file system 日志文件系统


partprobe  [/dev/sda] -> partx












本文转自飞行萌51CTO博客,原文链接:http://blog.51cto.com/8527508/1942806 ,如需转载请自行联系原作者





相关文章
|
4月前
|
存储 API Windows
11.9 实现磁盘相关操作
如下代码实现了在Windows系统中获取所有磁盘驱动器的信息。具体包括两个函数,一个用于获取驱动器类型,另一个用于获取驱动器空间信息。主函数则调用这两个函数来遍历所有逻辑驱动器并输出相应的信息。在输出驱动器空间信息时,会输出该驱动器的总大小、已用空间以及可用空间。
23 0
|
存储 IDE Linux
|
缓存 监控 算法
|
存储 小程序 虚拟化
|
存储 固态存储 索引
磁盘文件系统一
磁盘文件系统一
磁盘文件系统一
|
存储 Linux 索引
磁盘文件系统二
磁盘文件系统二
磁盘文件系统二
|
存储 安全 Linux
磁盘文件系统三
磁盘文件系统三
磁盘文件系统三
|
NoSQL Redis 调度
|
IDE Linux 开发工具

热门文章

最新文章