【linux内核】 linux文件系统

 

  •     如何使用块设备上的区域和个
  •     内核如何管理块设备上的空闲区域
  •     文件的实体
  •     如何命名并管理文件
  •     用户程序如何操作文件和目录

1. 文件系统

    1.1 文件系统管理数据的机制

              通过文件和目录管理块设备上的数据,由于文件系统,用户无需对块种类,规格,数据的存放信息有了解

         上图所示,两个块设备,在使用块设备需先对其进行挂载,即使挂载了多个块设备,对用户来说是透明的。

    1.2 inode     

      文件用来管理块设备上的块集合,有两部分组成:

  •    定义文件的 inode
  •    文件包含的数据

      inode 管理文件大小,权限,保存数据块编号等,操作文件需要首先取得对象文件的inode

      inode保存在块设备中,内核将inode从块设备读取至内存时,主要时方便操作,将其格式进行转变,也就是说内存格式与块设备格式是不同的

    1.3 访问权限

       uid 为 0 的进程成为超级用户

     

2. 块设备的区域

    2.1 块设备四个区域

  •      编号为 0 的块在系统启动时使用
  •      编号为 1 的块为超级块 (Super Block),包含了设备的信息,超级块通过空闲对列管理未使用的 inode 和属于未使用存储区域的块
  •      inode 区域,一个 inode 对应一个文件,包括文件长度,权限,更新时间,数据所在地址等数据
  •      存储区域

3. 挂载

 

4. inode的获取与释放

5. inode与存储区域的对应关系

 

6. 分配块设备中的块

 

7. 路径映射为inode

 

8. 初始化与同步

发布了238 篇原创文章 · 获赞 305 · 访问量 38万+

猜你喜欢

转载自blog.csdn.net/zhonglinzhang/article/details/104169168