2:题本身知识:
看见给的多,其实是降低难度的,剩下让
写的侧重考察思路。
(1) 文件系统核心是文件和文件目录(本质记
录地址的)
在目录 中有两 种:文 件 FCB 和目录 的
FCB ; 二 者 组 成 文 件 系 统 ; 用
DirectoryNode 中 type 分别)
如 文 件 NormalFile , 文 件 目 录
DirectoryFile(由多个 DirectoryNode 组成)
(2) init()函数:
建立了一个文件系统;(重要的告诉如何
创建文件 FCB 和目录 FCB)
只有在新建文件或目录时,才分配内存并
建其 FCB;(tag=1; 就表明了一切)
在执行删除文件或目录时要用
(3) 实现 6 个命令的关键点:
A:设全局变量
struct DirectoryFile root;
struct DirectoryFile *curOpeDirFile; // 记
录要操作的目录地址(如:create 命令,del 命
令中等)
struct DirectoryNode *curOpeDirNode; //
记录目录节点地址(如删除某个文件,删
除某个目录
B 关键
流程:如创建文件时,文件名唯一,才能
分配内存并建文件的 FCB 表(
体会递归思想:(4 显示所有目录和 6 删除
目录)
评论0