文件系统代码:https://download.csdn.net/download/qq_43617268/15120457
一、 实验目的
- 通过阅读和调试文件管理的模拟程序以加深对文件系统的理解。
二、 实验要求
- 每个小组给出该模拟文件系统中的各个模块的流程图及其各模块之间关系的说明(电子版)。
- 修改程序中的错误,调试完善模拟程序;
- 增加新的功能
三、 程序流程
流程图:
[1] user&password
[2] exit&cd
[3] mkdir&mkfile
[4] dir&del
[5] read&write
(1) read filename bytes,读取文件内容。
(2) write filename bytes,写文件。
四、 程序改错
(1) 当重复写入一个文件时,会先释放之前占用的盘块,再重新分配盘块,但是在显示的时候会出现乱序(open.cpp)
(1)原因分析:在释放之前占用盘块的时候,是从最开始的盘块先释放的,依次压入空闲栈,但是栈是先进后出,所以后面分配的时候就是先分配最后一个进栈的盘块。修改空闲盘块进栈的顺序即可。
(2)修改:
(3)改后结果
(2) 重复创建文件目录时提示错误;重复创建同一个文件时出错。