模拟实现用位示图法管理文件存储空间的分配与回收1.doc
《模拟实现用位示图法管理文件存储空间的分配与回收1.doc》由会员分享,可在线阅读,更多相关《模拟实现用位示图法管理文件存储空间的分配与回收1.doc(20页珍藏版)》请在咨信网上搜索。
1、计算机科学与技术学院操作系统综合试验报告(2016/2017学年第一学期)学生姓名:学生专业:网络工程学生班级:网络班学生学号:2指导教师:2016年12月12日计算机科学与技术学院综合试验任务书课程设计名称操作系统课程设计课程设计题目模拟实现用位示图法管理文件存储空间的分配与回收学生姓名专业班级网学号2综合试验任务内容问题描述 设计实现一个综合的应用程序。内容如下:(1)首先对位示图算法原理进行深刻的理解和掌握;(2)程序首先要给出位示图初态。分配时,参数为文件名及需要分配的块 数.回收时,参数为文件名.(3)回答信息:分配时,能够分配时,给出文件名和分配的具体块号。否则,给出无法分配的信息
2、。显示位示图.(4)回收时:给出回收的具体块号。显示位示图.基本要求 (1)理解文件存储空间的分配与回收的基本概念,掌握产生文件存储空间的分配与回收的几种方法,体会位示图算法是管理文件存储空间的分配与回收的一种行之有效的方法。(2)通过编写程序实现位示图算法,进一步理解位示图算法的原理和执行过程,掌握位示图算法的描述和应用,进一步熟练掌握文件存储空间的分配与回收的方法。测试要求 对每一个模块的功能进行黑盒测试,保证各个模块功能的正确性。指导教师: 时 间: 年 月 5 日目录第一章 功能需求描述11。1功能列表与说明11。2 操作界面11.3 界面操作1第二章 系统设计描述22。1 任务分解说
3、明22。2主要数据结构设计说明22。3主要函数接口说明2第三章算法设计描述53。1主要函数和函数的流程图53.1.1。 盘块的分配算法流程图53。2。2。盘块的回收算法流程图6第四章 开发过程描述74。1 程序源码74.2 程序中遇到的错误及错误原因74.3测试程序功能所用的数据和测试方法7第五章 设计心得体会8附录1 程序源代码9第一章 功能需求描述1.1功能列表与说明功能名称功能描述分配文件文件分配回收文件回收文件退出退出程序1.2 操作界面文件的存取和回收1。分配文件2。回收文件3.退出请输入选项:1.3 界面操作如图可以很清楚的看到可以输入1 2 3 三个数分别对应分配文件、回收文件、
4、退出三种操作。第二章 系统设计描述2。1 任务分解说明1。 位示图法系统初始化。2 .位示图法分配与回收算法。2.2主要数据结构设计说明1。空闲区结构体定义 typedefstruct nodeintstart_location; /空闲区对象变量的开始位置intfree_number; /空闲区块数目struct node*next; /指向下一个空闲区的指针free_link; 2. 申请空间作业结构体定义typedefstruct linkchar office20;/作业名intbegin_location;/作业申请空间后的开始位置intoffice_number;/作业申请空间区的
5、数目struct link next;/指向下一个申请空闲区的作业指针office;3。 相关位示图操作的结构体定义typedefstruct free_link p;/空间区链表指针office q;/作业链表指针work;2.3主要函数接口说明1.显示菜单函数void menu() 2. 置空位示图进行初始化voidzero_wst()inti;for(i=0;i256;i+) WSTi=0;3。 位示图输出显示将初始化或者申请或者回收后的位示图进行显示voidprint_wst(int WST256)4. 已经申请空间的作业相关情况输出显示包括:作业名、申请空间的开始位置和截至位置voi
6、dprint_office(work *w) 5。 位示图操作的初始化包括:空闲区链表的初始化、作业链表的初始化work *start() 6. 申请空间操作work *request(work w,int WST256) 7。 回收空间操作work *delect(work *w,int WET) 8。 主函数void main()int flag;work w;zero_wst();w=start();while(1)system(”cls”);print_wst(WST);print_office(w);menu();cinflag;switch(flag)case 1:w=reques
7、t(w,WST);break;case 2:w=delect(w,WST);break;case 3:exit(0);default:printf(输入错误,请重新输入!n);break;第三章算法设计描述3。1主要函数和函数的流程图3.1.1。 盘块的分配算法流程图Request()分配输入文件名,和块数.strcmp(s-office,u-office)=0该文件是否已存在否r-free_number=s-office_number能否查找到一个足够的空闲区域是否将该作业结点插入作业链表表尾,从该区域分配出对应大小空间,修改位示图是当前空盘区块数是否分配完否是释放该空闲区结点,把修改wor
8、k里面两个首地址返回图31 盘块的分配3.2。2.盘块的回收算法流程图Delect()回收输入要查找的文件名,查找能否找到对应文件要回收的单元前为空是是把该单元块数加入前一个空闲区结点否要回收的单元后为空是否把空闲区起始地址该为当前开始盘块空闲区盘块增加要回收的单元前后都空结点空盘起始地址改为前一个,空闲区盘块增加要回收的单元自成空盘区结点否把该结点插入空闲区链表是修改位示图对应盘块的的内容,删除该文件结点. 修改work里面两个首地址返回图32 盘块的回收算法流程图第四章 开发过程描述4。1 程序源码由于源码较长,单独附加在后面,见附录1程序源码4。2 程序中遇到的错误及错误原因编程中几乎没
9、有遇到什么大的问题,只有一些语法中的小错误,编译器就解决完毕。4.3测试程序功能所用的数据和测试方法此次测试使用黑盒测试方法,目的是测试功能是否跟预期一样测试用例预期输出实际输出输入1选择分配功能输出请输入文件名和块数输出请输入文件名和块数输入文件名和块数显示已有文件名:块数显示已有文件名:块数输入2选择回收输出请输入文件名输出请输入文件名第五章 设计心得体会1。准备越充分,实验越顺利。古人云,磨刀不误砍柴工。前期的知识储备、文献储备、材料准备、方法准备可以避免手忙脚乱,充分的预实验使你充满信心。一步一个脚印,就不必“从头再来”.最不能容忍的是在开始的几步偷懒,造成后面总有一些无法排除的障碍.
10、2。交流是最好的老师做实验遇到困难是家常便饭。你的第一反应是什么?反复尝试?放弃?看书?这些做法都有道理,但首先应该想到的是交流.对有身份的人,私下的请教体现你对他的尊重;对同年资的人,公开的讨论可以使大家畅所欲言,而且出言谨慎.千万不能闭门造车。一个实验折腾半年,后来别人告诉你那是死路,岂不冤大头?3。一半时间做实验,一半时间看文献。千万不能把时间全部消耗在实验台上。看文献、看书、看别人的操作、听别人的经验、研究别人的思路,边做边思考。要学会比较,不要盲从.否则,会被一些小小的问题困扰许久.附录1 程序源代码include”stdio.h”#includemalloc。h”include”w
11、indows。h#include”string。h/#includeiostream。h”#include iostreamusing namespace std;int WST256;/*空闲区结构体定义start_location 空闲区对象变量的开始位置free_number 空闲区块数目next 指向下一个空闲区的指针*/typedefstruct nodeintstart_location;intfree_number;struct nodenext;free_link;/*申请空间作业结构体定义office 作业名begin_location 作业申请空间后的开始位置office_
12、number 作业申请空间区的数目next 指向下一个申请空闲区的作业指针*/typedefstruct linkchar office20;intbegin_location;intoffice_number;struct link *next;office;/*相关位示图操作的结构体定义p 空间区链表指针q 作业链表指针*/typedefstruct free_link *p;office *q;work;/*程序菜单*/void menu()printf(” 文件的存取和回收n);printf( 1分配文件n”);printf(” 2-回收文件n”);printf(” 3退出nt”);p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模拟 实现 用位示图法 管理 文件 存储空间 分配 回收
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。