《操作系统文件系统的设计与实现_课程设计》由会员分享,可在线阅读,更多相关《操作系统文件系统的设计与实现_课程设计(26页珍藏版)》请在金锄头文库上搜索。
1、 课程设计课程设计题题 目目: 文文件件系系统统的的设设计计与与实实现现 学学 院院 :信信息息工工程程学学院院系系 别别:计计算算机机系系 专专 业业: 计计算算机机科科学学与与技技术术 2011 年 12 月 30 日内蒙古工业大学课程设计任务书学院学院(系系):):信息学院信息学院计算机系计算机系 课程名称:课程名称:操作系统课程设计操作系统课程设计 指导教师(签名):指导教师(签名): 专业班级:专业班级: 计算机计算机09092 2 学生姓名:学生姓名: 学号:学号: 200920201039200920201039 一、课程设计题目一、课程设计题目 文件系统的设计与实现二、课程设计
2、的目的二、课程设计的目的 通过设计一个小型文件系统,进一步掌握文件管理的方法和技术,使学生 初步具有研究、设计、编制和调试操作系统模块的能力。三、课程设计的主要内容和要求三、课程设计的主要内容和要求(包括原始数据、技术参数、设计要求、工 作量要求等)原始数据:文件目录项结构体,盘块结构体。技术参数:Windows XP系统,VC+6.0开发工具。 设计要求: 1设计基于位示图的文件连续分配算法;2设计显示文件目录、建立文件、显示文件内容、复制和删除文件算法;3画出以上算法流程图;4编程实现算法功能;5编写课程设计说明书。工作量要求:完成以上设计要求中的所有算法功能。四、工作进度安排四、工作进度
3、安排 周一:布置、讲解题目,收集资料; 周二:系统分析,算法设计; 周三:编制、调试程序; 周四:测试系统,形成设计结论,编写课设报告; 周五:系统及材料验收,课设答辩。五、主要参考文献五、主要参考文献 1 张尧学编计算机操作系统教程(第三版)习题解答与实验指导北京:清 华大学出版社,2006 2 汤子瀛主编计算机操作系统(第三版) 西安:西安电子科技大学出版社, 2001 3 张坤等编操作系统实验教程北京:清华大学出版社,2008 审核批准意见审核批准意见系(教研室)主任(签字)系(教研室)主任(签字) 1目录第一章第一章设计内容设计内容.111 设计目的 .112 设计要求 .113 程序
4、设计思想 .1第二章第二章 数据结构、算法和算法流程图数据结构、算法和算法流程图.221 数据结构 .222 程序功能图 .323 程序流程图 .3第三章第三章 程序运行结果及分析程序运行结果及分析.731 程序运行结果 .732 程序分析 .8第四章第四章 心得体会心得体会.9参考文献参考文献.10附录附录 程序清单程序清单.111第一章第一章设计内容设计内容1 11 1 设计目的设计目的通过设计一个小型文件系统,进一步掌握文件管理的方法和技术,使学生初步具有研究、设计、编制和调试操作系统模块的能力。1 12 2 设计要求设计要求(1) 问题描述在任一 OS 下,建立一个大文件,把它假想成一
5、张盘,在其中实现一个简单的小型文件系统。(2) 基本要求该文件系统没有子目录机制,文件连续分配,不考虑换“盘”和分区。做一个简单的操作界面,提供五条简单的命令:dir、mkfile、type、copy、delfile,分别用于显示文件目录、建立文件、显示文件内容、复制和删除一个文件。1 13 3 程序设计思想程序设计思想阅读操作系统方面的书籍,了解操作系统的文件系统原理。结合分析课程设计要求,确定实体以及它们之间的关系。实体关系有三张表(磁盘空间分配表、文件表、打开文件表)、一个模拟磁盘的数组、命令服务和用户构成。用户负责输入命令。命令服务实现命令的解释、命令检查、命令帮助以及调用相关模块执行
6、相应的命令功能。建立一个系统文件(模拟盘) ,并对此进行盘块的划分,第一个盘块存放文件目录,第二盘块存放盘块位示图,自第三个盘块开始存放各具体文件的内容,文件目录存放文件的名字,文件的扩展名,开始盘块号,所占用的盘块数目,文件的大小;盘块位示图用来标记盘块是否被占用。构造这些实体的关系图,数据流图、程序流程图来进行具体的设计。2第二章第二章 数据结构、算法和算法流程图数据结构、算法和算法流程图2 21 1 数据结构数据结构数据结构说明:本程序所运用的主要有两个数据结构,分别如下:文件目录结构:struct filename /文件目录项结构体 char name9; /文件名char ext4
7、; /扩展名int i; /文件所占用磁盘块的第一个磁盘块号int Amount; /文件所占用磁盘块的块数long int size; /文件大小;盘块结构:struct empty /盘块结构体int map100; /盘块位示图int filenum; /文件数量; 2 22 2 程序功能图程序功能图模拟文件系统显示 内容显示 目录创建 文件复制 文件删除 文件图 2.1重 命 名3文件系统提供的文件操作有建立文件(mkfile)、复制文件(copy)、显示文件所有内容(type)、删除文件(delfile)。可以通过键盘输入命令来模拟文件的操作。2 23 3 程序流程图程序流程图(1)
8、主程序流程图:开始初始化盘块输入命令分析命令有无该命令?显示错误信息创建 文件显示 目录显示 内容复制 文件删除 文件有无执行命令结束图 2.24(2)初始化模块流程图:(3)写入磁盘流程图:(4)显示目录流程图:(5)显示文件流程图:图 2.3 图 2.5图 2.4图 2.65(6)删除文件流程图:(7)复制文件流程图:(8)创建文件流程图:图 2.7图 2.9图 2.86第三章第三章 程序运行结果及分析程序运行结果及分析3 31 1 程序运行结果程序运行结果(1)程序主界面(2)创建一个文件,输入“3”显示“输入文件内容,按 键保存且退出!”(3)往文件里写内容:Hello World!显
9、示文件长度,并要求给文件命名,命名后保存返回主界面图 3.1图 3.2图 3.37(4)读取刚才写入的文件,结果正确(5)删除刚写入的文件,测试成功3 32 2 程序分析程序分析本程序使用一个 Windows 下的文件来模拟一个磁盘,向磁盘中装入文件并进行相关操作。采用了以空间换时间的算法,文件的大小在系统中是固定的,虽然会浪费一些空间,但文件的存取速率会加快。图 3.4图 3.58第四章第四章 心得体会心得体会操作系统课程设计是本课程重要的实践教学环节。课程设计的目的,一方面使学生更透彻地理解操作系统的基本概念和原理,使之由抽象到具体;另一方面,通过课程设计加强学生的实验手段与实践技能,培养
10、学生独立分析问题、解决问题、应用知识的能力和创新精神。与本课程的实验教学相比,课程设计独立设课,具有更多的学时,给学生更多自行设计、自主实验的机会,充分放手让学生真正培养学生的实践动手能力,全面提高学生的综合素质。在设计的过程中遇到问题,可以说得是困难重重,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,不过设计终于顺利完成了,在设计中遇到了很多编程问题,最后在老师的辛勤指导下,终于游逆而解。同时,在老师的身上我学得到很多实用的知识,再次我表示感谢!同时,对给过我们帮助的所有同学和各位指导老师再次表示忠心的感谢!在设计过程中,查询了不少相关资料,不断的发现问题、