首页 > 代码库 > 文件IO详解(三)---Linux虚拟文件系统
文件IO详解(三)---Linux虚拟文件系统
http://blog.chinaunix.net/uid-14735472-id-2921377.html
讲解虚拟文件系统的一些数据结构以及之间的关系,有些地方看不懂
http://www.docin.com/p-941544538.html
讲解了进程打开文件时内核所建立的各种数据结构之间的联系
在给磁盘分区后,每个分区中都可以建立起各自独立的文件系统,建立的物理文件系统可以是相同的,也可以是不同的。那么不同的物理文件系统的组织数据的方式肯定是不同的,比如说ext2文件系统组织数据的方式是靠着superblock块、inode块以及block块三种基本单位,但是其他文件系统比如FAT文件系统对数据的组织方式肯定就不是这样。那么这就意味着不同文件系统的底层驱动程序肯定是不一样的。
那么问题就来了,当我们使用这些文件IO函数对文件进行操作的时候,其实我们并没有关心说不同磁盘分区上的文件系统是不是一样的。对于所有的文件系统我们都是使用相同这些接口去操作文件。
我们之所以能够这样,是因为在应用程序和物理文件系统中间还有一层虚拟文件系统,虚拟文件系统的作用就是向应用程序去屏蔽底层各个不同文件系统之间的操作,为应用程序提供一个统一的接口。
虚拟文件系统的主要包括有superblock结构体,inode结构体、dentry结构体、file结构体。superblock结构体对应文件系统中的superblock
inode结构体对应文件系统中的inode
dentry结构体对应文件系统中的目录项
file结构体为了表示一个打开的文件
文件IO详解(三)---Linux虚拟文件系统
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。