当前位置:
文档之家› 实验二 存储管理 操作系统实验报告
实验二 存储管理 操作系统实验报告
继续选择要求;测试数据:1;
输入表长;测试数据:15;
分配存储器地址,长度;测试数据:20,15;显示更新之后的存储分配表
如图所示:
继续选择要求;测试数据:2;
输入地址和表长;测试数据16,10;显示更新之后的存储分配表
继续选择要求;测试数据:2;
输入地址和表长;测试数据27,5;显示更新之后的存储分配表
学年第学期
操作系统课程
实验报告
学院:
专业:
班级:
姓名:
学号:
任课教师:
实验期:2017年5月21日
实验题目
实验二存储管理
实验地点
实验目的
1、理解动态异长存储分区资源管理,掌握所需数据结构和管理程序,了解各种
存储分配算法的优点和缺点。
2、按算法动态更新存储分配表,并将每次更新之后的存储分配表显示。
实
代码:
实
验
结果
根据提示输入存储资源表地址和表长;测试数据:0,100;
选择适应算法:最好适应算法输入b,最坏适应算法输入w;测试数据:b
初始化存储资源表;显示地址和表长<0100>
选择要求1.请求,2.释放,0.退出;测试数据:1;
输入表长;测试数据:20;
分配存储器地址,长度;测试数据:0,20;显示更新之后的存储分配表
验
内
容
1、分析UNIX最先适应(First Fit,FF)存储分配算法,即map数据结构、存储分配函数malloc()和存储释放函数mfree(),找出与算法有关的成分。
2、修改上述与算法有关的成分,使其分别体现BF(Best Fit,最佳适应)
分配原则和WF(Worst Fit,最环适应)分配原则。
如图所示:
遇到问题及解决方法
1、if(bp->m_size>==size)语句中多写一个等号,删除多余符号,即:
if(bp->m_size>=size)
{
a=bp->m_addr;
s=bp->m_size;
for(bpp=bp;bpp->m_size;bpp++)
2、bp->addr=a;语句中没有定义此名字,根据其余代码可知语句应改为:bp->m_addr=a;