教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 教育文库 >

模拟设计页式存储管理的分配与回收(2)

来源:网络收集 时间:2026-09-12
导读: } if(flag==false) cout系统中不存在该进程!endl; coutendl; }while(flag==false); for(i=0;iint(temp.reqpagenum);i++) mempage[temp.pgtabadr[i].blocknum]=0; reqtable.remove(temp); //重新为没有分配到内存的

}

if(flag==false)

cout<<"系统中不存在该进程!"<<endl;

cout<<endl;

}while(flag==false);

for(i=0;i<int(temp.reqpagenum);i++)

mempage[temp.pgtabadr[i].blocknum]=0;

reqtable.remove(temp); //重新为没有分配到内存的进程分配内存

仅仅是代码哦

for(pos=reqtable.begin();pos!=reqtable.end();pos++) {

if((*pos).state==false)

{

int reqpnum;

reqpnum=(*pos).reqpagenum;

if(reqpnum<=Get_Mempagenum())

{

(*pos).state=true;

pagetable temp = new pgtabitem[reqpnum];

if(temp==NULL)

{

cout<<"内存分配失败!"<<endl;

}

cout<<endl; exit(0); (*pos).pgtabadr=temp; for(i=0;i<int(reqpnum);i++) {

temp[i].pagenum=i; //页表的页号 号

int randnum=random.Random(pagenum)+1;//随机产生一

个块号

while(mempage[randnum]==1)

randnum=random.Random(pagenum)+1;

temp[i].blocknum=randnum;//页表的块号

mempage[randnum]=1;

}

}

}

}

} /*初始化系统*/

void InitSys(void)

{

cout.setf(ios::left);//左对齐

Init_Mempage();

Init_Reqtable();

Init_DistMem();

仅仅是代码哦

}

/*输出主菜单*/

void MainMenu(void)

{

cout<<"页式存储管理的分配与回收"<<endl; cout<<"1.手动创建进程"<<endl; cout<<"2.显示进程页表"<<endl;

cout<<"3.显示请求表"<<endl;

cout<<"4.撤销进程"<<endl;

cout<<"5.显示内存使用情况"<<endl; cout<<"6.显示物理块大小"<<endl; cout<<"7.退出系统"<<endl;

cout<<"请输入您的选择(0--7):"; }

/*选择函数*/

void MainChoice()

{

int choice;

do{ MainMenu();

cin>>choice;

switch(choice)

{

case 1:

Dist_Mem();

break;

case 2:

PrintPageTable();

break;

case 3:

PrintReqtable();

break;

case 4:

Kill();

仅仅是代码哦

break;

case 5:

PrintMem();

break;

case 6:

PrintBlockSize();

break;

case 7:

break;

default :cout<<"输入有误,请重新输入.\n"; cout<<endl;

break;

}

}while(choice!=7);

}

int main()

{

InitSys();//初始化系统

MainChoice();//输出系统菜单

Destroy();//释放申请的动态内存 return 0;

}

模拟设计页式存储管理的分配与回收(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/110750.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)