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

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

参考书籍: 王道考研

视频地址: Bilibili

虚拟文件系统

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

虚拟文件系统 VFS:

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

文件系统挂载(安装)

  1. 在 VFS 中注册新挂载的文件系统,内存中的挂载表包含每个文件系统的相关信息,包括文件系统类型、容量大小等
  2. 新挂载的文件系统,要向 VFS 提供一个函数地址列表
  3. 将新文件系统加到挂载点,也就是将新文件系统挂载在某个父目录下
相关推荐
卡提西亚10 分钟前
C++笔记-20-对象特性
开发语言·c++·笔记
2301_7965125219 分钟前
Rust编程学习 - 内存分配机制,如何动态大小类型和 `Sized` trait
学习·算法·rust
秦明月131 小时前
EPLAN电气设计:快捷键版本差异解析
经验分享·学习·学习方法·设计规范
@大嘴巴子2 小时前
零基础学习计算机网络编程----理解http协议
学习·计算机网络·http
_Brooke_2 小时前
CS336笔记2-Architectures,Hyperparameters
笔记
笨鸟笃行2 小时前
百日挑战——单词篇(第十五天)
学习
Nebula_g2 小时前
C语言应用实例:斐波那契数列与其其他应用
c语言·开发语言·后端·学习·算法
奋斗的牛马3 小时前
FPGA—ZYNQ学习spi(六)
单片机·嵌入式硬件·学习·fpga开发·信息与通信
被遗忘的旋律.3 小时前
Linux驱动开发笔记(十九)——IIC(AP3216C驱动+MPU6050驱动)
linux·驱动开发·笔记
我命由我123453 小时前
Photoshop - Photoshop 工具栏(24)磁性套索工具
学习·ui·职场和发展·求职招聘·职场发展·课程设计·美工