#defineNULL0#defineLENsizeof(structAs"> #defineNULL0#defineLENsizeof(structAs" />
欢迎来到天天文库
浏览记录
ID:53852128
大小:30.50 KB
页数:4页
时间:2020-04-08
《模拟内存地分配与回收.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、模拟内存的分配与回收//可变分区式存储管理(最先适应算法)#include"stdlib.h"#include"conio.h"#include#defineNULL0#defineLENsizeof(structAssigntab)#defineDEBUG//数据结构的定义//已分配区表Assigtab,未分配区表Unassigntab,保存一栏的信息temp//标志sign为NULL时表示该栏为空//定义两个结构体指针Asshead(指向表Assigtab)和Unahead(指向表Unassigntab)//用全局变量suces
2、sedstructAssigntab{intnumber;//分区号intaddr;//起始地址intlength;//长度charsign[10];//标志structAssigntab*next;//指向下一个分区号};structAssigntab*Asshead,*Unahead,*waithead;structAssigntab*p,*q;structAssigntab*r1,*s1;intn=0;intn1=0;intn2=0;intsuccess=0;//主函数intmain(){charch;p=q=(structAssigntab*)m
3、alloc(LEN);r1=s1=(structAssigntab*)malloc(LEN);init();cout<<"请选择操作码:";cin>>ch;do{if(ch=='0')break;switch(ch){case'1':displayUna();break;//查询未分分配区表case'2':displayAss();break;//查询已分配区表case'3':displaywait();break;//查询等待作业队列case'4':fenpei();break;//装载一个作业case'5':huishou();break;//撤消一
4、个作业}cout<<"请选择操作码:";cin>>ch;if(ch=='0')break;}while(1);return0;}//分页式存储管理#include#include#include#include"stdlib.h"#include"conio.h"#defineNULL0#defineLENsizeof(structpagetable)#defineLENJsizeof(structjobtable)//作业的页表结构体structpagetable{intpagenum;/
5、/页号intblocknum;//块号structpagetable*next;//指向下一项};//作业表结构体structjobtable{charjobname[10];//作业的名字intjobsize;//作业的大小structpagetable*head;//指向作业的页表structjobtable*next;//指向下一个作业};intweitu[8][8];//位示图intweitusize=2;//内存每块为2Kintblank=64;//当前空闲的块号intsign=0;//内存分配错误标志intlist=0;//作业序列intn=
6、0;//内存作业队列标志intn1=0;//等待作业队列标志structjobtable*r,*s;structjobtable*r1,*s1;structjobtable*jobhead;//作业表structjobtable*waithead;//等待作业表//主函数intmain(){charch;//初始化工作jobhead=NULL;waithead=NULL;initweitu();r=s=(structjobtable*)malloc(LENJ);r1=s1=(structjobtable*)malloc(LENJ);//菜单功能cout<
7、<"**********分页式内存管理的模拟系统************"<>ch;do{if(ch=='0'){cout
8、<<"你真的要退出系统吗?(Y/N):";cin>>ch;if(ch=='Y')
此文档下载收益归作者所有