




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计课程设计 题题 目目: 文文件件系系统统的的设设计计与与实实现现 学学 院院 :信信息息工工程程学学院院 系系 别别:计计算算机机系系 专专 业业: 计计算算机机科科学学与与技技术术 2011 年 12 月 30 日 内蒙古工业大学课程设计任务书 学院学院(系系):):信息学院信息学院计算机系计算机系 课程名称:课程名称:操作系统课程设计操作系统课程设计 指导教师(签名):指导教师(签名): 专业班级:专业班级: 计算机计算机09092 2 学生姓名:学生姓名: 学号:学号: 200920201039200920201039 一、课程设计题目一、课程设计题目 文件系统的设计与实现 二、课程设计的目的二、课程设计的目的 通过设计一个小型文件系统,进一步掌握文件管理的方法和技术,使学生 初步具有研究、设计、编制和调试操作系统模块的能力。 三、课程设计的主要内容和要求三、课程设计的主要内容和要求(包括原始数据、技术参数、设计要求、工 作量要求等) 原始数据:文件目录项结构体,盘块结构体。 技术参数:windows xp系统,vc+6.0开发工具。 设计要求: 1设计基于位示图的文件连续分配算法; 2设计显示文件目录、建立文件、显示文件内容、复制和删除文件算法; 3画出以上算法流程图; 4编程实现算法功能; 5编写课程设计说明书。 工作量要求:完成以上设计要求中的所有算法功能。 四、工作进度安排四、工作进度安排 周一:布置、讲解题目,收集资料; 周二:系统分析,算法设计; 周三:编制、调试程序; 周四:测试系统,形成设计结论,编写课设报告; 周五:系统及材料验收,课设答辩。 五、主要参考文献五、主要参考文献 1 张尧学编计算机操作系统教程(第三版)习题解答与实验指导北京:清 华大学出版社,2006 2 汤子瀛主编计算机操作系统(第三版) 西安:西安电子科技大学出版社, 2001 3 张坤等编操作系统实验教程北京:清华大学出版社,2008 审核批准意见审核批准意见 系(教研室)主任(签字)系(教研室)主任(签字) 1 目录 第一章第一章设计内容设计内容1 11 设计目的 1 12 设计要求 1 13 程序设计思想 1 第二章第二章 数据结构、算法和算法流程图数据结构、算法和算法流程图.2 21 数据结构 2 22 程序功能图 3 23 程序流程图 3 第三章第三章 程序运行结果及分析程序运行结果及分析7 31 程序运行结果 7 32 程序分析 8 第四章第四章 心得体会心得体会.9 参考文献参考文献10 附录附录 程序清单程序清单.11 1 第一章第一章设计内容设计内容 1 11 1 设计目的设计目的 通过设计一个小型文件系统,进一步掌握文件管理的方法和技术,使 学生初步具有研究、设计、编制和调试操作系统模块的能力。 1 12 2 设计要求设计要求 (1) 问题描述 在任一 os 下,建立一个大文件,把它假想成一张盘,在其中实现一个 简单的小型文件系统。 (2) 基本要求 该文件系统没有子目录机制,文件连续分配,不考虑换“盘”和分区。 做一个简单的操作界面,提供五条简单的命令: dir、mkfile、type、copy、delfile,分别用于显示文件目录、建立文件、显 示文件内容、复制和删除一个文件。 1 13 3 程序设计思想程序设计思想 阅读操作系统方面的书籍,了解操作系统的文件系统原理。结合分析 课程设计要求,确定实体以及它们之间的关系。实体关系有三张表(磁盘空 间分配表、文件表、打开文件表)、一个模拟磁盘的数组、命令服务和用户 构成。用户负责输入命令。命令服务实现命令的解释、命令检查、命令帮 助以及调用相关模块执行相应的命令功能。 建立一个系统文件(模拟盘) ,并对此进行盘块的划分,第一个盘块存 放文件目录,第二盘块存放盘块位示图,自第三个盘块开始存放各具体文 件的内容,文件目录存放文件的名字,文件的扩展名,开始盘块号,所占 用的盘块数目,文件的大小;盘块位示图用来标记盘块是否被占用。 构造这些实体的关系图,数据流图、程序流程图来进行具体的设计。 2 第二章第二章 数据结构、算法和算法流程图数据结构、算法和算法流程图 2 21 1 数据结构数据结构 数据结构说明:本程序所运用的主要有两个数据结构,分别如下: 文件目录结构: struct filename /文件目录项结构体 char name9; /文件名 char ext4; /扩展名 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)主程序流程图: 开始 初始化盘块 输入命令 分析命令 有无该命令? 显示错误信息 创建 文件 显示 目录 显示 内容 复制 文件 删除 文件 有 无 执行命令 结束 图 2.2 4 (2)初始化模块流程图: (3)写入磁盘流程图: (4)显示目录流程图: (5)显示文件流程图: 图 2.3 图 2.5 图 2.4 图 2.6 5 (6)删除文件流程图: (7)复制文件流程图: (8)创建文件流程图: 图 2.7 图 2.9 图 2.8 6 第三章第三章 程序运行结果及分析程序运行结果及分析 3 31 1 程序运行结果程序运行结果 (1)程序主界面 (2)创建一个文件,输入“3”显示“输入文件内容,按 键保存且退出!” (3)往文件里写内容:hello world!显示文件长度,并要求给文件命名,命名后保 存返回主界面 图 3.1 图 3.2 图 3.3 7 (4)读取刚才写入的文件,结果正确 (5)删除刚写入的文件,测试成功 3 32 2 程序分析程序分析 本程序使用一个 windows 下的文件来模拟一个磁盘,向磁盘中装入文件并进 行相关操作。采用了以空间换时间的算法,文件的大小在系统中是固定的,虽然 会浪费一些空间,但文件的存取速率会加快。 图 3.4 图 3.5 8 第四章第四章 心得体会心得体会 操作系统课程设计是本课程重要的实践教学环节。课程设计的目的,一方面使 学生更透彻地理解操作系统的基本概念和原理,使之由抽象到具体;另一方面,通 过课程设计加强学生的实验手段与实践技能,培养学生独立分析问题、解决问题、 应用知识的能力和创新精神。与本课程的实验教学相比,课程设计独立设课,具有 更多的学时,给学生更多自行设计、自主实验的机会,充分放手让学生真正培养学 生的实践动手能力,全面提高学生的综合素质。 在设计的过程中遇到问题,可以说得是困难重重,难免会遇到过各种各样的问 题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够 深刻,掌握得不够牢固,不过设计终于顺利完成了,在设计中遇到了很多编程问题, 最后在老师的辛勤指导下,终于游逆而解。同时,在老师的身上我学得到很多实用 的知识,再次我表示感谢!同时,对给过我们帮助的所有同学和各位指导老师再次 表示忠心的感谢! 在设计过程中,查询了不少相关资料,不断的发现问题、提出问题、解决问题。 在对自己所编写的源程序段的纠错的过程中,使我更好的理解了操作系统中文件系 统的理论知识,同时在编程时用到了模块化的设计思想,这种编程方法可以使我们 的编程变的更简单,可以使我们的查错与纠错变的更方便。总的来说通过这次的设 计的学习使我学到了很多在平时的学习中学不到的很多东西,通过这次课程设计, 使我对操作系统和编程产生兴趣,我想我会在这条路上继续前进下去。我相信,只 要不断的严格要求自己,注意培养自己的思维能力,就一定会有更大更辉煌的发展 和提高。 9 参考文献参考文献 1. 教材 1 张尧学主编计算机操作系统教程(第三版) 北京:清华大学出版社, 2006 2. 主要参考书 1 张尧学编计算机操作系统教程(第三版)习题解答与实验指导北京: 清华大学出版社,2006 2 汤子瀛主编计算机操作系统(第三版) 西安:西安电子科技大学出版社, 2001 3 张坤等编操作系统实验教程北京:清华大学出版社,2008 4 张丽芬等编操作系统实验教程北京:清华大学出版社,2006 5 andrew s.tanenbaum. modern operating systems, second edition.englewood cliffs,n.j,prentice hall, 2001 6 屠祁等编.操作系统基础(第三版) 北京:清华大学出版社,2000 7 冯耀霖等编.操作系统.西安:西安电子科技大学出版社,2001 8 左万历计算机操作系统教程(第二版) 北京:高等教育出版社,2004 10 附录附录 程序清单程序清单 #include “iostream.h“ #include “string“ #include “stdio.h“ extern “c“ void exit(int); struct filename /文件目录项结构体 char name12; /文件名 char ext8; /扩展名/扩展名较小设为 10 int i; /文件所占用磁盘块的第一个磁盘块号 int amount; /文件所占用磁盘块的块数 long int size; /文件大小 file20; int num; struct empty /盘块结构体 int map20; /盘块位示图 int filenum; /文件数量 emptytable; /模块说明: void systeminit() /模拟磁盘文件初始化函数 for(int i=2;i0; j-) /寻找一连续的空闲盘块 if(emptytable.mapm+j-1=1) sign=1; break; /if /for if(sign=0) break; m+=j-1; sign=0; / for if (m wordi=ch; if(ch=)break; if(ch!=) p=new struct strnode; q-next=p; q=p; j+; 19 while(ch!=); getchar(); int num1, size=(j*64+i)*sizeof(char); /j 为结构体的个数,i 为不足一个结构体 的字符数 / printf(“文件长度为:%dn“,size); char judge=n; do printf(“请输入文件的英文名字:“); gets(name); /scanf(“%s“,name);getchar(); printf(“请输入文件的扩展名:“); gets(ext1); /scanf(“%s“,ext1);getchar(); if(*ext1=0) strcpy(ext1,“txt“); judge=y; if(*name=0) printf(“错误!文件名不能为空!n“); printf(“是否放弃此文件y/n “); scanf(“%c“,getchar(); if( (judge=y) | (judge=y) ) return; while( (judge=n) | (judge=n) ); fseek(fp,512l,0); fread( rewind(fp); num=emptytable.filenum; /*for(i=0;i0) num1=num1+1; 20 strcpy(,name); /printf(“%d %s %s“,num,,name); strcpy(filenum.ext,ext1); filenum.size = size; filenum.amount=num1; int sign=0 ,n=0; /空间分配 for(int m=2 ; m 0; n-) if(emptytable.mapm+n-1=1) sign=1; break; /if /for if(sign=0)break; m+=n-1; sign=0; /if /for if(m0;j-) 21 ch=p-wordi+; fwrite( if(i=64) i=0; p=p-next; / cycle-; rewind(fp); for(j=0,i=0;i1.init sysfile:n“); printf(“2.dir:n“); printf(“3.create a file:n“); printf(“4.type:n“); printf(“5.copy:n“); printf(“6.delfile:n“); printf(“7.rename:n“); printf(“8.exit:n“); printf(“ :n“); printf(“如果这是第一次使用请先初始化!n“); void main() char k
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年生产经理高级面试模拟题及答案解析
- 2025注册验船师考试(C级船舶检验专业综合能力)仿真试题及答案二
- 2025年市场营销专业笔试全真模拟题及答案速递
- 2025年农村生态系统中碳汇管理知识要点与模拟题详解
- 桥梁养护法规与规范课件
- 2026届云南省昆明市外国语学校高三化学第一学期期中达标测试试题含解析
- 2025年老年护理学考查课试题及答案
- 2025年注册验船师资格考试(B级船舶检验专业基础安全)复习题及答案二
- 2025年陪诊医师考试题及答案新版解析
- 2025年电视台面试人员笔试全真模拟题集
- 2025-2030年中国滑雪板设备行业市场现状供需分析及投资评估规划分析研究报告
- 2025《中华人民共和国监察法实施条例》专题课件
- 口腔病区感染管理制度
- 内镜中心器械管理制度
- 学校食堂消防培训课件
- DB32/T 3626-2019秸秆有机肥制作技术规程
- 2025四川农商银行社会招聘800人笔试历年典型考题及考点剖析附带答案详解
- 2025至2030年中国H酸行业投资前景及策略咨询研究报告
- 物流运营方案策划与设计
- 电能计量装置错误接线分析-低压三相四线电能表错误接线分析
- 摩托车文化课件:全面了解摩托车的历史与现状
评论
0/150
提交评论