模拟实现用位示图法管理制度文件存储空间的分配与回收.doc

模拟实现用位示图法管理制度文件存储空间的分配与回收.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
石河子大学 计算机科学与技术系 课程名称 操作系统原理 课程设计名称 位示图方法模拟磁盘块的分配与回收 专 业 班 级 10计科1班 学生姓名 蒋健波 学 生 学 号 2010508034 指 导 教 师 高新奇 实验题目 模拟用位示图法管理文件存储空间的分配与回收 实验目的:理解基本概念,掌握产生的几种方法,体会算法是的一种行之有效的方法。通过编写程序实现算法,进一步理解算法的原理和过程,掌握算法的描述和应用,进一步熟练掌握的方法。实验内容 (1)首先对算法原理进行深刻的理解和掌握; (2实验环境 , 1、初始化及使用数据结构 对数组WST[]元素初始化为0。定义以下3个链表并初始化。空闲区结构体定义free_link、申请空间作业结构体定义office、相关位示图操作的结构体定义work。 位示图算法是利用二进制的一位来表示磁盘中的一个盘块的使用情况。在外存上建立一张位示图(bitmap),记录文件存储器的使用情况。每一位仅对应文件存储器上的一个物理块,取值0和1分别表示空闲和占用。文件存储器上的物理块依次编号为:0、1、2、…。定义为一维数组WST[],操作起来更为方便。下表号与盘块号对应。在输出的时候控制输出为二维形式。 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 1 0 0 0 1 1 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1 2 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 3 ┇ 15 位示图 WST[i]=1; 3、回收空间算法 首先输入文件名,查找申请空间作业链表找到该作业。找到该作业时回收该盘块。回收时要判断盘块前后的是否为空。决定回收的盘块来加入哪个空闲区。 (1)if((WST[s-begin_location-1]==0WST[s-begin_location+s-office_number]==1s-begin_location-1=0)||(WST[s-begin_location-1]==0s-begin_location+s-office_number==256s-begin_location-1=0)){//前面为空盘块区,后面为已分配,并入前面 (2)if((WST[s-begin_location-1]==1WST[s-begin_location+s-office_number]==0s-begin_location+s-office_number256)||(s-begin_location==0WST[s-begin_location+s-office_number]==0s-begin_location+s-office_number256)){//后面为空盘,并入后面区域 (3)if(WST[s-begin_location-1]==0WST[s-begin_location+s-office_number]==0s-begin_location-1=0s-begin_location+s-office_number256){//前后都空,合为一个空盘区 (4)if((WST[s-begin_location-1]==1WST[s-begin_location+s-office_number]==1s-begin_location-1=0s-begin_location+s-office_number256)||(s-begin_location==0WST[s-begin_location+s-office_number]==1s-begin_location+s-office_number256)||(WST[s-begin_location-1]==1s-begin_location+s-office_number==256s-begin_location-1=0)||(s-begin_location==0s-begin_location+s-office_number==256)){//要回收的区域自成一个空盘结点 4.各算法流程图 盘块的分配: 否 是 否 是 否 是 盘块的回收: 是 是 否 是 否 是 否 是 五、记录实验结果并分析 1、在dos窗口界面下,我们看到的如下所示,这是程序初始化时出现的界面: 2现在我们对其进行操作:选择1—分配文件,出现如下界面: 我们不妨设文件名位“caozuoxitong”,并令块数为10,执行,得到如下的界

文档评论(0)

xingyuxiaxiang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档