1、 课程设计报告课程设计报告 课程名称: 操作系统 课程设计题目: 多用户多级目录文件系统的实现 姓 名: 系: 专 业: 年 级: 学 号: 指导教师: 职 称: 2011-2012 学年 第一学期 目目 录录 1.设计思想说明 1 1 2.系统结构说明 1 1 3.数据结构说明 2 2 3.1 开发环境 2 3.2 数据存储 2 3.3 数据结构 2 3.3.1 数据块在内存中的物理结构 . 2 3.3.2 文件索引结构 . 2 3.3.3 文件系统中文件元素的结构(含文件夹和文件) . 3 3.3.4 文件系统结构 . 3 3.3.5 文件系统的当前运行状态 . 4 3.3.6 用户结构
2、. 4 4.各主要模块的算法流程图 4 4 4.1 整体思路概述 4 4.1.1login (用户登录) 4 4.1.2 系统初始化 . 5 4.1.3 文件的创建: create 5 4.1.4 文件的打开:open . 6 4.1.5 文件的读:read . 7 4.1.6 文件的写:write 8 4.1.7 文件关闭:close . 10 4.1.8 删除文件:delete 10 4.1.9 创建目录(建立子目录):mkdir . 11 4.1.10 改变当前目录:cd . 12 4.1.11 列出文件目录:dir 14 4.1.12 退出:logout . 错误错误! !未定义书签。
3、未定义书签。 4.2 算法流程图 . 错误错误! !未定义书签。未定义书签。 5.使用说明书 1515 5.1 登录 . 15 5.2 新建目录和列出文件目录 . 16 5.3 改变当前目录 . 16 5.4 文件的创建 . 16 5.5 文件的打开 . 17 5.6 文件的写 . 17 5.7 文件的读 . 17 5.8 文件的关闭 . 17 5.9 文件的删除 . 17 5.10 返回根目录 18 5.11 退出 18 6.总结 错误!未定义书签。 参考文献参考文献 1 1 1 课程设计题目名称 1.1. 设计设计思想说明思想说明 本课程设计要求设计一个模拟的多用户多级目录的文件系统。 通
4、过具体的文 件存储空间的管理、文件的物理结构、目录结构和文件操作的实现,加深对文件 系统内部功能和实现过程的理解。 2.2. 系统结构说明系统结构说明 2.1 在内存中开辟一个虚拟磁盘空间作为文件存储器,在其上实现一个多用户多 目录的文件系统。 2.2 文件物理结构可采用显式链接或其他方法。 2.3 磁盘空闲空间的管理可选择位示图或其他方法。如果采用位示图来管理文件 存储空间,并采用显式链接分配方式,则可以将位示图合并到 FAT 中。 2.4 文件目录结构采用多用户多级目录结构, 每个目录项包含文件名、 物理地址、 长度等信息,还可以通过目录项实现对文件的读和写的保护。 2.5 设计一个较实用
5、的用户界面,方便用户使用。要求提供以下相关文件操作: 2.5.1 具有 login (用户登录) 2.5.2 系统初始化(建文件卷、提供登录模块) 2.5.3 文件的创建: create 2.5.4 文件的打开:open 2.5.5 文件的读:read 2.5.6 文件的写:write 2.5.7 文件关闭:close 2.5.8 删除文件:delete 2.5.9 创建目录(建立子目录):mkdir 2.5.10 改变当前目录:cd 2.5.11 列出文件目录:dir 2.5.12 退出:logout 2 3.3. 数据结构说明数据结构说明 3.1 开发环境 Visual C+6.0 下的
6、win32 控制台程序,C 语言。 3.2 数据存储 在内存中申请 1M 的空间来模拟存取设备,空间划分为三部分,第一部分用 来存放位示图, 用于标识数据块的使用情况, 第二部分放置一个文件索引的数据, 用于快速的查找数据,第三部分放置数据信息,第三部分划分为 512 块,每块 512B,其 256K,放置在 1M 空间的最末端,由第三部分的大小可知,第一部分只 需 64B 即可,中间的部分用来存放文件索引。其他用到的存储单元由系统分配。 3.3 数据结构 3.3.1 数据块在内存中的物理结构 typedef struct fb unsigned FileBlockId; /文件块编号 unsigned BLOCK_SIZE; /文件块的容量 char *FileBlockAddr; /文件块地址 struct fb *next; /下一个文件块的地址 FileBlock; 3.3.2 文件索引结构 typedef struct unsigned Index; /文件