这是一个虚拟磁盘文件系统管理程序。
主要的功能是用一个二进制文件模拟一张磁盘,在上面实现了基本的文件系统操作和一个简单的shell交互,可以将宿主机的文件存入或读取出来。
vdfs所管理的磁盘大小为约为2MB(实际大小为2113.5KB),分布情况如下
VDFS磁盘分布信息
---------------------------------------------------------
| SB SuperBlock : 一个扇区(0号)
Info | IB InodeBitmap : 一个扇区(1号)
| DB DataBitmap : 一个扇区(2号)
---------------------------------------------------------
| Inodes : 128个扇区(共1024个Inode,1024/8=128个扇区)
Data |
| FileData : 4096个扇区(大小 2M, 共 2*1024*1024/512=4096个扇区)
---------------------------------------------------------
0 1 2 3 131 4227 扇区号
+---------------------------------------------------+
| | | | | |
|SB|IB|DB| Inodes | Data |
| | | | | |
+---------------------------------------------------+
1 1 1 128 4096 扇区数量
cd build
make clean
make
make完成后build
目录下会生成一个名为vdfs
的可执行文件,可运行之。
cd build
./vdfs
运行后会启动一个简易的shell,可以输入命令来执行,输入help
来获取帮助信息,输入help 命令名
获取命令的详细使用方法说明。
目前支持的命令有:
Command Description
------- -----------
exit 保存所有更改并退出shell
help 打印命令帮助信息
mount 加载虚拟磁盘文件
eject 卸载当前虚拟磁盘文件
mkfs 将磁盘格式化
ls 列出路径下的文件
cd 修改当前路径
cat 输出文件内容
save 将文件保存至虚拟磁盘
load 将文件从虚拟磁盘中取出
mkdir 在虚拟磁盘中创建目录
rm 将文件从虚拟磁盘中删除
更详细的使用方法请观看:使用方法asciinema演示
- [] 进行更完善的测试工作
- [] 进一步完善缓存等部分以减少I/O
- [] 运行错误处理规范化
- [] 支持更大的磁盘文件