第四章 文件和文件系统的内部结构 现代UNIX的文件系统通常可由三大模块组成: ①本地文件系统(UFS) User File System ②网络文件系统(NFS)— .Network File System ③虚拟文件系统 (VFS)-Virtual File System 1
第四章 文件和文件系统的内部结构 现代UNIX的文件系统通常可由三大模块组成: ①本地文件系统(UFS)——User File System ②网络文件系统(NFS)——Network File System ③虚拟文件系统(VFS)——Virtual File System 1
本地文件系统(UFS) 是UNIX系统中的基本文件系统,它通常固定存放在本地机 器的存贮设备上,任何一种结构形式的文件系统都必然会直接或间 接地与某个本地文件系统相联系。 本地文件系统的构成 一个根文件系统+若干子文件系统所组成 根文件系统 存放本操作系统的最主要和最基本的部分 可独立启动运行 系统起动后,根文件系统就不能御下来 子文件系统 主要存放应用程序和用户文件 一般不能独立启动 系统运行过程中可随时安装和卸下 2
本地文件系统(UFS) 是UNIX系统中的基本文件系统,它通常固定存放在本地机 器的存贮设备上,任何一种结构形式的文件系统都必然会直接或间 接地与某个本地文件系统相联系。 本地文件系统的构成 一个根文件系统 + 若干子文件系统所组成 根文件系统 存放本操作系统的最主要和最基本的部分 可独立启动运行 系统起动后,根文件系统就不能卸下来 子文件系统 主要存放应用程序和用户文件 一般不能独立启动 系统运行过程中可随时安装和卸下 2
网络文件系统(NFS) 是本地机器上的文件系统和远地机器上的文件 系统之间的介质,它管理和控制所有有关对远地 文件的各种操作,给本地用户提供一个访问远地 文件的使用方便的高层接口,避免用户直接涉及 网络通讯方面的具体细节。 A节点文件系统 B节点文件系统 3
网络文件系统(NFS) 是本地机器上的文件系统和远地机器上的文件 系统之间的介质,它管理和控制所有有关对远地 文件的各种操作,给本地用户提供一个访问远地 文件的使用方便的高层接口,避免用户直接涉及 网络通讯方面的具体细节。 3 A节点文件系统 B节点文件系统
虚拟文件系统(VFS) VFS是整个操作系统的用户界面,它给用户提供一个统一的 文件系统使用接口,避免用户涉及各个子文件系统的特征部分。 用户感觉使用的是一个整体的,比本地机器上实际硬盘空间 大得多的文件系统。 虚构文件系统接受来自用户的操作请求,根据该操作所访问 的文件是存放在本地机器上,还是存放在远地机器上而分别把操 作交给本地文件系统或网络文件系统;本地文件系统或网络文件 系统(实际上再传给远地机器上的本地文件系统)进行相应的操 作后,将结果返回到虚拟文件系统中再传回给用户。 4
虚拟文件系统(VFS) VFS是整个操作系统的用户界面,它给用户提供一个统一的 文件系统使用接口,避免用户涉及各个子文件系统的特征部分。 用户感觉使用的是一个整体的,比本地机器上实际硬盘空间 大得多的文件系统。 虚构文件系统接受来自用户的操作请求,根据该操作所访问 的文件是存放在本地机器上,还是存放在远地机器上而分别把操 作交给本地文件系统或网络文件系统;本地文件系统或网络文件 系统(实际上再传给远地机器上的本地文件系统)进行相应的操 作后,将结果返回到虚拟文件系统中再传回给用户。 4
用户 用户 A机器 B机器 虚拟文件系统VFS 虚拟文件系统VFS 网络文件 本地文件 网络文件 本地文件 系统NFS 系统UFS ■■■■■■■■■ 系统NFS 系统UFS 物理存 物理存 储介质 储介质 网 络 基于虚拟文件系统的体系结构 5
网 络 虚拟文件系统VFS 网络文件 系统NFS 本地文件 系统UFS 物理存 储介质 虚拟文件系统VFS 网络文件 系统NFS 本地文件 系统UFS 物理存 储介质 用户 用户 A机器 B机器 基于虚拟文件系统的体系结构 5
4.1文件系统结构 4.1.1本地文件系统 1.文件系统的存储结构 在UNX系统中,一个物理磁盘通常被划分成一个或多个 逻辑文件系统(简称文件系统或子文件系统),每个逻辑文 件系统都被当作一个由逻辑设备号标识的逻辑设备。 UN的普通文件和目录文件就保存在这样的文件系统中。 逻辑文件系统的存储结构可分为两类型: 级存储结构型:常用于运行环境较小的文件系统中 二级存储结构型:常用于运行环境较大(特别是硬盘空间 较大)的文件系统中 6
4.1 文件系统结构 4.1.1 本地文件系统 1.文件系统的存储结构 在UNIX系统中,一个物理磁盘通常被划分成一个或多个 逻辑文件系统(简称文件系统或子文件系统),每个逻辑文 件系统都被当作一个由逻辑设备号标识的逻辑设备。 UNIX的普通文件和目录文件就保存在这样的文件系统中。 逻辑文件系统的存储结构可分为两类型: 一级存储结构型:常用于运行环境较小的文件系统中 二级存储结构型:常用于运行环境较大(特别是硬盘空间 较大)的文件系统中 6
①、一级存储结构型 这种类型的逻辑文件系统由超级块、索引节点表块和数 据区组成,(如果是根文件系统,就还包括引导块)。整个存 储结构是一维的。 引导块 超级块 节点表块 数据区 引导块:boot程序 超级块:s结构,存放文件系统的静态参数 i节点表块:磁盘icommon表 数据区:各数据块 7
①、一级存储结构型 这种类型的逻辑文件系统由超级块、索引节点表块和数 据区组成,(如果是根文件系统,就还包括引导块)。整个存 储结构是一维的。 引导块 超级块 i节点表块 数据区 引导块: boot程序 超级块: fs结构,存放文件系统的静态参数 i 节点表块:磁盘icommon表 数据区: 各数据块 7
②、两级存储结构型 这种存储结构的文件系统由两级组成:第一级由超级块和 若干个柱面组块(cylinder group block)所组成(如果是根 文件系统则还包括引导块)。第二级(即柱面组块)又是由超 级块拷贝块、柱面组信息块,节点表块和数据区所组成。文件 系统的存储结构是二维的。 目前大多数在大存储环境下运行的UNIX版本都采用这种存 贮结构,其优点是能快速定位数据块。 第一级存储结构 引导块 超级块 1号柱面组块 2号柱面组块 n。。a。。 n号柱面组块 第二级存储结构 超级块拷贝块 柱面组信息块 节点表块 数据区 8
②、两级存储结构型 这种存储结构的文件系统由两级组成:第一级由超级块和 若干个柱面组块(cylinder group block)所组成(如果是根 文件系统则还包括引导块)。第二级(即柱面组块)又是由超 级块拷贝块、柱面组信息块,i节点表块和数据区所组成。文件 系统的存储结构是二维的。 目前大多数在大存储环境下运行的UNIX版本都采用这种存 贮结构,其优点是能快速定位数据块。 第一级存储结构 引导块 超级块 1号柱面组块 2号柱面组块 …… n号柱面组块 第二级存储结构 超级块拷贝块 柱面组信息块 i节点表块 数据区 8
超级块 是由s定义的数据结构,用于存放文件系统的静态参数: struct fs 内存超级块链接指针 超级块的磁盘地址 柱面组块的位移量 最近修改时间 文件系统大小 文件系统块大小 柱面组数 柱面组大小 片大小 文件系统标识数 文件系统标志区 最近访问的柱面组号 确定分配算法的参数 } 9
超级块 是由fs定义的数据结构,用于存放文件系统的静态参数: struct fs { 内存超级块链接指针 超级块的磁盘地址 柱面组块的位移量 最近修改时间 文件系统大小 文件系统块大小 柱面组数 柱面组大小 片大小 文件系统标识数 文件系统标志区 最近访问的柱面组号 确定分配算法的参数 } 9
空气过滤片 磁盘 主轴(马达 电机与轴承 在其下方) 磁头 音圈马达 磁头摆臂 永磁铁 10
10