1 / 22
文档名称:

北交大操作系统作业-内存管理器幻灯片.doc

格式:doc   大小:263KB   页数:22页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

北交大操作系统作业-内存管理器幻灯片.doc

上传人:85872037 2017/10/12 文件大小:263 KB

下载得到文件列表

北交大操作系统作业-内存管理器幻灯片.doc

相关文档

文档介绍

文档介绍:内存管理器 1
一、实验目的 1
二、实验设计 1
三、源程序清单和说明 2
四、算法及关键数据结构设计 14
五、实验过程中间结果屏幕截图 17
六、疑难解惑及经验教训 21
内存管理器

实验目的
设计和实现关于内存管理的内存布局初始化及内存申请分配、内存回收等基本功能操作函数尝试对用256MB的内存空间进行动态分区方式模拟管理。内存分配的基本单位为1KB,同时要求支持至少两种分配策略,并进行测试和对不同分配策略的性能展开比较评估。
实验设计
1、设计一定的数据结构以描述256MB内存空间的使用状况,并设计和构建函数void ChuShiHuaNC(DIZHI zKS_KYNC, DIZHI zJS_KYNC)实现内存布局的初始化。假定内存空间的低址部分56MB(即0~56M-1)作为系统区和不参与分配过程。
2、设计和实现内存申请分配函数DIZHI ShenQingNC(unsigned long zDX),内存分配的基本单位为1KB,同时要求支持至少两种分配策略(如首次适应、循环首次适应、最佳适应、最坏适应等),若分配失败则返回NULL。
3、设计和实现内存回收函数void HuiShouNC(DIZHI zKSDZ) ,若回收分区与其它空闲分区相邻接,则采取合并措施。
4、基于不同的内存分配策略形成不同版本的内存管理器,并根据内存平均利用率和分配查找分区比较次数等指标展开测试和对不同分配策略的内存管理器性能进行评估。
5、不妨设计测试例程框架:
循环
{
①产生随机数,并根据该值确定是申请内存还是回收内存;
②若是申请内存,还需进一步产生申请内存大小(服从正态/均匀分布);若是回收内存还需产生随机数和选择回收区;
③收集测试数据用于性能评价;
}
性能指标计算
6、分析性能测试数据,并借用图形如曲线方式来描述平均内存申请大小与平均内存利用率及平均查找步骤之间的关系。
源程序清单和说明
//
#include <>
#include <>
#include <>
#include <>
enum { ADDR = 0, TOTAL = 262144, MAX = 20000, MIN = 100, NF = 1, BF = -1, FULL = 1, FREE = 0, N = 2000 };
/*空闲分区链*/
struct node
{
struct node* prev;
struct node* next;
int number;
int addr;
int size;
int status;
};
typedef struct node block;
int random ( int s, int e );
double rate ();
void ChuShiHuaNC ();//内存初始化函数
void view();
int ShenQingNC ();//内存申请函数
int nextfit ( int size );//循环首次适应算法
int bestfit ( int size );//最佳适应算法
void HuiShouNC ();//内存回收函数
void convert ();
void test ();
void prompt ();
//
#include ""
#include ""
extern int occupied, count, compare, algo;
extern block *head, *tail, *last;
/*内存空间初始化函数*/
void ChuShiHuaNC ()
{
block *work, * temp;
occupied = 0; //初始化已经分配的内存大小
count = 0; //初始化已经分配的内存块数
compare = 0;
/*将空闲分区链初始化*/
if ( head != NULL )
{
work = head->next;
while ( work != head )
{
temp = work;
work = work->next;
free(temp);
}
free(head);
}
head = (block*)malloc(sizeof(block));
tail = (block*)malloc(sizeof(block));
last = tail;
head->pre

最近更新

二次函数经典中考试题(含答案) 61页

会展策划实务课程讲稿 17页

关于成本会计学习心得体会文5篇 8页

北京市十一学校2023届初三年级4月英语学习诊断.. 8页

商务拜访陌生客户的礼仪及沟通技巧 5页

大学会计实训报告(通用5篇) 12页

审计实务课后同步测试答案 9页

市政公用工程专业《安全管理与法规》试题含答.. 12页

房地产开发经营与管理考试试题及答案 9页

施工分包商管理 18页

综合化学试验课程教学大纲-兰州大学化学创新国.. 9页

计算机应用基础理论题及 14页

道德与法治试卷分析 12页

麻醉危重病例 4页

儿科火灾的应急预案演练 33页

房地产及宏观调控研究 89页

互联网电子商务基础知识 36页

《进程与线程》课件 31页

双龙洞导游词3篇 2页

裸子植物1苏铁科、银杏科 41页

单循环链表的分布式存储与管理 33页

《我像谁》作业设计方案-2023-2024学年科学青.. 4页

新型中性钯络合物催化剂以及氮丙啶和亚胺与一.. 2页

文学视野下的李善《文选》诗注研究的开题报告.. 2页

数字置景在电影作品中的应用研究与实现中期报.. 2页

改良圆利针疗法治疗腰部肌筋膜疼痛综合征的疗.. 2页

推进公共就业服务均等化的对策研究——以太仓.. 2页

招标代理机构售前项目管理研究的开题报告 2页

第三单元整体教学设计-部编版语文七年级下册 12页

2023年全国高考英语新课标I和II卷听力原文 3页