虚拟文件系统&文件系统挂载(安装)

虚拟文件系统&文件系统挂载(安装)

一、虚拟文件系统

(一)普通的文件系统

先来看不存在虚拟文件系统的普通文件系统,彼此之间实现同一功能的接口具有差异,比较混乱。

image

(二)VFS 虚拟文件系统 Virtual File System

为解决同时使用不同文件系统需要频繁改动底层代码的问题,引入虚拟文件系统。

VFS的特点:

  1. 向上层用户进程提供统一标准的系统调用接口,屏蔽底层具体文件系统的实现差异。

image

  1. VFS 要求下层的文件系统必须实现某些规定的函数功能,如:open/read/write 。一个新的文件系统想要在某操作系统上被使用,就必须满足该操作系统 VFS 的要求。

image

  1. 每打开一个文件, VFS 就在主存中新建一个 vnode,用统一的数据结构表示文件,无论该文件存储在哪个文件系统。

即不止2.的函数和接口,数据结构等也存在相同的问题和解决:

比如不同文件系统的目录项的数据结构差异

image

image

补充:inode 即 i 节点,即之前学习过的索引节点

重点:vnode 只存在于主存中,而 inode 既会被调入主存,也会在外存中存储。

image

二、文件系统挂载(mounting)

image

补充:挂载点即新文件系统挂载到的某个父目录下,如 Windows系统 和 MAC系统 挂载点位置如下:

image

posted @ 2024-12-15 21:06  Wind_730  阅读(49)  评论(0)    收藏  举报