【操作系统学习笔记】文件管理2.3

【操作系统学习笔记】文件管理2.3

参考书籍: 王道考研

视频地址: Bilibili

虚拟文件系统

由于不同的硬件需要不用的文件系统,会导致写代码非常复杂

虚拟文件系统 VFS:

  • 向上层用户进程提供统一标准的系统调用接口,屏蔽底层具体文件系统的实现差异
  • VFS 要求下层的文件系统必须实现某些规定的函数功能。一个新的文件系统想要在某操作系统上被支持,就必须要满足该操作系统 VFS 的要求
  • 每打开一个文件,VFS 就在主存中新建一个 vnode,用统一的数据结构表示文件,无论该文件存储在哪个文件系统
    • vnode 只存在于主存之中,而 inode 存在于主存和外村
    • vnode 的函数功能指针指向对应文件系统的函数功能列表

文件系统挂载(安装)

  1. 在 VFS 中注册新挂载的文件系统,内存中的挂载表包含每个文件系统的相关信息,包括文件系统类型、容量大小等
  2. 新挂载的文件系统,要向 VFS 提供一个函数地址列表
  3. 将新文件系统加到挂载点,也就是将新文件系统挂载在某个父目录下
相关推荐
憧憬成为原神糕手9 分钟前
FFmpeg 音视频开发笔记(一):H.264 解码为 YUV
笔记·ffmpeg·音视频
爱听歌的周童鞋14 分钟前
Learn-Claude-Code | 笔记 | Collaboration | s11 Autonomous Agents
笔记·llm·agent·claude code·collaboration·autonomous
05候补工程师35 分钟前
[线性代数] 判定线性相关性的“降维打击”:从基本定理到速通特殊法
经验分享·笔记·学习·线性代数·考研
太阳上的雨天1 小时前
AI学习ing~
学习·ai·ai编程
麦田里的粮仓1 小时前
文档站点生成器 - Fumadocs
学习
技术小结-李爽2 小时前
【学习】怎样把“提问题”推荐给别人
学习
sweetheart7-72 小时前
go/golang 入门学习笔记(Java/Python/C++转Go快速上手)
笔记·学习·golang·go语言
꧁꫞꯭零꯭点꯭꫞꧂2 小时前
FastAPI入门学习
学习·fastapi
Byron__2 小时前
Java JVM核心知识点复习笔记
java·jvm·笔记
爱莉希雅&&&2 小时前
MySQL MGR + MySQL Router 高可用集群完整笔记(含手动配置 + Shell 接管双路线)
linux·数据库·笔记·mysql·mysqlrouter·mysqlshell