Skip to main content

Crate tg_easy_fs

Crate tg_easy_fs 

Source
Expand description

一个简单的文件系统实现。

本模块提供了一个独立于内核的简易文件系统(EasyFS), 用于 rCore 教学操作系统。

教程阅读建议:

  • 先看 layout.rs:理解磁盘布局(superblock/inode/data);
  • 再看 efs.rs:理解文件系统创建/打开流程;
  • 最后看 vfs.rs:理解 inode 级别读写与目录操作接口。

Structs§

EasyFileSystem
An easy file system on block
FileHandle
Cached file metadata in memory
Inode
Virtual filesystem layer over easy-fs
OpenFlags
Open file flags
PipeReader
管道读端
PipeWriter
管道写端
UserBuffer
Array of u8 slice that user communicate with os
UserBufferIterator
用户缓冲区迭代器

Constants§

BLOCK_SZ
Use a block size of 512 bytes

Traits§

BlockDevice
教程说明: 这是 EasyFS 与具体硬件/驱动之间的最小抽象边界。 文件系统只依赖“按块读写”,不关心块设备底层是 virtio、内存盘还是其他介质。 Trait for block devices which reads and writes data in the unit of blocks
FSManager
文件系统管理器 trait。

Functions§

make_pipe
创建一个管道,返回读端和写端