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

上传人:aa****6 文档编号:30018041 上传时间:2018-01-26 格式:DOC 页数:28 大小:780.50KB
返回 下载 相关 举报
操作系统课程设计-文件系统的设计与实现_第1页
第1页 / 共28页
操作系统课程设计-文件系统的设计与实现_第2页
第2页 / 共28页
操作系统课程设计-文件系统的设计与实现_第3页
第3页 / 共28页
操作系统课程设计-文件系统的设计与实现_第4页
第4页 / 共28页
操作系统课程设计-文件系统的设计与实现_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《操作系统课程设计-文件系统的设计与实现》由会员分享,可在线阅读,更多相关《操作系统课程设计-文件系统的设计与实现(28页珍藏版)》请在金锄头文库上搜索。

1、课程设计题 目 : 文 件 系 统 的 设 计 与 实 现 学 生 姓 名 :学 院 :系 别 : 计 算 机 系 专 业 :班 级 :指 导 教 师 :学校代码: 学 号:内蒙古工业大学课程设计任务书(一)学院(系):信息学院计算机系 课程名称:操作系统课程设计 指导教师(签名): 专业班级: 软件工程 学生姓名: 学号: 一、课程设计题目文件系统的设计与实现二、课程设计的目的通过设计一个小型文件系统,进一步掌握文件管理的方法和技术,使学生初步具有研究、设计、编制和调试操作系统模块的能力。三、课程设计的主要内容和要求(包括原始数据、技术参数、设计要求、工作量要求等)原始数据:文件目录项结构体

2、,盘块结构体。技术参数:Windows XP系统,VC+6.0开发工具。设计要求: 1设计基于位示图的文件连续分配算法;2设计显示文件目录、建立文件、显示文件内容、复制和删除文件算法;3画出以上算法流程图;4编程实现算法功能;5编写课程设计说明书。工作量要求:完成以上设计要求中的所有算法功能。四、工作进度安排 周四:布置、讲解题目,收集资料;周五:系统分析,算法设计;周一:编制、调试程序;周二:测试系统,形成设计结论,编写课设报告;周三:系统及材料验收,课设答辩。五、主要参考文献1 张尧学编计算机操作系统教程(第三版)习题解答与实验指导北京:清华大学出版社,20062 汤子瀛主编计算机操作系统

3、(第三版) 西安:西安电子科技大学出版社,2001 3 张坤等编操作系统实验教程北京:清华大学出版社,2008审核批准意见系(教研室)主任(签字) 内蒙古工业大学操作系统课程设计目 录第一章 设计内容 .11.1 系统环境 .11.2 设计目的 .11.3 程序设计思想 .1第二章 实现文件管理的数据结构 .22.1 数据结构 .22.2 程序功能图 .2第三章 算法和算法流程图 .43.1 整个系统的流程图 .43.2 每个功能块的算法思想和流程图 .53.2.1 初始化盘块 .53.2.2 用户选择功能 .53.2.3 显示文件目录 .53.2.4 创建文件 .53.2.5 显示文件内容

4、.63.2.6 复制文件 .73.2.7 删除文件 .7第四章 程序调试及运行情况 .84.1 初始化系统 .84.2 创建文件 .84.3 显示文件目录 .94.4 显示文件内容 .104.5 复制文件 .104.6 删除文件 .114.7 退出系统 .12第五章 课程设计出现的问题及解决的方法 .13第六章 课程设计的体会与自我评价总结 .146.1 课程设计的体会 .146.2 自我评价与总结 .14参考文献 .15附 录 .16程序清单 .16内蒙古工业大学操作系统课程设计0第一章 设计内容1.1 系统环境工具:C 语言。在 WINDOWS 环境下使用 VC+进行编译及运行。 1.2

5、设计目的通过设计一个小型文件系统,进一步掌握文件管理的方法和技术,使学生初步具有研究、设计、编制和调试操作系统模块的能力。在任一 OS 下,建立一个大文件,把它假想成一张盘,在其中实现一个简单的小型文件系统。该文件系统没有子目录机制,文件连续分配,不考虑换“盘”和分区。做一个简单的操作界面,提供五条简单的命令:dir、mkfile、type、copy、delfile,分别用于显示文件目录、建立文件、显示文件内容、复制和删除一个文件。1.3 程序设计思想参阅操作系统方面的书籍,了解操作系统的文件系统原理。结合分析课程设计要求,确定各个功能块以及它们之间的关系。详细设计三个功能块的具体实现,从而确

6、定数据结构所包含的内容。通过构造这些实体的关系图,数据流图、程序流程图来进行具体的设计。建立一个系统文件(模拟盘) ,并对此进行盘块的划分,第一个盘块存放文件目录,第二盘块存放盘块位示图,自第三个盘块开始存放各具体文件的内容,文件目录存放文件的名字,文件的扩展名,开始盘块号,所占用的盘块数目,文件的大小;盘块位示图用来标记盘块是否被占用。在具体编程之前,设计好每个功能块的具体实现方法,从而可以节省时间和精力,提高速率。内蒙古工业大学操作系统课程设计1第二章 实现文件管理的数据结构 2.1 数据结构设计该文件系统时,我用到了三个数据结构,分别是文件控制块 FCB,盘块结构体和模拟盘块结构体,以下

7、为三个数据结构的详细设计。/文件控制块typedef struct FCBchar name10;/文件名char ext4;/扩展名int i;/开始块号int amount;/所用总块数long int size;/文件大小struct FCB *next;FCB;/盘块结构体struct empty /盘块结构体int map100; /盘块位示图int filenum; /文件数量table; /模拟盘块的结构体(每个结构为一个盘块,共 100 个盘快)struct piecechar text2;/每个盘块的大小为 2 个字节piec200;2.2 程序功能图文件系统提供的文件操作具

8、有显示文件目录,建立文件,显示文件内容,复制文件和删除文件五项功能,用户可以通过输入每个功能的选项来进入每个功能块,完成相应的功能。如下为整个程序的功能图。内蒙古工业大学操作系统课程设计2显示文件目录建立文件显示文件内容复制文件 删除文件文件系统图 2.1 程序功能图内蒙古工业大学操作系统课程设计3第三章 算法和算法流程图3.1 整个系统的流程图文件系统提供的文件操作具有显示文件目录,建立文件,显示文件内容,复制文件和删除文件五项功能,用户可以通过输入每个功能的选项来进入每个功能块,完成相应的功能。开始初始化盘块输入命令分析命令有无该命令? 显示错误信息创建文件显示目录显示内容复制文件删除文件

9、有无执行命令结束图 2.1 系统流程图内蒙古工业大学操作系统课程设计43.2 每个功能块的算法思想和流程图3.2.1 初始化盘块建立一个系统文件(模拟盘) ,并对此进行盘块的划分,第一个盘块存放文件目录,表示为 table.map0=1;第二盘块存放盘块位示图,表示为 table.map1=1,自第三个盘块开始存放各具体文件的内容,用 table.mapi=0 表示盘块可用。文件系统自动进行初始化工作。3.2.2 用户选择功能创建一个友好界面 void MainView(),清晰的列出各项功能块,用户通过输入选项进行功能选择,在主函数中调用 switch 语句,用 case 语句清晰的调用各个

10、功能块。当用户输入错误信息时给予提示。用 default:printf(输入错误,请重新输入!n);语句实现。3.2.3 显示文件目录显示已经创建的文件的名字,文件的扩展名,开始盘块号,所占用的盘块数目,文件的大小。通过这个功能可以查询文件是否创建成功,是否复制成功,是否删除成功。3.2.4 创建文件这个功能块是整个程序的主要部分,每个盘块的字节为 2,因此根据每个文件内容的大小应该合理的分配,避免造成文件内容的丢失,尤其是当又基数个字时,调用 num=(strlen(tex)%2)?(strlen(tex)/2+1):(strlen(tex)/2)语句。同时,在创建文件时,由于该文件系统没有子目录机制,应该考虑文件重名的问题,通过 if 语句进行判断。整个文件系统是连续分配的,初始化 point=2,从 2 号盘块开始连续存放,用 for 循环实现这个功能:for(int i=0;i n a m e , n a m e ) = = 0 ) & & ( s t r c m p( p 1 - e

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号