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

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

参考书籍: 王道考研

视频地址: Bilibili

虚拟文件系统

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

虚拟文件系统 VFS:

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

文件系统挂载(安装)

  1. 在 VFS 中注册新挂载的文件系统,内存中的挂载表包含每个文件系统的相关信息,包括文件系统类型、容量大小等
  2. 新挂载的文件系统,要向 VFS 提供一个函数地址列表
  3. 将新文件系统加到挂载点,也就是将新文件系统挂载在某个父目录下
相关推荐
Godspeed Zhao2 小时前
从零开始学AI25——无监督学习之层次聚类
学习·机器学习·聚类
David猪大卫9 小时前
【C++修炼】map 和 set 的使用
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
HPtiger9 小时前
C++ 入门笔记:从 C 到 C++ 的核心过渡(命名空间、输入输出、缺省参数、重载、引用、内联)
c语言·c++·学习
星恒随风9 小时前
MySQL 从零入门(三):表的约束详解
linux·服务器·数据库·笔记·mysql
fengci.11 小时前
CTF2MISC中等部分
开发语言·前端·学习
YueTann12 小时前
mgtv5th-baseline学习
学习
蒸蒸yyyyzwd14 小时前
从后端面经学到的 3 个知识
笔记·学习
17岁的勇气14 小时前
Unity Shader unity文档学习笔记(二十二):shader变体
笔记·学习·unity
坤坤子吖14 小时前
Linux网络编程:自定义应用层协议与 JSON 序列化
linux·服务器·网络·c++·笔记·json
路灯上の马陈16 小时前
Java 内部类 学习笔记
笔记·学习