版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、动态不等长存储资源分配算法集美大学诚毅学院信息工程系实验报告课程名称计算机操作系统序号名称实验六动态不等长存储资源分配算法姓名学号专业计算机0991日期2011.11.26成绩教师评语:1 .实验目的:1 .理解动态异长存储分区资源管理;2 .掌握所需结构和管理程序;3 .了解各种存储分配算法的优点和缺点;2 .实验环境linux3 .实验内容?按要求编写最佳适应算法(BF)、最坏适应算法(WF)和循环首次适应算法(NF);?编写测试数据:- 要求至少分配5次;- 释放区域、再次请求,能够检测是否满足要求:能够检查所采用的算法;- 释放时是否进行相邻区域合并;4.实验程序#ifdefHAVE_
2、CONFIG_H#include<config.h>#endif#include<stdio.h>#include<stdlib.h>#defineMAPSIZE100/最大100个空闲分区/空闲区域表structmapintm_addr;intm_size;一/定义100个单元的空闲分区表structmapmapMAPSIZE;intBF_malloc(structmap*mp,intsize)registerinta,s;registerstructmap*bp,*bpp;for(bp=mp;bp->m_size;bp+)if(bp->m_s
3、ize>=size)a=bp->m_addr;s=bp->m_size;for(bpp=bp;bpp->m_size;bpp+)if(bpp->m_size>=size&&bpp->m_size<s)a=bpp->m_addr;s=bpp->m_size;bp=bpp;bp->m_addr+=size;if(bp->m_size-=size)=0)dobp+;(bp-1)->m_addr=bp->m_addr;while(bp-1)->m_size=bp->m_size);retur
4、n(a);return(-1);/连续分区分配方式的内存回收算法mfree(structmap*mp,intsize,intaa)registerstructmap*bp;registerintt,a;a=aa;/要释放的起始地址for(bp=mp;bp->m_addr<=a&&bp->m_size!=0;bp+);if(bp>mp&&(bp-1)->m_addr+(bp-1)->m_size=a)(bp-1)->m_size+=size;if(a+size=bp->m_addr)(bp-1)->m_size
5、+=bp->m_size;while(bp->m_size)bp+;(bp-1)->m_addr=bp->m_addr;(bp-1)->m_size=bp->m_size;elseif(a+size=bp->m_addr&&bp->m_size)/与后合并bp->m_addr-=size;bp->m_size+=size;elseif(size)do/无合并t=bp->m_addr;bp->m_addr=a;a=t;t=bp->m_size;bp->m_size=size;bp+;while(s
6、ize=t);)voidinit()structmap*bp;intaddr,size;inti=0;bp=map;printf("Pleaseinputstartingaddressandtotalsize:");scanf("%d,%d”,&addr,&size);bp->m_addr=addr;bp->m_size=size;(+bp)->m_size=0;voidshow_map()inti=0;structmap*bp;bp=map;printf("nCurrentmemorymapn");print
7、f("AddressttSize'n");while(bp->m_size!=0)printf("<%dtt%d>n",bp->m_addr,bp->m_size);bp+;printf("n");main()inta,s;inti;init();do(show_map();printf("Pleaseinput:1forrequest,2forrelease,0forexit:n");scanf("%d",&i);switch(i)(case 1:
8、printf("Requestsize:");scanf("%d",&s);a=BF_ma110c(map,s);printf("Allocmemoryataddress:%d,size:%dn",a,s);break;case 2:printf("Pleaseinputaddressandsize:");scanf("%d,%d",&a,&s);mfree(map,s,a);break;case0:exit(0);while(1);5 .实验结果及其分析Pleasein
9、putstartingaddressandtotalsize:0f109CurrentmemorymapAddressSize<0109>Pleaseinput:1forrequest,2Torrelease,9forexit:1Requestsize:20Allocmemoryat3ddess:0,size;2GCurrentmemorymap.».AddressSize<2080>Oforexit:Oforexit:Pleaseinput:1forrequest,2forrelease1Requestsize:35Allocmemoryataddress:
10、20fsize:35CurrentmemorymapAddressSize<5545>Pleaseinput:1forrequest,2forrelease1Requestsize:15Allocmemoryataddress:55,size:15CurrentmemoryMapAddressSize<7030>Pleaseinput:1forrequestP2TorreleasereTorexit:2Pleaseinputaddressandsize:20r35Currentmemorym叩.Size35a3G>Address<20<70Pleaseinput:1farrequestr2forrelease,etorexit:1Requestsize:15Allocmemoryataddress:70Psize:15Currentmemorymap.”AddressSize<2035><8515>Pleaseinput:1forrequest,2forrelease,0Torexit:2Pleaseinputaddressandsize:0,2。Currentmemorymap.AddressSize<055><8515APleaseinput:1forreq
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基于2024年度的港口建设沉降观测合同
- 2024年度建筑工程合同:甲方建筑公司承包乙方房地产项目的施工建设
- 粮油质量检验员理论考试复习题及答案
- 种子委托代销合同模板
- 消毒设备供货合同范例
- 2024年度知识产权许可合同-关于某专利知识产权许可的详细合同3篇
- 2024宾馆承包经营的合同
- 房屋出租合同正式版
- 早教老师工作职责与任职要求(3篇)
- 工厂加装铁塔合同范例
- 预防与处理患者走失管理流程图
- 国家奖学金获得者事迹材料
- 会议安全应急处置保障方案
- 丰田车系卡罗拉(双擎)轿车用户使用手册【含书签】
- 众兴实验小学教育教学视导工作汇报
- 洁净区人员行为规范要求
- 全国辖省市县乡镇全录
- 办公室用电安全检查记录表
- 小学六年级学生基本音乐能力测评分析报告,音乐论文
- GB/T 31953-2023企业信用评价报告编制指南
- ISO13485-2016医疗器械质量管理体系内审及管理评审资料
评论
0/150
提交评论