操作系统课程设计文件系统的设计与实现.doc
《操作系统课程设计文件系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《操作系统课程设计文件系统的设计与实现.doc(28页珍藏版)》请在三一办公上搜索。
1、学校代码: 学 号:课程设计题 目:文件系统的设计与实现 学生姓名:学 院:系 别:计算机系 专 业:班 级:指导教师: 内蒙古工业大学课程设计任务书(一)学院(系):信息学院计算机系 课程名称:操作系统课程设计 指导教师(签名): 专业班级: 软件工程 学生姓名: 学号: 一、课程设计题目文件系统的设计与实现二、课程设计的目的通过设计一个小型文件系统,进一步掌握文件管理的方法和技术,使学生初步具有研究、设计、编制和调试操作系统模块的能力。 三、课程设计的主要内容和要求(包括原始数据、技术参数、设计要求、工作量要求等) 原始数据:文件目录项结构体,盘块结构体。 技术参数:Windows XP系
2、统,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显示文件内容63.2.6复制文件73.2.7删除文件7第四章 程序调试及运行情况84.1初始化系统84.2创建文件84.3显示文件目录94.4显示文件内容104
4、.5复制文件104.6删除文件114.7退出系统12第五章 课程设计出现的问题及解决的方法13第六章 课程设计的体会与自我评价总结146.1课程设计的体会146.2自我评价与总结14参考文献15附 录16程序清单16第一章 设计内容1.1系统环境工具:C语言。在WINDOWS环境下使用VC+进行编译及运行。 1.2设计目的通过设计一个小型文件系统,进一步掌握文件管理的方法和技术,使学生初步具有研究、设计、编制和调试操作系统模块的能力。在任一OS下,建立一个大文件,把它假想成一张盘,在其中实现一个简单的小型文件系统。该文件系统没有子目录机制,文件连续分配,不考虑换“盘”和分区。做一个简单的操作界
5、面,提供五条简单的命令:dir、mkfile、type、copy、delfile,分别用于显示文件目录、建立文件、显示文件内容、复制和删除一个文件。1.3程序设计思想参阅操作系统方面的书籍,了解操作系统的文件系统原理。结合分析课程设计要求,确定各个功能块以及它们之间的关系。详细设计三个功能块的具体实现,从而确定数据结构所包含的内容。通过构造这些实体的关系图,数据流图、程序流程图来进行具体的设计。建立一个系统文件(模拟盘),并对此进行盘块的划分,第一个盘块存放文件目录,第二盘块存放盘块位示图,自第三个盘块开始存放各具体文件的内容,文件目录存放文件的名字,文件的扩展名,开始盘块号,所占用的盘块数目
6、,文件的大小;盘块位示图用来标记盘块是否被占用。在具体编程之前,设计好每个功能块的具体实现方法,从而可以节省时间和精力,提高速率。第二章 实现文件管理的数据结构 2.1数据结构设计该文件系统时,我用到了三个数据结构,分别是文件控制块FCB,盘块结构体和模拟盘块结构体,以下为三个数据结构的详细设计。/文件控制块typedef struct FCBchar name10;/文件名char ext4;/扩展名int i;/开始块号int amount;/所用总块数long int size;/文件大小struct FCB *next;FCB; /盘块结构体struct empty /盘块结构体 in
7、t map100; /盘块位示图 int filenum; /文件数量table; /模拟盘块的结构体(每个结构为一个盘块,共100个盘快)struct piece char text2;/每个盘块的大小为2个字节piec200;2.2 程序功能图文件系统提供的文件操作具有显示文件目录,建立文件,显示文件内容,复制文件和删除文件五项功能,用户可以通过输入每个功能的选项来进入每个功能块,完成相应的功能。如下为整个程序的功能图。 图2.1程序功能图第三章 算法和算法流程图 3.1整个系统的流程图文件系统提供的文件操作具有显示文件目录,建立文件,显示文件内容,复制文件和删除文件五项功能,用户可以通过
8、输入每个功能的选项来进入每个功能块,完成相应的功能。开始初始化盘块输入命令分析命令有无该命令?显示错误信息创建文件显示目录显示内容复制文件删除文件有无执行命令结束图2.1系统流程图3.2每个功能块的算法思想和流程图3.2.1初始化盘块建立一个系统文件(模拟盘),并对此进行盘块的划分,第一个盘块存放文件目录,表示为table.map0=1;第二盘块存放盘块位示图,表示为table.map1=1,自第三个盘块开始存放各具体文件的内容,用table.mapi=0表示盘块可用。文件系统自动进行初始化工作。 3.2.2用户选择功能创建一个友好界面void MainView(),清晰的列出各项功能块,用户
9、通过输入选项进行功能选择,在主函数中调用switch语句,用case语句清晰的调用各个功能块。当用户输入错误信息时给予提示。用default:printf(输入错误,请重新输入!n);语句实现。3.2.3显示文件目录显示已经创建的文件的名字,文件的扩展名,开始盘块号,所占用的盘块数目,文件的大小。通过这个功能可以查询文件是否创建成功,是否复制成功,是否删除成功。3.2.4创建文件这个功能块是整个程序的主要部分,每个盘块的字节为2,因此根据每个文件内容的大小应该合理的分配,避免造成文件内容的丢失,尤其是当又基数个字时,调用num=(strlen(tex)%2)?(strlen(tex)/2+1)
10、:(strlen(tex)/2)语句。同时,在创建文件时,由于该文件系统没有子目录机制,应该考虑文件重名的问题,通过if语句进行判断。整个文件系统是连续分配的,初始化point=2,从2号盘块开始连续存放,用for循环实现这个功能:for(int i=0;inext=p1-next删除。第四章 程序调试及运行情况4.1初始化系统4.2创建文件4.3显示文件目录文件目录存放文件的名字,文件的扩展名,开始盘块号,所占用的盘块数目,文件的大小4.4显示文件内容4.5复制文件通过显示文件目录,查看文件是否复制成功4.6删除文件通过显示文件目录,查看文件是否删除成功4.7退出系统第五章 课程设计出现的问
11、题及解决的方法1.在写个文件系统时,最难一点就是数据结构的表示方法,这是一个我们在大二学了数据结构以来,用到数据结构最全的,在做这个课程设计时,我们要不时的翻书来察看我们所需的知识点,在做的过程中,会不时的在结构体上再添加有关的内容,因为在第一次写的时候,还没有完全考虑好整个结构。2.由于一开始设计模型时过于简单,没有考虑文件重名的情况,导致在显示文件内容和删除文件时出现问题,因此在加入了判断文件重名的程序段后很好的解决了这一问题。3.在编写主函数时,参照老师给出的程序段,利用switch语句,将每个功能块清晰的呈现出来。4.由于所设计的每个盘块的大小为两个字节,当创建文件的大小为奇数个数时,
12、容易出现文件内容丢失的现象,添加如下这样的语句后可以避免文件内容丢失num=(strlen(tex)%2)?(strlen(tex)/2+1):(strlen(tex)/2);在通过运行实验时,或多或少的出现了很多问题,这些都是在通过调试,确定错误的根源,最后把错误都解决了。5.设计思想中提到,建立一个系统文件(模拟盘),并对此进行盘块的划分,第一个盘块存放文件目录,第二盘块存放盘块位示图,自第三个盘块开始存放各具体文件的内容,通过如下程序段实现文件系统的初始化。void SystemInit() for(int i=2;i100;i+) table.mapi=0;/0表示盘快可用 table
13、.map0=1;/0号盘块被目录占用 table.map1=1;/1号盘块被位示图占用 table.filenum=0;第六章 课程设计的体会与自我评价总结6.1课程设计的体会课程设计是培养学生综合运用所学知识,发现,提出,分析,提出和解决实际问题,锻炼实践能力重要环节,是对学生实际工作能力的具体训练和考察过程,回顾起这次为期一个星期的操作系统课程设计,使我感慨颇多,从选题到分析,从理论到实践,在整整一个星期的日子里,可以说是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固以前学过的知识,而且学到了很多在书本上所没有学过的知识。通过这次课程设计使我懂得了理论和实践相结合是很重要的,只有理
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 课程设计 文件系统 设计 实现
链接地址:https://www.31ppt.com/p-2387537.html