文件系统-VFS文件系统
虚拟文件系统作为内核子系统,为用户空间程序提供了文件系统相关的接口,系统中所有文件系统不但依赖VFS共存,而且也依靠VFS系统协同工作。VFS使得用户可以直接使用open()、read()、和write()、这样的系统调用而无需考虑具体文件系统和实际物理介质,我们可以使用标准的系统调用从一个文件系统拷贝或移动数据到另一个文件系统。Linux系统引入抽象层,通过虚拟接口访问文件系统,才使得这种协作性和通用性成为可能。内核在它的底层文件系统接口上建立了一个抽象层,该抽象层使得Linux能够支持各种文件系统。为了支持多文件系统,VFS提供了一个通用文件系统模型,该模型囊括了我们所能想到的文件系统的常用功能和行为。
通用文件模型:
通用文件模型由下列对象组成:
超级块对象:代表一个已安装文件系统,存放已安装文件系统的有关信息
索引节点对象:代表一个文件,存放关于具体文件的一些信息
文件对象:代表由进程打开的文件,存放打开文件与进程之间进行交互的有关信息,这类信息仅当进程访问文件期间存放于内核内存中。
目录项对象:代表一个目录项,是路径的一个组成部分,存放目录项与对应文件进行链接的有关信息
阅读(1855) | 评论(0) | 转发(0) |