解析Linux中的VFS文件系统之文件系统的来源与简介

Posted yooooooo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解析Linux中的VFS文件系统之文件系统的来源与简介相关的知识,希望对你有一定的参考价值。

最近挂载了N多的文件系统,大致了不同文件系统的相应特性及挂载方式,却还是对Linux的文件系统没有从源码方面去了解。不求甚解确实不好不好。

于是借鉴一些大牛的博客及自己的理解,总结了博客系列:

 

 

一、VFS是什么:

VFS是Linux中的一个虚拟文件文件系统,也称为虚拟文件系统交换层(Virtual Filesystem Switch),是一种软件机制。它为应用程序员提供一层抽象,屏蔽底层各种文件系统的差异。如下图所示:

 

引入文件系统的目的是:为了屏蔽各种文件系统的差异

(1)VFS对实际文件系统进行抽象,采用统一的文件系统向用户提供相应的一组统一的标准的文件操作接口(open,read,close,select,poll等);

(2)通过系统调用到VFS到实际文件系统的操作。

 

二、文件系统种类:

(1)基于磁盘的文件系统;

(2)网络文件系统(NFS);

(3)伪文件系统(sysfs、proc);

VFS 目录树结构:

 

 

 

 

Reference:

https://www.ibm.com/developerworks/cn/linux/l-vfs/

在链接中,文章选用的是Linux2.4.20,我选择Linux3.4.2来分析源码。

 

 

分析过程如上文链接所讲:

这篇文章不拘泥于细节,是一篇极好的文章。我将详细的讲解代码,并从代码细节处理。

以上是关于解析Linux中的VFS文件系统之文件系统的来源与简介的主要内容,如果未能解决你的问题,请参考以下文章

VFS之基本数据结构

Linux操作系统之文件系统详解

linux内核源码分析之虚拟文件系统VFS

《Linux内核设计与实现》笔记——VFS

Linux 虚拟文件系统(VFS)介绍

[搬运工]VFS虚拟文件系统