永发信息网

什么是虚拟文件系统,linux系统文件系统

答案:2  悬赏:80  手机版
解决时间 2021-02-24 03:33
什么是虚拟文件系统,linux系统文件系统
最佳答案
1 引言
Linux 中允许众多不同的文件系统共存,如 ext2, ext3, vfat 等。通过使用同一套文件 I/O 系统 调用即可对 Linux 中的任意文件进行操作而无需考虑其所在的具体文件系统格式;更进一步,对文件的 操作可以跨文件系统而执行。如图 1 所示,我们可以使用 cp 命令从 vfat 文件系统格式的硬盘拷贝数据到 ext3 文件系统格式的硬盘;而这样的操作涉及到两个不同的文件系统。

图 1. 跨文件系统的文件操作

“一切皆是文件”是 Unix/Linux 的基本哲学之一。不仅普通的文件,目录、字符设备、块设备、 套接字等在 Unix/Linux 中都是以文件被对待;它们虽然类型不同,但是对其提供的却是同一套操作界面。

图 2. 一切皆是文件

而虚拟文件系统正是实现上述两点 Linux 特性的关键所在。虚拟文件系统(Virtual File System, 简称 VFS), 是 Linux 内核中的一个软件层,用于给用户空间的程序提供文件系统接口;同时,它也提供了内核中的一个 抽象功能,允许不同的文件系统共存。系统中所有的文件系统不但依赖 VFS 共存,而且也依靠 VFS 协同工作。
为了能够支持各种实际文件系统,VFS 定义了所有文件系统都支持的基本的、概念上的接口和数据 结构;同时实际文件系统也提供 VFS 所期望的抽象接口和数据结构,将自身的诸如文件、目录等概念在形式 上与VFS的定义保持一致。换句话说,一个实际的文件系统想要被 Linux 支持,就必须提供一个符合VFS标准 的接口,才能与 VFS 协同工作。实际文件系统在统一的接口和数据结构下隐藏了具体的实现细节,所以在VFS 层和内核的其他部分看来,所有文件系统都是相同的。图3显示了VFS在内核中与实际的文件系统的协同关系。

图3. VFS在内核中与其他的内核模块的协同关系

我们已经知道,正是由于在内核中引入了VFS,跨文件系统的文件操作才能实现,“一切皆是文件” 的口号才能承诺。而为什么引入了VFS,就能实现这两个特性呢?在接下来,我们将以这样的一个思路来切入 文章的正题:我们将先简要介绍下用以描述VFS模型的一些数据结构,总结出这些数据结构相互间的关系;然后 选择两个具有代表性的文件I/O操作sys_open()和sys_read()来详细说明内核是如何借助VFS和具体的文件系统打 交道以实现跨文件系统的文件操作和承诺“一切皆是文件”的口号。
全部回答

你好

虚拟文件系统(vfs)是由sun icrosystems公司在定义网络文件系统(nfs)时创造的。它是一种用于网络环境的分布式文件系统,是允许和操作系统使用不同的文件系统实现的接口。

优点是:

vfs使linux同时安装、支持许多不同类型的文件系统成为可能。vfs拥有关于各种特殊文件系统的公共界面,如超级块、inode、文件操作函数入口等。实际文件系统的细节,统一由vfs的公共界面来索引,它们对系统核心和用户进程来说是透明的。

linux 中经常使用 reiserfs 文件系统

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
中通快递 已收件,进入公司分捡.是发货了没啊
在蚕豆叶片中,含叶绿体数目最多的结构是BA.
林氏贤雅美容养生会所在哪里啊,我有事要去这
平原到鞍山多少公里
妖精会不会死?
宝宝四个月,想把羊奶粉换成牛奶粉,要怎么过
请问,关于worm.viking病毒~高手进,我中了worm
今年的荔枝产量是去年的112%,今年荔枝的产量
单选题Don'targue________yourbrother.Heis
雀巢饮用水是纯净水还是矿物质水?
什么事,什么人都不不停的改变着最原始的态度
身边的好友同学都结婚了。心急啊
某学校地理兴趣小组做了如下实验:做两个相同
手机开不了机 出现英文
莆田哪里有临时工招人的
推荐资讯
wood san school好吗
我家洗衣机甩干桶坏了,换个电容就行,电容是
北花园中路6号院西门在什么地方啊,我要过去
2016年8月30号下午1点生的男孩姓赵叫什么名字
招商银行一卡通工资卡换卡后工资能自动打入新
南宁市水产畜牧局地址在什么地方,想过去办事
Lenovo/联想 IdeaPad 300s-14ISK超薄6代I5超
石墨纤维与碳纤维相比,在制作方法、结构与主
两个数的和是98,一个加数增加7.36,另一个加数
天信投资担保我想知道这个在什么地方
港连驾校报名大厅这个地址在什么地方,我要处
合肥有那些好点的医学院?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?