实验二_内存分配管理

实验二_内存分配管理

ID:45585488

大小:79.62 KB

页数:7页

时间:2019-11-15

实验二_内存分配管理_第1页
实验二_内存分配管理_第2页
实验二_内存分配管理_第3页
实验二_内存分配管理_第4页
实验二_内存分配管理_第5页
资源描述:

《实验二_内存分配管理》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验名称:内存分配管理的程序1.实验目的通过本实验使学生了解和熟悉主存空间的各种分配和回收算法、数据结构及其编程实现方法。分配,就是将一定的内存空间分配给某个进程;冋收,就是当进程完成时,将进程所占有的主存空间归还给系统。主存的分配和回收的实现与主存的管理方式有关,也与空间的分配和回收算法和数据结构有关。2.实验环境VC6.0+4-3・实验方法和步骤(含设计)第一题程序流程图C++源程序代码:memoryAssign.h#defineMEMORYASSTGNJI#defineMEMORYASSIGNH#includ

2、e#include#include#includeusingnamespacestd;structmemoryArea//采用线性表的顺序存储结构{intstartAddress;//进程的起始地址intsize;//述程的大小stringstate;//进程的状态charpnumber;//进程号};classmemoryAssign{public://公共的类,便于其他函数调用memoryAssign();"memoryAssignO;v

3、oidinitializeMemory();//初始化内存表的函数voidprint();//输出当前内存表的函数voidorder();//首次适应法的函数voidfunctionOption();//switchvoidassignMemory();//1卩请进程,分配空间的函数voidrecoverMemoryO;//撤销进程,回收空间的函数protected:private://私有的类,避免其他函数中的变量对某函数屮变量的影响inti,j;intcount;memoryArea*area]];};#end

4、if//MEMORYASS1GN_HmemoryAssign::memoryAssign(){count=7;initializeMemory();order();}memoryAssign::^memoryAssign(){・・・}voidmcmoryAssign::initializeMcmory()//初始化内存表的函数{for(i=0;i>

5、newArea->startAddress>>newArea->size>>newArea->state»newAroa->pnumber;area[i]=newArea;}}voidmemoryAssign::order()//首次适应法的函数,将“空闲区”按起始地址从小到人的顺序排序{memoryArea*temp;for(i=0;istartAddress>area[j+l]->startAddress){tem

6、p=area[j];area[j]=area[j+l];area[j+l]=temp;}}}functionOption();}voidmemoryAssign::print()//输出当询内存表的函数{cout«setw(10)«/z起始地址//<startAddress<

7、size<state«setw(9)<<,z进程z/«area[i]->pnumber<

8、(i){case1:assignMemory();break;case2:recoverMemory();break;case3:print();break;case4:break;default:cout«输入错误哦...,z«endl;functionOption();}}voidmemoryAssign::assignMemory()//屮请进程,分配

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。