资源简介
模拟设计动态分区存储管理中地址转换
页式段式管理
代码片段和文件信息
#include
#include
#include
#include
#define N 5//最大进程数
#define max 20 //每个进程的最大容量
#define memory 100 //整个内存大小
struct table{ //已分配的或未分配的
int start; //进程起始地址
int length; //进程大小
int hao; //进程号
table*next;
};
int n; //实际的进程数
table *head; //head
void fenpei(int a)
{
int sum=0;
table *p1*p2;
p1=p2=new table;
p1->start=1;
p1->hao=1;
srand(time(0)); //seed
Sleep(1000);
p1->length=rand()%max+1; // random number 1-20
p1->next=NULL;
cout<start<<“ “<length< sum=p1->length+sum;
for(int m=2;m<=a;m++)
{
if(head==NULL)head=p1;
else p2->next=p1;
p2=p1;
p1=new table;
p1->start=sum+1;
p1->hao=m;
Sleep(800);
srand(time(0));
p1->length=rand()%max+1;
p1->next=NULL;
cout<start<<“ “<length< sum=p1->length+sum;
}
p2->next=p1;
cout<<“-------------------------------------“< cout< }
void panduan(int bint c)
{
int ma;
for(table*t=head;t->hao!=b;t=t->next){}
if(c<0)cout<<“逻辑地址输入错误!“< if(c>t->length)cout<<“VR越界!“< else
{
ma=t->start+c;
cout<<“ 物理地址为:“< }
}
int main()
{
int ij;
cout<<“请输入实际进程数(1~5):“;
cin>>n;
if(n<1||n>5)return 0;
cout<<“各进程的起始地址和申请的空间大小为:“< fenpei(n);
do
{
cout<<“请输入要访问的进程号(1~5):“;
cin>>i;
if(i<1||i>n)return 0;
cout<<“请输入要访问的逻辑地址:“;
cin>>j;
panduan(ij);
}while(i!=0);
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1720 2010-01-27 21:25 模拟设计动态分区存储管理中地址转换.cpp
----------- --------- ---------- ----- ----
1720 1
- 上一篇:利用SPSS 拟合非线性回归模型
- 下一篇:基于Web的网络爬虫的设计与实现.pdf
评论
共有 条评论