VFS--虚拟文件系统

一、什么是虚拟文件系统

虚拟文件系统(Virtual File System,VFS)是一种用于网络环境的分布式文件系统,它是允许操作系统使用不同的文件系统实现的接口。
VFS 对 Linux 每个文件系统的所有细节进行抽象,使得不同的文件系统在 Linux 内核以及系统中运行的其他进程看来都是相同的。严格说来,VFS 并不是一种实际的文件系统,它只存在于内存中,在系统启动时建立,在系统关闭时消亡。
它的作用是屏蔽各文件系统之间的差异,给用户、应用程序一个统一的接口。

二、 VFS定义的对象类型

超级块(super_block)每个文件系统都有一个超级块,它包含了文件系统的基本元数据信息,例如文件系统类型、大小、状态等,还包括其他与元数据相关的信息(元数据)
索引节点(inode)inode 是文件系统中的一个重要数据结构,用于存储文件或目录的元数据信息,比如文件的所有者、访问时间、文件类型、权限、大小等,同时还包含了block位置
文件对象(file)代表一个被进程打开并关联使用的文件,它包含了对应的 inode 指针、当前读写位置等信息
目录项(dentry)用于表示文件系统中的目录和文件,保存了文件(或目录)名称和具体的inode(索引节点)的对应关系

2.1 超级块

当inode剩余数为0时,磁盘就不可以再写入文件,同时block数量为0时也不可以。inode的数量比例和block数量比例不一致 ,一般inode的数量会少一点。(如果你的系统里面小文件过多,会造成你的inode耗尽 ,你的block还有)

查看文件系统用了多少inode 还剩多少inode

df -i

2.2 索引节点

查看文件系统的元信息

ext4文件xfs文件
dumpe2fsxfs_info

查看文件的inode号

ls -i 文件名

查看inode的信息

stat 文件名

2.3 目录项

文件名inode

三、文件系统如何读到文件

1、根据文件名通过目录项知道它的inode号
2、通过inode号找到inode table里的inode
3、通过inode里的block指针,找到对应的数据块

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值