1、 课课 程程 设设 计计 课程名称_操作系统 _ 题目名称_文件管理系统_ _ 学生学院_计算机学院_ 专业班级_10 级计算机科学与技术 5 班 学 号_ _ 学生姓名_ _ 指导教师_ _ _ _ 2013 年 1 月 10 日 一一一一、课课课课程程程程设设设设计计计计题题题题目目目目和和和和目目目目的的的的 通过模拟文件系统的实现,深入理解操作系统中文件系统的理论知识, 加深对 教材中的重要算法的理解。同时通过编程实现这些算法,更好地掌握操作系统的原 理及实现方法,提高综合运用各专业课知识的能力。 二二二二、课课课课程程程程设设设设计计计计要要要要求求求求 通过课程设计,要求学生主要掌
2、握如下内容: (1)设计多用户文件系统,采用多级文件目录。 (2)至少要有十个以上的实用命令,应设置文件保护措施。 (3)设计一个较实用的用户界面,方便用户使用,界面要为用户提供足够的选择信息,不需用 户打入打入冗长的命令。 三三三三、程程程程序序序序设设设设计计计计思思思思想想想想 阅读操作系统方面的书籍,了解操作系统的文件系统原理。结合分析课 程设计要求,确定实体以及它们之间的关系。实体关系有三张表(磁盘空间分 配表、文件表、打开文件表)、一个模拟磁盘的数组、命令服务和用户构成。 用户负责输入命令。命令服务实现命令的解释、命令检查、命令帮助以及调 用相关模块执行相应的命令功能。 此课程设计
3、把 TXT 文本作来研究对象来模拟操作系统的文件系统工作过 程。所以用一个字符串数组来模拟磁盘空间,顾名思义,模拟磁盘提供字符 的存储服务。 磁盘空间分配表,采用链表结构,每个节点保存模拟磁盘的一个逻辑块 的信息,包括块的最大长度,文件占用长度,占用标志。如果占用标志为 0, 即该空间可分配给文件。初始化磁盘空间分配表链表,首先把整个模拟磁盘 作来一块,并置占用位为 0.当有进程申请磁盘空间时,从头开始遍历,检查 占用位,如果该块为可分配,则检查块大小,若块长度大于或等于申请空间 大小,则把块的前一部分(等于申请大小)分配给文件,并置标志位为占用。 剩下的大小作来一个新块,作来一个新节点插入到
4、原节点的后边,标志位为 可用。这样就实现了模拟磁盘的线性分配。 文件表,由于模拟文件系统的文件数量不多,故文件表采用线性表来存 储。线性表每个结点存储一个文件的信息。 打开文件表,采用数组形式存储打开的文件,数组每个元素保存一个打 开文件的信息。文件信息和文件表中的文件信息类似。 构造这些实体的关系图,数据流图、程序流程图来进行具体的设计。 四四四四、文文文文件件件件系系系系统统统统的的的的实实实实现现现现 1.数据结构设计 通过分析课程设计要求,具体设计出如下数据结构: char disk10000; /模拟磁盘空间 通过一个字符串数组来模拟磁盘空间,数组最大长度设置为 10000,即磁 盘空间最大容量为 10000 字节。作为模拟文件系统,主要理解文件系统的 原理,可以把文本文件作为对象来研究。故磁盘空间用一个字符串数组来 模拟. struct freeDiskTable /碰盘空间分配表 int star