虚拟文件系统ⅤFS的作用 ◆虚拟文件系统 Virtual filesystem Virtual Filesystem Switch VFS是一个软件层,用来处理与Uni标准文件系统相 关的所有系统调用。 ●是用户应用程序与文件系统实现之间的抽象层 能为各种文件系统提供一个通用的、统一的接口 令 Linux与其他类Un系统一样,采用虚拟文件系 统VFS来达到支持多种文件系统格式的目枟 2021/2/9 1984 嵌入式系统实验室 Linux Os analysis EM目 EDDED SYSTEM LA口RAT口RY
2021/2/9 Linux OS analysis 19/84 虚拟文件系统VFS的作用 ❖虚拟文件系统 ➢Virtual Filesystem ➢Virtual Filesystem Switch ➢VFS是一个软件层,用来处理与Unix标准文件系统相 关的所有系统调用。 ⚫是用户应用程序与文件系统实现之间的抽象层 ➢能为各种文件系统提供一个通用的、统一的接口 ❖Linux与其他类Unix系统一样,采用虚拟文件系 统VFS来达到支持多种文件系统格式的目标
VFS在一个简单文件复制操作中的作用 假设用户输入以下shet令 S cp /floppy/TEST /tmp/test 其中, >/fopy是MS-DOS的磁盘的一个挂载点(安装点) H、>/mp是Ex2文件系统中的一个目录 对于cp命令而言,它不需要知道/ floppy/TEST和 tmp/test分别是什么文件系统类型 在cp命令中,它通过VFS提供的系统调用接口进行文 件操作 2021/2/9 Linux Os analysis 20184 嵌入式系统实验室 EM目 EDDED SYSTEM LA口RAT口RY
2021/2/9 Linux OS analysis 20/84 VFS在一个简单文件复制操作中的作用 ❖假设用户输入以下shell命令 $ cp /floppy/TEST /tmp/test ❖其中, ➢/floppy是MS-DOS的磁盘的一个挂载点(安装点) ➢/tmp是Ext2文件系统中的一个目录 ❖对于cp命令而言,它不需要知道/floppy/TEST和 /tmp/test分别是什么文件系统类型 ➢在cp命令中,它通过VFS提供的系统调用接口进行文 件操作
Figure 12-1. VFS role in a simple file copy operation p inf open("/floppy/TEST",0_RDONLY, 0); outf open ("/tmp/test 0_WRONLYJO_CREATO_TRUNC, 0600); i= read (inf, buf, 4096) write(outf, buf, i); f while (i) close(outf close(inf); Ext2 MS-DOS /tmp/test /floppy/TEST (a) 室
2021/2/9 Linux OS analysis 21/84
VFS支持的文件系统类型 ☆VFS支持的文件系统可以划分为三种主要类型 基于磁盘的文件系统:它们管理在本地磁盘分区中可用的存储 空间 Linux使用的文件系统:ext2、ext3、 ReiserFS ●Uni家族的文件系统:SYSV文件系统,UFS,MNX文件系统以 及Ⅴ ERITAS VXFS ●微软公司的文件系统:MS-DOS、VFAT以及NTFS ISO9660CD-ROM文件系统和通用磁盘格式的DVD文件系统 其他有专利权的文件系统,如HPFS、HFS、AFFS、ADFS ●起源于Lix系统的其他日志文件系统,JFS,XFS 2021/2/9 嵌入式系统实验室 Linux Os analysis 22184 EM目 EDDED SYSTEM LA口RAT口RY
2021/2/9 Linux OS analysis 22/84 VFS支持的文件系统类型 ❖ VFS支持的文件系统可以划分为三种主要类型 ➢ 基于磁盘的文件系统:它们管理在本地磁盘分区中可用的存储 空间 ⚫ Linux使用的文件系统:ext2、ext3、ReiserFS ⚫ Unix家族的文件系统:SYSV文件系统,UFS,MINIX文件系统以 及VERITAS VxFS ⚫ 微软公司的文件系统:MS-DOS、VFAT以及NTFS ⚫ ISO9660CD-ROM文件系统和通用磁盘格式的DVD文件系统 ⚫ 其他有专利权的文件系统,如HPFS、HFS、AFFS、ADFS ⚫ 起源于非Linux系统的其他日志文件系统,JFS,XFS
网络文件系统:用于访问属于其他网络计算机的文件系统所包 含的文件 ●NFS、Coda、AFS、SMB、NCP 特殊文件系统 ●不同于上述两大类 ●不管理具体的磁盘空间 proc 1958 令各种不同的文件系统通过 mount(挂载、安装)到根文 件系统中 在 Linux中,根文件系统即根目录所代表的文件系统 通常是ext2文件系统 2021/2/9 嵌入式系统实验室 Linux Os analysis 23184 EM目 EDDED SYSTEM LA口RAT口RY
2021/2/9 Linux OS analysis 23/84 ➢ 网络文件系统:用于访问属于其他网络计算机的文件系统所包 含的文件 ⚫ NFS、Coda、AFS、SMB、NCP ➢ 特殊文件系统 ⚫ 不同于上述两大类 ⚫ 不管理具体的磁盘空间 ⚫ /proc ❖ 各种不同的文件系统通过mount(挂载、安装)到根文 件系统中 ➢ 在Linux中,根文件系统即根目录所代表的文件系统 ➢ 通常是ext2文件系统