- 如何使用块设备上的区域和个
- 内核如何管理块设备上的空闲区域
- 文件的实体
- 如何命名并管理文件
- 用户程序如何操作文件和目录
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的获取与释放