下载此文档

主存空间的分配实验.doc


文档分类:IT计算机 | 页数:约17页 举报非法文档有奖
1/17
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/17 下载此文档
文档列表 文档介绍
主存空间的分配实验.doc:..1•采用可变分区管理,使用首次适应算法实现主存的分配与回收#include<iostream>#include<>#inelude<vector>#inelude<algorithm>#include<>usingnamespacestd;structblock{ 〃定义空闲块的记录表;intbegin;intlength;};boolcmp(constblock&pl,constblock&p2){讦(・begin)returntrue;returnfalse;}vector<block>mem_table;vector<block>free_table;voidinit(){ 〃初始化空闲块,并将空闲信息记录到空闲分区说明表中;blocknow;while(cin»»now」ength,>=0){(now);}sort((),(),cmp);if(mem_table[0].begin>0){=0;now」ength=mem_table[O].begin;(now);}vector<block>::iteratorp=();while(p!=()&&p+l!=()){if(p->begin+p->lengthv(p+l卜〉begin){・>begin+p・>length;now」ength=(p+l)・>begin-;(now);}P++;}if(mem_table[()-l].begin+mem_table[()-l].length<256){=mem_table[()-l].begin+mem_table[()-l].length;now」ength=256-;(now);}sort((),(),cmp);}voidapplacation(constintlenght){ 〃内存申请操作;vector<block>::iteratorp=();while(p!=()){if(p->length>=lenght){blocknow;・>begin;now」ength=lenght;(now);if(p->length==lenght) 〃查找成功就将内存分配岀去;(p);else{p->begin+=lenght;p->length-=leright;}cout«H分配成功!"«endl;return;}P++;}cout«"内存不够,无法分配"«endl;exit(O);}voidprint(){ 〃主存空间占用表和空闲分区说明表的打卬;coutvv”主存空间占用情况"vvendl起始地址 长度"«endl«endl;for(inti=O;i<();i++)cout«mem_table[i].beginvv" "vvmem_table[i]」ength«endl;cout«endlvv“空闲区表n«endl«“起始地址 长度"«endl;for(inti=O;i<();i++)cout«free_table[i].begi "«free_table[i].lengthvvendl;}voidrecover(){ 〃内存的回收;intt;t=rand()%(); 〃随机选取一个非系统内存块进行回收;while(t==0)t=rand()%();vector<block>::iteratorp=t+();(*p);(p);〃将内存块与空闲分区进行合sort((),(),cm

主存空间的分配实验 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数17
  • 收藏数0 收藏
  • 顶次数0
  • 上传人pppccc8
  • 文件大小527 KB
  • 时间2019-09-14