【精品】存储管理实验

【精品】存储管理实验

ID:45555805

大小:221.13 KB

页数:11页

时间:2019-11-14

【精品】存储管理实验_第1页
【精品】存储管理实验_第2页
【精品】存储管理实验_第3页
【精品】存储管理实验_第4页
【精品】存储管理实验_第5页
资源描述:

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

1、实验报告成绩:指导教师(签名):课程名称:计算机操作系统实验项目名称:存储管理实验时间:班级:姓名:学号:一.实验目的理解可变分区管理方式下采川最优/佳适应分配算法实现主存分配和回收。对理论课中学习的内存管理中的概念作进一步的理解。二、实验环境PC机、操作系统:Windowsxp3、VC++6.0四.实验步骤1.编写程序,由必耍的数据结构、主函数、内存分配函数及主存回收函数构成。实现可变分区筲理方式下采用最优/佳适应分配算法实现主存的分配和回收。2.在上机环境中输入程序,调试,编译。3.设计输入数据,写出程序的执行结果。实验内容与结果及分析如下:1.按照流程图编好程序;2.打开

2、VisualC++软件,新建工程文件;3.新建源文件(sd),将程序写入(sd)中并在VisualC++中调试(sd.exe)运行;4.运行结果如下:麟著3•嵌佳适豳法心出林窗各福疋>1・4・爭.怙—(J:IE*输入企业V岔区号》21贸入拯要好配的主存大小V单位32皑成功,算法.2=回收内存1亠你棗功心入入入成KB>z2S分区号=丄迅始地11■32片区天小.25KB快恙,己分配?①分配内存当一个作业要求装入主存时,查找空闲区说明表,从中找出一个足够大的空闲区。有时候空闲区大于作业需要量,需要将空闲区分成两部分,一部分作业占用,另一部分成为小的空闲区。为了方便查找,总是让“空表集

3、中在表格的后面。c*D:Progra>FileslSDev98lyProjectszhlczxtDebugzhlczxt.exeMKB一e10闲一re?275一F53空一口3:篆一区地大一区始区一分起分状一号址心百地大区始区分起分状B配K分13225己内存分配后,查看内存空间分配情况如下表格所示:区号起始地址长度标志21032已分配13225已分配free5732710空闲释放后内存空间情况,如下表格所示:区号起始地址长度标志free032空闲13225已分配free5732710空闲②回收内存请愉入你的挥作:2二回牧内眨S主存分配懂况一—————————;分尽号

4、mFree起始九址■R分区大小孑32KB茯态,空闲釋放区号为21的内存空间.即将起始地址为0,大小为32的内存由已分配释放,使其为空闲状态.sir始区分起齐13225KB己分配,r地大一区始区一分起分状B配K分13225己si江地大区始区分起分状Free5732710KB空闲*1=分配內存*3:查看分配2:回收內存0:返回it的应配你适分入次择書选请」请:02•最佳适应算法0■退岀当一个作业执行结束撤离时,作业所占的区域应该归还,归述的区域如果与其他空闲区相邻,则应合成一个大的空闲区,登记在空闲区说明衣中。归还主〃时的回收算法参考流程图如卜图:1.以上程序分为首次适应算法即最先

5、适应算法(Firstfit)空闲区按地址人小递增顺序排列。杏找分区说明表,找到第一个满足屮请长度的空闲区,分配并分割。剩余部分保留在空白区表中原来的位置。最先适应算法:尽可能利用存储器的低地址部分,因此在低地址部分会很快地产牛大量碎片其次为鼠佳适应算法即空闲区表中的空闲区按其容量以递增的次序排列。当要求分配一个空闲区时,山小到大顺序查找分区说明农,找到第一个满足申请长度的最小空闲区,分配并分割。如果有剩余部分,作为一个空闲区将其插入适当的位置;2、最佳分配算法:选择容量接近的空闲区來分配,产生大量碎片。实验心得:附录:程序代码:#include#includ

6、e#defineFree0〃空闲状态#defineBusy1〃已川状态d#defineOK1〃完成#defineERROR0〃出错#defineMAX」ength32767〃最大内存空间为32767KBtypedcfintStatus;intn=0;typedefstructfreearea//定义一个空闲区说明表结构{intID;〃分区号dlongsize;〃分区大小longaddress;〃分区地址intstate;〃状态JElcmTypc;//线性表的双向链表存储结构typedefstructDuLNode//doublelinkedlist{El

7、emTypedata;structDuLNode*prior;//前趋指针structDuLNode*next;〃后继指针}DuLNode,*DuLinkList;DuLinkListblock_first;//头结点DuLinkListblock_last;〃尾结点Statusalloc(int);//内存分配Statusfree(int);//内存冋收StatusFirst_fit(int,int);//首次适应算法StatusBest_fit(int,int);//最佳适应算法void

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

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

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