Expand description
Tmpfs - 内存临时文件系统
该模块提供了一个完全驻留在内存中的文件系统,支持完整的 POSIX 语义。
§组件
TmpFs- 文件系统结构,实现FileSystemtraitTmpfsInode- 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;