Module tmpfs

Module tmpfs 

Source
Expand description

Tmpfs - 内存临时文件系统

该模块提供了一个完全驻留在内存中的文件系统,支持完整的 POSIX 语义。

§组件

  • TmpFs - 文件系统结构,实现 FileSystem trait
  • TmpfsInode - Inode 实现,管理文件/目录数据

§设计概览

§内存管理

  • 按需分配:文件数据页在写入时才分配,节省内存
  • 容量限制:可配置最大内存使用量,防止 OOM
  • 自动回收:文件删除时物理页自动归还

§架构特点

  • 无 BlockDevice 层:直接管理物理帧,性能更好
  • Arc 共享:使用 Arc 实现多进程文件共享
  • Weak 父引用:避免循环引用导致内存泄漏

§使用示例

use crate::fs::mount_tmpfs;

// 挂载 64MB tmpfs 到 /tmp
mount_tmpfs("/tmp", 64)?;

// 无限制大小
mount_tmpfs("/run", 0)?;

§性能特点

  • 高吞吐:纯内存操作,无磁盘 I/O
  • 低延迟:物理页直接访问,无需缓存管理
  • 并发安全:使用 SpinLock 保护共享数据

Re-exports§

pub use inode::TmpfsInode;
pub use tmpfs::TmpFs;

Modules§

inode 🔒
Tmpfs Inode 实现
tmpfs 🔒
Tmpfs 文件系统实现