安徽大学操作系统试验四

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三、页式地址重定位模拟

班级:软件工程学号:E21314003 姓名:李世

一、实验目的:

1、用高级语言编写和调试模拟实现页式地址重定位。

2、加深理解页式地址重定位技术在多道程序设计中的作用和意义。

二、实验原理:

当进程在CPU上运行时,如指令中涉及逻辑地址时,操作系统自动根据页长得到页号和页内偏移,把页内偏移拷贝到物理地址寄存器,再根据页号,查页表,得到该页在内存中的块号,把块号左移页长的位数,写到物理地址寄存器。

三、实验内容:

1、设计页表结构

2、设计地址重定位算法

3、有良好的人机对话界面

四、调试截屏

五、源代码:

#include

#include

#define pagesize 1024

#define pagetablelength 64

const int pagetable[pagetablelength]={11,12,25,69,87,45,23,36,58,96,14,38,39,40,50,60,70,80,90};

void main()

{

cout<<"********************************************\n* 页式地址重定位模拟*\n* 作者:李世E21314003 *\n* 13级软件工程*\n********************************************\n";

int logicaladdress=0;

int pagenum=0;

int w=0;

cout<<"系统页号对应块号情况(页号-->块号):\n";

for(int i=0;i<64;i++)

{

cout<"<

if(i%8==7)

cout<

}

cout<

cin>>logicaladdress;

pagenum=logicaladdress/pagesize;

w=logicaladdress%pagesize;

if(pagenum>pagetablelength)

{

cout<<"本次访问的地址已超出进程的地址空间,系统将产生越界中断!\n";

return;

}

cout<<"对应的物理地址为(十进制):\n"<

相关文档
最新文档