一.设计说明 设计实现一个简单的模拟文件管理系统,包括目录文件、普通文件、i结点和存储区,具体要求如下: (1) 程序初始化时应构造如图 1-1所示的目录结构。 图 1-1 初始目录树 (2)在此模拟文件管理系统中可以实现的操作有: 改变目录:cd<目录名>,工作目录转移到指定的目录下。目录不存在时,给出错误信息。 创建文件:edit<文件名>,创建一个指定名字的新文件,即在目录中增加一项,不考虑文件的内容。对于重名文件给出错误信息。 删除文件:del<文件名>,当没在用户使用指定文件时,将其删除。文件不存在时给出错误信息。 显示目录:dir<目录名>,显示指定目录下的全部文件和第一级子目录,如果没有指定目录名,则显示当前目录下的相应内容。 创建目录:md<目录名>,在指定路径下创建指定的目录,如没有指定路径,则在当前目录下创建指定的目录。对于重名目录给出错误信息。 删除目录:rd<目录名>,删除指定目录及其下的全部文件和子目录。如果指定目录为空,可直接删除,否则给出用户提示是否删除。 其他说明: <目录名>和<文件名>都支持全路径名和相对路径名。 文件名由目录结构中各级文件名分量排列构成,各分量间用“/”隔开。 输入 exit命令可退出此模拟文件管理系统。 《操作系统原理》课程设计——模拟文件管理系统 1 二.工作原理 2.1 编译工具 本程序使用的函数均为标准 C库函数,可以由任何支持标准 C的编译器编译运行。 已经通过测试的编译环境如下: Windows平台:Visual C++ 6.0 使用方法:用 VC6打开 fileSys.c文件,执行 Build,根据对话框提示创建工程文件。Build完成即可用 Execute运行程序。 Linux平台: Gcc 2.96 使用方法:到 fileSys.c所在路径下,执行命令 gcc-o fileSys fileSys.c生成可执行文件 fileSys,执行./fileSys运行程序。 2.2 相关说明 支持相对路径和绝对路径: 相对路径如“cd user/file1↙”,“dir↙” 绝对路径如“cd /user/file1”(root指根目录)、“cd /user/file1↙”、“cd/↙”(表示对根目录操作) 如果命令或路径出错会有详尽的提示。 在新建文件或目录中,若文件名或目录名同名的文件或目录下已存在,则创建失败并给以提示。 CD命令中,如果遇到路径错误,将报错,并保持在当前路径下等待下一次命令。 如果有命令格式或者文件目录格式有错,系统将报错,并提示用户,允许重试。 不允许对文件操作的命令与对...