伙伴存储系统演示,数据结构课程设计,求源代码,马上要答辩,没有时间做啦! 40
【问题描述】伙伴存储管理系统是一种巧妙而有效的方法。试写一个演示系统,演示分配和回收存储块前后的存储空间状态变化。【基本要求】程序应不断地从终端读取整数n。每个整数是一个...
【问题描述】
伙伴存储管理系统是一种巧妙而有效的方法。试写一个演示系统,演示分配和回收存储块前后的存储空间状态变化。
【基本要求】
程序应不断地从终端读取整数n。每个整数是一个请求。如果n>0,则表示用户申请大小为n的空间:如果n<0,则表示归还起始地址(即下标)为-n的块才日果n=0,则表示结束运行。每读入一个数,就处理相应的请求,并显示处理之后的系统状态。
系统状态由占用表和空闲表构成。显示系统状态意味着显示占用表中各块的始址和长度,以及空闲表中各种大小的空闲块的始址和长度。
【测试数据】
l,一<①1>,3,4,4,4,一<①4>,一<①3>,2,2,2,2,一<②4>,一<①2>,一<②2>,一<③2>,一<④2>,一<③4>,40,0。其中,<③,2>表示第③次申请大小为2的空间使得块的始址。其余类推。
【实现提示】
可以取m=5,即Spacesize=25,数据结构如下:
Typedef struct BlkHeader{
BlkHeader *llink,*rlink;
int tag;
Int kvalue;
Int blkstart; //块起始地址
}BlkHeader,*Link;
Typedef struct{
Int blksize;
Link first;
}ListHeader;
Typedef char ell; //cell也可以是其他单位
主要变量是:
cell space[Spacesize] //被管理的空间
ListHeader avail[m+1]; //可用空间表
Link ailocated;.//占用表的表头指针
在这里,我们把每块的块头分离出来,通过blkstart域与相应的块建立联系。每个块一旦被分配,其块头就进入占用表,其中的各块头由rlink域链接在一起。tag域实际上不起作用,但为了与实际伙伴管理系统更接近,没有把它去掉。显然,在这种模拟实现方法中,不对数组space作任何引用或赋值。
【选作内容】
(1)同时还用直观的图示方式显示状态。
(2)写一个随机地申请和归还各种规格的存储块的函数考验你的伙伴系统。
我就这么多分啦。 展开
伙伴存储管理系统是一种巧妙而有效的方法。试写一个演示系统,演示分配和回收存储块前后的存储空间状态变化。
【基本要求】
程序应不断地从终端读取整数n。每个整数是一个请求。如果n>0,则表示用户申请大小为n的空间:如果n<0,则表示归还起始地址(即下标)为-n的块才日果n=0,则表示结束运行。每读入一个数,就处理相应的请求,并显示处理之后的系统状态。
系统状态由占用表和空闲表构成。显示系统状态意味着显示占用表中各块的始址和长度,以及空闲表中各种大小的空闲块的始址和长度。
【测试数据】
l,一<①1>,3,4,4,4,一<①4>,一<①3>,2,2,2,2,一<②4>,一<①2>,一<②2>,一<③2>,一<④2>,一<③4>,40,0。其中,<③,2>表示第③次申请大小为2的空间使得块的始址。其余类推。
【实现提示】
可以取m=5,即Spacesize=25,数据结构如下:
Typedef struct BlkHeader{
BlkHeader *llink,*rlink;
int tag;
Int kvalue;
Int blkstart; //块起始地址
}BlkHeader,*Link;
Typedef struct{
Int blksize;
Link first;
}ListHeader;
Typedef char ell; //cell也可以是其他单位
主要变量是:
cell space[Spacesize] //被管理的空间
ListHeader avail[m+1]; //可用空间表
Link ailocated;.//占用表的表头指针
在这里,我们把每块的块头分离出来,通过blkstart域与相应的块建立联系。每个块一旦被分配,其块头就进入占用表,其中的各块头由rlink域链接在一起。tag域实际上不起作用,但为了与实际伙伴管理系统更接近,没有把它去掉。显然,在这种模拟实现方法中,不对数组space作任何引用或赋值。
【选作内容】
(1)同时还用直观的图示方式显示状态。
(2)写一个随机地申请和归还各种规格的存储块的函数考验你的伙伴系统。
我就这么多分啦。 展开
2个回答
2011-01-26
展开全部
体育运动竟赛中有关时间和长度的数据。
享知信息
2023-10-16 广告
2023-10-16 广告
上海享知信息科技有限公司的敏捷开发需求管理工具旨在提高项目效率。该工具采用易于理解的简明语言,允许团队成员轻松共享、讨论和管理需求。它支持灵活的需求变更,可帮助团队实时响应并跟踪项目进展。同时,工具的分层结构使得需求与设计、代码相关联,为整...
点击进入详情页
本回答由享知信息提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询