1、 课程设计课程设计 题题 目 :目 : 文 件 系 统 的 设 计 与 实 现文 件 系 统 的 设 计 与 实 现 学 生 姓 名学 生 姓 名 : 胡 浩 亮胡 浩 亮 学学 院院 : 信 息 工 程 学 院: 信 息 工 程 学 院 系系 别 : 计 算 机 系别 : 计 算 机 系 专专 业 : 软 件 工 程业 : 软 件 工 程 班班 级 :级 : 指 导 教 师指 导 教 师 : 2009 年 1 月 15 日 摘摘 要要 设计一个小型的文件管理系统,在 XP 系统下,建立一个大文件,把它假想 成一张盘, 在其上实现小型文件管理系统。 该小型文件系统有一个简单的主界面, 提供五条
2、简单的命令:dir、mkfile、type、copy、delfile,分别用于显示文件目录、建立 文件、显示文件内容、复制和删除一个文件。 关键字:操作系统,课程设计,文件系统 目目 录录 第一章 设计内容 1 11 设计目的 1 12 设计要求 1 13 程序设计思想 . 1 第二章 数据结构、算法和算法流程图 2 21 数据结构 2 22 程序功能图 2 23 程序流程图 3 第三章 程序运行结果及分析 6 31 程序运行结果 . 6 32 程序分析 7 第四章 心得体会 . 8 参考文献 9 附录 程序清单 . 10 1 第一章第一章 设计内容设计内容 11 设计目的设计目的 通过设计一
3、个小型文件系统,进一步掌握文件管理的方法和技术,使学 生初步具有研究、设计、编制和调试操作系统模块的能力。 12 设计要求设计要求 (1) 问题描述 在任一 OS 下,建立一个大文件,把它假想成一张盘,在其中实现一个 简单的小型文件系统。 (2) 基本要求 该文件系统没有子目录机制,文件连续分配,不考虑换“盘”和分区。做一个简单 的操作界面,提供五条简单的命令:dir、mkfile、type、copy、delfile,分别用于显示文 件目录、建立文件、显示文件内容、复制和删除一个文件。 13 程序设计思想程序设计思想 阅读操作系统方面的书籍,了解操作系统的文件系统原理。结合分析课 程设计要求,
4、确定实体以及它们之间的关系。实体关系有三张表(磁盘空间 分配表、文件表、打开文件表)、一个模拟磁盘的数组、命令服务和用户构 成。用户负责输入命令。命令服务实现命令的解释、命令检查、命令帮助以 及调用相关模块执行相应的命令功能。 建立一个系统文件(模拟盘) ,并对此进行盘块的划分,第一个盘块存 放文件目录,第二盘块存放盘块位示图,自第三个盘块开始存放各具体文件 的内容,文件目录存放文件的名字,文件的扩展名,开始盘块号,所占用的 盘块数目,文件的大小;盘块位示图用来标记盘块是否被占用。 构造这些实体的关系图,数据流图、程序流程图来进行具体的设计。 2 第二章第二章 数据结构、算法和算法流程图数据结
5、构、算法和算法流程图 21 数据结构数据结构 数据结构说明:本程序所运用的主要有两个数据结构,分别如下: 文件目录结构: struct filename /文件目录项结构体 char name9; /文件名 char ext4; /扩展名 int i; /文件所占用磁盘块的第一个磁盘块号 int Amount; /文件所占用磁盘块的块数 long int size; /文件大小 ; 盘块结构: struct empty /盘块结构体 int map100; /盘块位示图 int filenum; /文件数量 ; 22 程序功能图程序功能图 文件系统提供的文件操作有建立文件(mkfile)、复制
6、文件(copy)、显示文件 模拟文件系统 显 示 内 容 显 示 目 录 创 建 文 件 复 制 文 件 删 除 文 件 图 2.1 3 所有内容(type)、删除文件(delfile)。可以通过键盘输入命令来模拟文件的操 作。 23 程序流程图程序流程图 (1)主程序流程图: 开始 初始化盘块 输入命令 分析命令 有无该命令? 显示错误信息 创建 文件 显示 目录 显示 内容 复制 文件 删除 文件 有 无 执行命令 结束 图 2.2 4 (2)初始化模块流程图: (3)写入磁盘流程图: (4)显示目录流程图: (5)显示文件流程图: 图 2.3 图 2.5 图 2.4 图 2.6 5 (6)删除文件流程图: (7)复制文件流程图: (8)创建文件流程图: 图 2.7 图 2.9 图 2.8 6 第三章第三章 程序运行