一、 设计任务:
编写程序完成“存储器管理-动态分区分配算法”的模拟,设计主界面来灵活选择各算法,其中包括首次适应算法,最佳适应算法,最坏适应算法以及回收算法。
二、 设计目的:
通过课程设计,进一步理解内存分配算法的思想,并在此基础上熟练编程语言的具体的操作。
三、 设计思想:
内存管理有空区表管理空闲得空间,空区表记录某个空闲块的大小和首地址信息,建立空区表的双向链表,对空区链表的操作达到内存分配的管理。
四、 设计方案:
建立空区表的双向链表结构,建立已分配表的双向链表结构;
分别建立最先适应、循环最先适应、最佳适应和最差适应得类结构;
采用C++Builder作界面设计;
一、 核心代码:
作业数据类型的定义
#ifndef Job_H
#define Job_H
typedef struct Job
{
int size;//作业大小
int address;//作业首地址
AnsiString name;//作业名(AnsiString是C++Builder的字符串类型)
}Job;
#endif
最先适应算法的代码:
#ifndef Firstfit_H
#define Firstfit_H
#include "Job.h"
//最先适应算法头文件
class first_fit_link;
class linknode
{
friend class first_fit_link;
private:
int size;//作业大小
int address;//作业首地址
linknode * forward;
linknode * next;
public:
{
size=s;
address=a;
forward=f;
next=n;
}
};
class first_fit_link
{
private:
linknode * head;//头指针 11