简单介绍Linux虚拟文件系统–VFS

    Linux   中可以支持多种文件系统,而且支持各种文件系统之间相互访问,这是因为有一个虚拟文件系统。虚拟文件系统也叫虚拟文件系统转换(Virtual Filesys     te   m Switch,简称VFS),之所以说它虚拟,是因为该文件系统的各种数据结构都是随时建立或删除的,在盘上并不永久存在,只能存放在内存中。也就是说,只有VFS是无法工作的,因为它不是真正的文件系统。

 简单介绍Linux虚拟文件系统–VFS_设计制作_RF/无线

我们把各操作系统中的实际文件系统叫做逻辑文件系统,VFS是Linux 内核与这些逻辑文件系统的一个接口,它们之间的关系。

VFS是Linux 核心的一部分,其他内核子系统与VFS打交道,VFS又管理其他逻辑文件系统。所以VFS是文件系统和Linux 内核的接口,VFS以统一数据结构管理各种逻辑文件系统,接受用户层对文件系统的各种操作。

VFS存在的意义

1. 向上,对应用层提供一个标准的文件操作接口;

2. 对下,对文件系统提供一个标准的接口,以便其他操作系统的文件系统可以方便的移植到Linux上;

3. VFS内部则通过一系列高效的管理机制,比如inode cache, dentry cache 以及文件系统的预读等技术,使得底层文件系统不需沉溺到复杂的内核操作,即可获得高性能;

4. 此外VFS把一些复杂的操作尽量抽象到VFS内部,使得底层文件系统实现更简单。

通用文件模型

VFS为底层文件系统提供了抽象,有两种策略提供这种抽象。

1. 提供一个最小的通用模型,使得这个模型支持的功能是所有文件系统的最小交集

2. 提供一个尽量大的通用模型,使得这个模型包含所有文件系统功能的合集。

Linux采用第二种策略来实现VFS,因此VFS封装了底层文件系统的所有功能和抽象,VFS负责把应用层的请求转发给特定的文件系统。

在处理文件时,应用空间和内核空间使用的对象是不同的。对应用程序来说,文件描述符用来表示一个文件,这个文件描述符是打开文件时内核分配给这个文件的一个整数,注意,这个文件描述符只在本进程内有效;而对于内核来说,则使用一个inode来表示一个文件,这个inode可能对应着应用层多个进程内的多个文件描述符。



38
49
0
12

相关资讯

  1. 1、《等风来》热映刘雅瑟:我就是李热血2094
  2. 2、《追龙2》剧本过审,刘德华甄子丹原班人马回归,20亿票房稳了4363
  3. 3、张翰亚洲偶像盛典获两奖与郑爽默契对望献唱675
  4. 4、他年近50岁才走红,因“傲慢”闻名演艺圈,耄耋之年仍在演戏!1180
  5. 5、《小舍得》夏君山冲上热搜!佟大为详谈教育问题,获网友力赞3423
  6. 6、《王冠》第五季:艾玛·科林后,下一任戴安娜王妃将由她出演!_戴妃813
  7. 7、《霸王别姬》《英雄》都没能获奖,《少年的你》能获奥斯卡奖吗?1655
  8. 8、55岁张耀扬近照,身材消瘦墨镜不离身,竟然还晒得与古天乐一样4510
  9. 9、上映2天票房37万,又一部国产恐怖片票房扑街,网友:亏死活该2950
  10. 10、黎明女儿早早出镜,两个部位像足爸爸,天王送女儿两个字父爱爆棚2729
全部评论(0)
我也有话说
0
收藏
点赞
顶部