模拟实现用位示图法管理文件存储空间的分配与回收.doc
《模拟实现用位示图法管理文件存储空间的分配与回收.doc》由会员分享,可在线阅读,更多相关《模拟实现用位示图法管理文件存储空间的分配与回收.doc(23页珍藏版)》请在咨信网上搜索。
1、(完整word版)模拟实现用位示图法管理文件存储空间的分配与回收合肥学院计算机科学与技术系课程设计报告200112012 学年第 1 学期课程名称操作系统原理课程设计名称模拟实现用位示图法管理文件存储空间的分配与回收专 业 班 级学生姓名学 生 学 号指 导 教 师 20011 年11 月实验题目 模拟用位示图法管理文件存储空间的分配与回收一、 实验目的:1) 理解文件存储空间的分配与回收的基本概念,掌握产生文件存储空间的分配与回收的几种方法,体会位示图算法是管理文件存储空间的分配与回收的一种行之有效的方法。2) 通过编写程序实现位示图算法,进一步理解位示图算法的原理和执行过程,掌握位示图算法
2、的描述和应用,进一步熟练掌握文件存储空间的分配与回收的方法。二、 实验内容:(1)首先对位示图算法原理进行深刻的理解和掌握;(2)程序首先要给出位示图初态。分配时,参数为文件名及需要分配的块数。回收时,参数为文件名。(3)回答信息:分配时,能够分配时,给出文件名和分配的具体块号。否则,给出无法分配的信息。显示位示图。(4)回收时:给出回收的具体块号。显示位示图。三、 实验环境Windows系统,在的环境下来运行这儿程序四、 实验主要步骤1、初始化及使用数据结构对数组WST元素初始化为0。定义以下3个链表并初始化。空闲区结构体定义free_link、申请空间作业结构体定义office、相关位示图
3、操作的结构体定义work。位示图算法是利用二进制的一位来表示磁盘中的一个盘块的使用情况。在外存上建立一张位示图(bitmap),记录文件存储器的使用情况。每一位仅对应文件存储器上的一个物理块,取值0和1分别表示空闲和占用。文件存储器上的物理块依次编号为:0、1、2、。定义为一维数组WST,操作起来更为方便。下表号与盘块号对应。在输出的时候控制输出为二维形式。0123456789101112131415011000111001011101000111111000011121110001111110000315位示图2、申请空间算法首先要输入文件名和大小,查找与已存在的文件是否重名。没有,则比较空
4、闲区中空闲块数是否大于欲分配的块数。有的话分配。分配的时候该作业要记录下自己所占盘块的其实盘号和所占用的盘快数。并修改对应盘块的位示图的值。m=r-start_location;/空闲区的起始地址s-begin_location=r-start_location;/作业从空闲区的起始地址开始分配r-start_location=r-start_location+s-office_number;/改变空闲区空闲块数的起始地址r-free_number=r-free_number-s-office_number;/改变空间区块数的大小n=(r-start_location-1);/新的空间区的起始
5、地址-1for(i=m;ibegin_location-1=0&WSTs-begin_location+s-office_number=1&s-begin_location-1=0)|(WSTs-begin_location-1=0&s-begin_location+s-office_number=256&s-begin_location-1=0)/前面为空盘块区,后面为已分配,并入前面(2)if(WSTs-begin_location-1=1&WSTs-begin_location+s-office_number=0&s-begin_location+s-office_numberbegin
6、_location=0&WSTs-begin_location+s-office_number=0&s-begin_location+s-office_numberbegin_location-1=0&WSTs-begin_location+s-office_number=0&s-begin_location-1=0&s-begin_location+s-office_numberbegin_location-1=1&WSTs-begin_location+s-office_number=1&s-begin_location-1=0&s-begin_location+s-office_numb
7、erbegin_location=0&WSTs-begin_location+s-office_number=1&s-begin_location+s-office_numberbegin_location-1=1&s-begin_location+s-office_number=256&s-begin_location-1=0)|(s-begin_location=0&s-begin_location+s-office_number=256)/要回收的区域自成一个空盘结点Request()分配4.各算法流程图 盘块的分配:输入文件名,和块数.strcmp(s-office,u-office)
8、=0该文件是否已存在否r-free_number=s-office_number能否查找到一个足够的空闲区域是否是将该作业结点插入作业链表表尾,从该区域分配出对应大小空间,修改位示图当前空盘区块数是否分配完否是释放该空闲区结点,把修改work里面两个首地址返回Delect()回收盘块的回收:输入要查找的文件名,查找能否找到对应文件要回收的单元前为空是是把该单元块数加入前一个空闲区结点 否要回收的单元后为空是否把空闲区起始地址该为当前开始盘块空闲区盘块增加要回收的单元前后都空是结点空盘起始地址改为前一个,空闲区盘块增加要回收的单元自成空盘区结点否是把该结点插入空闲区链表修改位示图对应盘块的的内容
9、,删除该文件结点. 修改work里面两个首地址返回五、记录实验结果并分析1、在dos窗口界面下,我们看到的如下所示,这是程序初始化时出现的界面:2现在我们对其进行操作:选择1分配文件,出现如下界面:我们不妨设文件名位“caozuoxitong”,并令块数为10,执行,得到如下的界面:看到从第一行的第一列一直到第一行的第九列共10个盘块均已经被分配,并且令“0”该为“1”,表示盘块已分配。盘块的分配已经完成,下面是盘块的回收:选择2回收文件,出现如下界面:输入我们刚刚输入的文件名“caozuoxitong”,并回车,界面如下我们看到从第一行的第一列一直到第一行的第九列已经全部变为“0”了,表示此
10、时盘块已经回收。按“3”退出。对于程序中的其他的一些事项,比如盘块不够大;输入错误;找不到文件等情况,程序也给予相应的提示,用户在使用时,根据提示会很快改正相关的错误的。六、实验总结及体会。在做实验前,一定要将课本上的知识吃透,因为这是做实验的基础,否则,在老师讲解时就会听不懂,这将使你在做实验时的难度加大,浪费做实验的宝贵时间。如果你不清楚,在做实验时才去摸索,这将使你极大地浪费时间,使你事倍功半。做实验时,一定要亲力亲为,务必要将每个步骤,每个细节弄清楚,弄明白,实验后,还要复习,思考,这样,你的印象才深刻,记得才牢固,否则,过后不久你就会忘得一干二净,这还不如不做。做实验时,老师还会根据
11、自己的亲身体会,将一些课本上没有的知识教给我们,拓宽我们的眼界,使我们认识到这门课程在生活中的应用是那么的广泛。实验的过程全是我们学生自己动手来完成的,这样,我们就必须要弄懂实验的原理。在这里我深深体会到哲学上理论对实践的指导作用:弄懂实验原理,而且体会到了实验的操作能力是靠自己亲自动手,亲自开动脑筋,亲自去请教别人才能得到提高的。我们做实验绝对不能人云亦云,要有自己的看法,这样我们就要有充分的准备,若是做了也不知道是个什么实验,那么做了也是白做。七、源程序清单及注释。#includestdio.h#includemalloc.h#includewindows.h#includestring.
12、h#includeiostream.hint WST256;/*空闲区结构体定义start_location 空闲区对象变量的开始位置free_number 空闲区块数目next 指向下一个空闲区的指针*/typedef struct nodeint start_location;int free_number;struct node*next;free_link;/*申请空间作业结构体定义office 作业名begin_location 作业申请空间后的开始位置office_number 作业申请空间区的数目next 指向下一个申请空闲区的作业指针*/typedef struct linkc
- 配套讲稿:
如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。