Linux VFS(虚拟文件系统)深入理解

 

Linux VFS(虚拟文件系统)深入理解

虚拟文件系统作为内核子系统,为用户程序提供了文件和文件系统的抽象接口。

文件系统抽象层

VFS使得用户可以实用read()、write()、open()等这种通用接口对所有类型的文件系统进行操作,这是因为内核在它的底层文件系统上建立了一个抽象层---VFS将各种不同的文件系统抽象后采用统一的方式操作。

VFS抽象层之所以能够衔接各种类型的文件系统,是因为它定义了所有文件系统都支持的基本的、概念上的接口和数据结构。同时,实际的文件系统也将自身的如 “如何打开文件”,”目录是什么“等概念在形式上与VFS的定义保持一致。

那么究竟什么是VFS呢?

在本文中,我以一个 用户查找XXXX学校中某个学生的成绩为例。这个查找动作可以看做一个进程。而这个XXXX学校即可以看做一个VFS

在学校中,学校中的班级、专业以及辅导员、学生都可以看做Linux VFS中的文件,因为在Linux 文件系统中将目录也看做文件,所以在此同样类比

而对于在校的学生以及班级而言,学校一般都会赋予给其一个唯一的编号,因此这个唯一的编号即可看做Linux 文件系统的 索引节点对象,其代表一个具体的文件,在学校中,这即代表一个具体的班级或者学生

而对于查找某个学生的成绩这一进程而言,当然用户需要知道一个路径如何到达某个具体的学生。因此,用户可能得到一个 学院/专业/班级/学生 这个路径,对于这个路径的每一步学院、专业、班级、学生则代表VFS中的目录项对象,代表着一个目录项,是查找到目标文件的路径的一个组成部分。

而在本文中,可以将学校中的学院看做VFS的超级块对象,其代表一个具体的已安装的文件系统。即在学校中,某个学院是已经存在的。该学院持有对本学院中特定的信息。

而对于这个查找进程所看见的学生均可看成学生对象也即VFS中的文件对象

-

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qls315

感觉好可打赏几毛钱增强更新动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值