1、0 操作系统操作系统 课课 程程 设设 计计 报报 告告 理论成绩理论成绩 实践成绩实践成绩 总成绩总成绩 院系: 信息管理学院 专业: 软件工程 班级: 组员: 教师: 时间: 2012.11 1 目录目录 一、课程设计的题目和目的 . 2 二、课程设计的实现的具体功能 . 2 三、文件系统的基本原理和概念 . 2 四、课程设计的分工 . 3 五、总体设计 . 4 六、详细设计 . 6 七、程序测试与测试结果 . 18 八、简要的使用说明 . 24 九、设计总结 . 24 十、程序设计源代码 . 25 2 一、课程设计的题目和目的课程设计的题目和目的 设计一个简单的文件系统,要求实现: (1
2、)支持多级目录结构; (2)实现的命令包 括建立目录、列目录、删除空目录、建立文件、删除文件、显示文件内容、打开文件、 读文件、写文件、关闭文件、改变文件属性。 本设计的目的是通过设计和调试一个简单的文件系统, 主要是模拟文件操作命令的 执行, 来模拟文件管理, 使我们对主要文件操作命令的实质和执行过程有比较深入的了 解,掌握它们的基本实施方法。 二、二、课程设计的实现的具体功能课程设计的实现的具体功能 1 支持多级目录结构,支持文件的绝对路径; 2 文件的逻辑结构采用流式结构,物理结构采用链接结构中的显示链接方式; 3 采用文件分配表; 4 实现的命令包括建立目录、列目录、删除空目录、建立文
3、件、删除文件、显示文件 内容、打开文件、读文件、写文件、关闭文件、改变文件属性。 三、三、文件系统的文件系统的基本原理和概念基本原理和概念 1、 文件系统设计需要解决的两个问题:一是如何定义对用户的接口。如定义文件机器 属性、文件所允许的操作、组织文件的目录结构;二是创建数据结构和算法来将逻 辑文件系统映射到物理外存设备上。文件系统存在于辅助存储器磁盘。 2、 文件的实现,需要建立磁盘结构,这个涉及到如何启动所存储的操作系统、磁盘总 的块数、空闲块的数目和位置、目录结构以及各个具体文件等。 3、 目录的实现:为了实现用户对文件的按名存取,系统必须首先利用用户提供的文件 名,对文件目录进行查询,
4、找出该文件的文件控制块 FCB,然后根据找到的 FCB 中所记录的文件物理地址,并根据文件物理组织方式找出文件的磁盘号,进而换算 出文件在磁盘上的物理位置,然后启动磁盘驱动程序,将所需文件读入内存。 4、 基于连接分配的磁盘空间:每个文件是磁盘块的链表:磁盘块可以分散在磁盘的任 何地方,目录包括文件第一块的指针和最后一块指针。本次设计采用的是文件分配 表 (FA T) , 它是连接分配方法的一个变种。 FA T 用于 MSDOS and OS/2 操作系统, 每个分区的开始部分用于存储该 FA T 表。 每块都在该表中有一项, 该表可通过块号 码来索引。 3 四、四、课程设计的分工课程设计的分
5、工 团队成员 负责模块 1、 用户界面的设计 2、 建立目录 3、 删除目录 4、 显示目录内容 5、 程序测试 6、 程序使用说明 1、 流程图的制作 2、 建立文件 3、 写文件 4、 读文件 5、 关闭文件 6、 删除文件 1、 课程设计的分析 2、 数据结构的设计 3、 打开文件 4、 显示文件内容 5、 改变文件的属性 6、 程序设计报告 4 五、五、总体设计总体设计 1、系统功能流程图:系统功能流程图: 文件系统 建 立 目 录 显 示 目 录 内 容 删 除 目 录 建 立 文 件 打 开 文 件 读 文 件 写 文 件 关 闭 文 件 删 除 文 件 显 示 文 件 内 容 改
6、 变 文 件 属 性 2、数据结构设计、数据结构设计 (1)目录结构目录结构 typedef struct char name3; /文件或目录名 char type2; /文件类型名 char attribute; /属性 char address; /文件或目录的起始盘块号 char length; /文件长度,以盘块为单位 content; (2)已达开文件表中读写指针的结构)已达开文件表中读写指针的结构 typedef struct int dnum; /磁盘盘块号 int bnum; /磁盘盘块内第几个字节 pointer; (3)已打开文件表项类型定义已打开文件表项类型定义 typedef struct char name20; /文件绝对路径名 5 char attribute; /文件的属性,用 1 个字节表示,char 类型 int number; /文件起始盘块号 int