操作系统文件系统的设计与实现_课程设计

更新时间:2024-06-10 06:42:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

课程设计

题 目:文件系统的设计与实现 学 院:信息工程学院 系 别:计算机系

专 业:计算机科学与技术

2011年12月30日

内蒙古工业大学课程设计任务书

学院(系):信息学院计算机系 课程名称:操作系统课程设计 指导教师(签名): 专业班级: 计算机09-2 学生姓名: 学号: 200920201039

一、课程设计题目 文件系统的设计与实现 二、课程设计的目的 通过设计一个小型文件系统,进一步掌握文件管理的方法和技术,使学生初步具有研究、设计、编制和调试操作系统模块的能力。 三、课程设计的主要内容和要求(包括原始数据、技术参数、设计要求、工作量要求等) 原始数据:文件目录项结构体,盘块结构体。 技术参数:Windows XP系统,VC++6.0开发工具。 设计要求: 1.设计基于位示图的文件连续分配算法; 2.设计显示文件目录、建立文件、显示文件内容、复制和删除文件算法; 3.画出以上算法流程图; 4.编程实现算法功能; 5.编写课程设计说明书。 工作量要求:完成以上设计要求中的所有算法功能。 四、工作进度安排 周一:布置、讲解题目,收集资料; 周二:系统分析,算法设计; 周三:编制、调试程序; 周四:测试系统,形成设计结论,编写课设报告; 周五:系统及材料验收,课设答辩。 五、主要参考文献 [1] 张尧学编.计算机操作系统教程(第三版)习题解答与实验指导.北京:清华大学出版社,2006 [2] 汤子瀛主编.计算机操作系统(第三版).西安:西安电子科技大学出版社,2001 [3] 张坤等编.操作系统实验教程.北京:清华大学出版社,2008 审核批准意见 系(教研室)主任(签字)

目录

第一章

设计内容 .............................................................................................. 1

1.1 设计目的 .................................................................................................................................... 1 1.2 设计要求 .................................................................................................................................... 1 1.3 程序设计思想 ............................................................................................................................ 1

第二章 数据结构、算法和算法流程图 ............................................................... 2

2.1 数据结构 .................................................................................................................................... 2 2.2 程序功能图 ................................................................................................................................ 2 2.3 程序流程图 ................................................................................................................................ 3

第三章 程序运行结果及分析 .............................................................................. 6

3.1 程序运行结果 ............................................................................................................................ 6 3.2 程序分析 .................................................................................................................................... 7

第四章 心得体会 ................................................................................................. 8 参考文献 .............................................................................................................. 9 附录 程序清单 .................................................................................................... 10

1

第一章 设计内容

1.1 设计目的

通过设计一个小型文件系统,进一步掌握文件管理的方法和技术,使学生初步具有研究、设计、编制和调试操作系统模块的能力。

1.2 设计要求

(1) 问题描述

在任一OS下,建立一个大文件,把它假想成一张盘,在其中实现一个简单的小型文件系统。

(2) 基本要求

该文件系统没有子目录机制,文件连续分配,不考虑换“盘”和分区。做一个简单的操作界面,提供五条简单的命令:dir、mkfile、type、copy、delfile,分别用于显示文件目录、建立文件、显示文件内容、复制和删除一个文件。

1.3 程序设计思想

阅读操作系统方面的书籍,了解操作系统的文件系统原理。结合分析课程设计要求,确定实体以及它们之间的关系。实体关系有三张表(磁盘空间分配表、文件表、打开文件表)、一个模拟磁盘的数组、命令服务和用户构成。用户负责输入命令。命令服务实现命令的解释、命令检查、命令帮助以及调用相关模块执行相应的命令功能。

建立一个系统文件(模拟盘),并对此进行盘块的划分,第一个盘块存放文件目录,第二盘块存放盘块位示图,自第三个盘块开始存放各具体文件的内容,文件目录存放文件的名字,文件的扩展名,开始盘块号,所占用的盘块数目,文件的大小;盘块位示图用来标记盘块是否被占用。

构造这些实体的关系图,数据流图、程序流程图来进行具体的设计。

1

第二章 数据结构、算法和算法流程图

2.1 数据结构

数据结构说明:本程序所运用的主要有两个数据结构,分别如下: 文件目录结构:

struct filename {

//文件目录项结构体

char name[9]; //文件名 char ext[4]; //扩展名

int i; //文件所占用磁盘块的第一个磁盘块号

int Amount; //文件所占用磁盘块的块数 long int size; //文件大小 };

盘块结构:

struct empty { //盘块结构体

int map[100]; //盘块位示图 };

int filenum; //文件数量

2.2 程序功能图

模拟文件系统 创建文件 显示目录 显示内容 图2.1

复制文件 重命名 删除文件

2

文件系统提供的文件操作有建立文件(mkfile)、复制文件(copy)、显示文件所有内容(type)、删除文件(delfile)。可以通过键盘输入命令来模拟文件的操作。

2.3 程序流程图

(1)主程序流程图:

开始 初始化盘块 输入命令 分析命令 有无该命令? 有 无 显示错误信息 创建文件 显示目录 显示内容 复制文件 删除文件 执行命令 结束 图2.2

3

(2)初始化模块流程图:

图2.3

(3)写入磁盘流程图:

图2.4

(4)显示目录流程图:

图2.5

(5)显示文件流程图:

图2.6

4

(6)删除文件流程图: 图2.7

(7)复制文件流程图:

图2.8

(8)创建文件流程图:

图2.9

5

第三章 程序运行结果及分析

3.1 程序运行结果

(1)程序主界面

图3.1

(2)创建一个文件,输入“3”显示“输入文件内容,按@ 键保存且退出!”

图3.2

(3)往文件里写内容:Hello World!显示文件长度,并要求给文件命名,命名后保存返回主界面

图3.3

6

(4)读取刚才写入的文件,结果正确

图3.4

(5)删除刚写入的文件,测试成功

图3.5

3.2 程序分析

本程序使用一个Windows下的文件来模拟一个磁盘,向磁盘中装入文件并进行相关操作。采用了以空间换时间的算法,文件的大小在系统中是固定的,虽然会浪费一些空间,但文件的存取速率会加快。

7

本文来源:https://www.bwwdw.com/article/m4b6.html

Top