Expand description
一个简单的文件系统实现。
本模块提供了一个独立于内核的简易文件系统(EasyFS), 用于 rCore 教学操作系统。
教程阅读建议:
- 先看
layout.rs:理解磁盘布局(superblock/inode/data); - 再看
efs.rs:理解文件系统创建/打开流程; - 最后看
vfs.rs:理解 inode 级别读写与目录操作接口。
Structs§
- Easy
File System - An easy file system on block
- File
Handle - Cached file metadata in memory
- Inode
- Virtual filesystem layer over easy-fs
- Open
Flags - Open file flags
- Pipe
Reader - 管道读端
- Pipe
Writer - 管道写端
- User
Buffer - Array of u8 slice that user communicate with os
- User
Buffer Iterator - 用户缓冲区迭代器
Constants§
- BLOCK_
SZ - Use a block size of 512 bytes
Traits§
- Block
Device - 教程说明: 这是 EasyFS 与具体硬件/驱动之间的最小抽象边界。 文件系统只依赖“按块读写”,不关心块设备底层是 virtio、内存盘还是其他介质。 Trait for block devices which reads and writes data in the unit of blocks
- FSManager
- 文件系统管理器 trait。
Functions§
- make_
pipe - 创建一个管道,返回读端和写端