os/fs/tmpfs/mod.rs
1//! Tmpfs - 内存临时文件系统
2//!
3//! 该模块提供了一个**完全驻留在内存中的文件系统**,支持完整的 POSIX 语义。
4//!
5//! # 组件
6//!
7//! - [`TmpFs`] - 文件系统结构,实现 `FileSystem` trait
8//! - [`TmpfsInode`] - Inode 实现,管理文件/目录数据
9//!
10//! # 设计概览
11//!
12//! ## 内存管理
13//!
14//! - **按需分配**:文件数据页在写入时才分配,节省内存
15//! - **容量限制**:可配置最大内存使用量,防止 OOM
16//! - **自动回收**:文件删除时物理页自动归还
17//!
18//! ## 架构特点
19//!
20//! - **无 BlockDevice 层**:直接管理物理帧,性能更好
21//! - **Arc 共享**:使用 `Arc` 实现多进程文件共享
22//! - **Weak 父引用**:避免循环引用导致内存泄漏
23//!
24//! # 使用示例
25//!
26//! ```rust
27//! use crate::fs::mount_tmpfs;
28//!
29//! // 挂载 64MB tmpfs 到 /tmp
30//! mount_tmpfs("/tmp", 64)?;
31//!
32//! // 无限制大小
33//! mount_tmpfs("/run", 0)?;
34//! ```
35//!
36//! # 性能特点
37//!
38//! - **高吞吐**:纯内存操作,无磁盘 I/O
39//! - **低延迟**:物理页直接访问,无需缓存管理
40//! - **并发安全**:使用 `SpinLock` 保护共享数据
41
42mod inode;
43mod tmpfs;
44
45pub use inode::TmpfsInode;
46pub use tmpfs::TmpFs;