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

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

一、虚拟文件系统

(一)普通的文件系统

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

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 @   Wind_730  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示