文件系统的设计与实现

  • 格式:doc
  • 大小:1.31 MB
  • 文档页数:27

下载文档原格式

  / 27
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计

题 目:银行家算法的设计与实现 学生姓名:马国靖 学 院:信息工程学院 系 别:计算机系

专 业:计算机科学与技术 班 级:计算机11-1班 指导教师:赵俊生 副教授

秦俊平 副教授 2014年1月3日

学校代码: 10128 学 号: 201120201055

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

学院(系):信息学院计算机系课程名称:操作系统课程设计指导教师(签名):

专业班级:计11-1 学生姓名:马国靖学号: 201120201055

一、课程设计题目

文件系统的设计与实现

二、课程设计的目的

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

三、课程设计的主要内容和要求(包括原始数据、技术参数、设计要求、工作量要求等)

原始数据:文件目录项结构体,盘块结构体。

技术参数:Windows XP系统,VC++6.0开发工具。

设计要求:

1.设计基于位示图的文件连续分配算法;

2.设计显示文件目录、建立文件、显示文件内容、复制和删除文件算法;

3.画出以上算法流程图;

4.编程实现算法功能;

5.编写课程设计说明书。

工作量要求:完成以上设计要求中的所有算法功能。

四、工作进度安排

5.周一:布置、讲解题目,收集资料;

6.周二:系统分析,算法设计;

7.周三:编制、调试程序;

8.周四:测试系统,形成设计结论,编写课设报告;

9.周五:系统及材料验收,课设答辩。

五、主要参考文献

[1] 张尧学编.计算机操作系统教程(第三版)习题解答与实验指导.北京:清华大学出版社,2006

[2] 汤子瀛主编.计算机操作系统(第三版).西安:西安电子科技大学出版社,2001

[3] 张坤等编.操作系统实验教程.北京:清华大学出版社,2008

审核批准意见

系(教研室)主任(签字)

目录

内蒙古工业大学课程设计任务书(一) 0

第一章设计内容 (1)

1.1系统环境 (1)

1.2设计目的 (1)

1.3程序设计思想 (1)

第二章实现文件管理的数据结构 (2)

2.1数据结构 (2)

2.2 程序功能图 (2)

第三章算法和算法流程图 (4)

3.1整个系统的流程图 (4)

3.2每个功能块的算法思想和流程图 (5)

3.2.1初始化盘块 (5)

3.2.2用户选择功能 (5)

3.2.3创建目录 (5)

3.2.4显示文件目录 (6)

3.2.5显示文件内容 (6)

3.2.6复制文件 (7)

3.2.7删除文件 (8)

第四章程序调试及运行情况 (8)

4.1初始化系统 (8)

4.2创建文件 (8)

4.3显示文件目录 (10)

4.4显示文件内容 (10)

4.5复制文件 (11)

4.6删除文件 (12)

4.7退出系统 (13)

第五章课程设计出现的问题及解决的方法 (14)

第六章课程设计的体会与自我评价总结 (15)

6.1课程设计的体会 (15)

6.2自我评价与总结 (15)

参考文献 (16)

附录 (17)

程序清单 (17)

第一章设计内容

1.1系统环境

工具:C语言。

在WINDOWS环境下使用VC++进行编译及运行。

1.2设计目的

通过设计一个小型文件系统,进一步掌握文件管理的方法和技术,使学生初步具有研究、设计、编制和调试操作系统模块的能力。在任一OS下,建立一个大文件,把它假想成一张盘,在其中实现一个简单的小型文件系统。

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

1.3程序设计思想

参阅操作系统方面的书籍,了解操作系统的文件系统原理。结合分析课程设计要求,确定各个功能块以及它们之间的关系。详细设计三个功能块的具体实现,从而确定数据结构所包含的内容。通过构造这些实体的关系图,数据流图、程序流程图来进行具体的设计。

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

在具体编程之前,设计好每个功能块的具体实现方法,从而可以节省时间和精力,提高速率。

第二章实现文件管理的数据结构

2.1数据结构

设计该文件系统时,我用到了三个数据结构,分别是文件控制块FCB,盘块结构体和模拟盘块结构体,以下为三个数据结构的详细设计。

//文件控制块

typedef struct FCB

{

char name[10];//文件名

char ext[4];//扩展名

int i;//开始块号

int amount;//所用总块数

long int size;//文件大小

struct FCB *next;

}FCB;

//盘块结构体

struct empty { //盘块结构体

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

int filenum; //文件数量

}table;

//模拟盘块的结构体(每个结构为一个盘块,共100个盘快)

struct piece

{

char text[2];//每个盘块的大小为2个字节

}piec[200];

2.2 程序功能图

文件系统提供的文件操作具有显示文件目录,建立文件,显示文件内容,复制文件和删除文件五项功能,用户可以通过输入每个功能的选项来进入每个功能块,完成相应的功能。如下为整个程序的功能图。