实验四 内存管理模拟 1
实验要求: 模拟动态分区管理方式来管理内存,实现内存的分配和回收,观察内存空闲链表和内存分配表在内存分配和回收过程中数据的变化
实验内容 要求随机产生进程或者由用户输入进程相应信息,实现动态内存管理:设计主界面以灵活选择某算法,主要实现以下算法:首次适应算法、最佳适应算法、最坏适应算法
实现的主要功能:内存的分配、内存的回收,内存空闲链表的变化、内存分配表的变化、内存分配和回收过程的模拟
实验预备内容 (1)阅读和学习教材关于存储器管理和虚拟存储器管理的内容(连续存储管理和离散存储管理),了解相关的内存分配算法、内存分配和回收相关机制,内存管理过程中需要的数据结构
(2)熟悉 Visual C++的简单使用
4.实验环境 (1)一台运行 Windows 2000 professional操作系统的计算机
(2)选用turbo c、visual c++、Delphi、c++ builder或visual basic等任何一种语言
5.实验时间 4个机时
6.参考算法 #include #include #include #define MIN 5 //碎片最小容量 #define MAX 1024 //存储区的最大容量 #define MATSIZE 100 //作业分配表的最大容量 #define NOT_EXIST -1 //不存在 #define SUCCESS 1 //成功 #define FAILED 0 //失败 #define EXIT 0 //退出 #define NO_OPERATE -1//无操作 //+*+*+*+*+ 程序主要变量 +*+*+*+*+ typedef struct Free_Area FREEAREA;//***** 定义"空闲块链表"结构 ***** typedef struct Fre