请求分页式存储器重硬件的地址转换和缺页中断源程序及结果

时间:2019-05-15 02:32:08下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《请求分页式存储器重硬件的地址转换和缺页中断源程序及结果》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《请求分页式存储器重硬件的地址转换和缺页中断源程序及结果》。

第一篇:请求分页式存储器重硬件的地址转换和缺页中断源程序及结果

一、源代码: #include #include #define SizeOfPage 100 #define SizeOfBlock 128

struct info//页表 { long textNumber;//页号

bool flag;//标志

long block;//块号

long disk;//在磁盘上的位置

//bool dirty;//修改标志用于调度算法处理缺页中断 }pagelist[SizeOfPage];int num;void init(){ memset(pagelist,0,sizeof(pagelist));

//自定义的页号和其信息 pagelist[0].textNumber=0;pagelist[0].flag=1;pagelist[0].block=5;pagelist[0].disk=11;

pagelist[1].textNumber=1;pagelist[1].flag=1;pagelist[1].block=8;pagelist[1].disk=12;

pagelist[2].textNumber=2;pagelist[2].flag=1;pagelist[2].block=9;pagelist[2].disk=13;

pagelist[3].textNumber=3;pagelist[3].flag=1;pagelist[3].block=1;pagelist[3].disk=21;

pagelist[4].textNumber=4;pagelist[4].flag=0;pagelist[4].disk=22;

pagelist[5].textNumber=5;pagelist[5].flag=0;pagelist[5].disk=23;

pagelist[6].textNumber=6;pagelist[6].flag=0;pagelist[6].disk=121;num=6;} void work(){ bool stop=0;long p,q;char s[128];do {

printf(“请输入指令的页号和单元号:n”);

if(scanf(“%ld%ld”,&p,&q)!=2)

{

scanf(“%s”,s);

if(strcmp(s,“exit”)==0)

{

stop=1;

}

}

else if(q>128)

{

printf(“注意!所输入的单元已经越界!n请继续......n”);

q=-1;

}

else

{

if(pagelist[p].flag)

{

printf(“绝对地址=%ldn”,pagelist[p].block*SizeOfBlock+q);

}

else

{

printf(“* %ldn”,p);

printf(“第%ld页未装入主存的页所占的块号!n”,p);

}

} }while(!stop);}

void printInit(){

init();int i;

printf(“____________________________________________________________________n”);

printf(“|

页号

|

标志

|

主存块号

|在磁盘上的位置n”);

for(i=0;i<=num;i++){

if(pagelist[i].flag==1)

printf(“|

%ld

|

%d

|

%ld

|

%ld

n”,pagelist[i].textNumber,pagelist[i].flag,pagelist[i].block,pagelist[i].disk);

else

printf(“|

%ld

|

%d

|

|

%ld

n”,pagelist[i].textNumber,pagelist[i].flag,pagelist[i].disk);

}

printf(“____________________________________________________________________n”);

}

int main(){ printf(“初始化页表:n”);printInit();work();return 0;}

二、结果如下:

1、初始化页面

2、测试结果

a、当输入已在内寸中的页号时(地址单元越界和不越界两种)

b、当发生缺页时

下载请求分页式存储器重硬件的地址转换和缺页中断源程序及结果word格式文档
下载请求分页式存储器重硬件的地址转换和缺页中断源程序及结果.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐