收藏 分享(赏)

操作系统-页式地址重定位模拟实验报告.doc

上传人:weiwoduzun 文档编号:3675737 上传时间:2018-11-15 格式:DOC 页数:6 大小:116.52KB
下载 相关 举报
操作系统-页式地址重定位模拟实验报告.doc_第1页
第1页 / 共6页
操作系统-页式地址重定位模拟实验报告.doc_第2页
第2页 / 共6页
操作系统-页式地址重定位模拟实验报告.doc_第3页
第3页 / 共6页
操作系统-页式地址重定位模拟实验报告.doc_第4页
第4页 / 共6页
操作系统-页式地址重定位模拟实验报告.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、操作系统-页式地址重定位模拟实验报告一、 实验目的:1、 用高级语言编写和调试模拟实现页式地址重定位。2、 加深理解页式地址重定位技术在多道程序设计中的作用和意义。二、 实验原理:当进程在 CPU 上运行时,如指令中涉及逻辑地址时,操作系统自动根据页长得到页号和页内偏移,把页内偏移拷贝到物理地址寄存器,再根据页号,查页表,得到该页在内存中的块号,把块号左移页长的位数,写到物理地址寄存器。三、 实验内容:1、 设计页表结构2、 设计地址重定位算法3、 有良好的人机对话界面四、 存储结构typedef struct PageTableint page_num;int pic_num;PageTab

2、le;PageTable PTN;typedef struct LogicalAddint page_num;int page_add;LogicalAdd;LogicalAdd LA;int Page_length;/页长int Page_num;/页数int Process;/进程大小int Address;/逻辑地址五、 函数列表Input() ;/输入Init() ;/初始化Translate() ;/ 生成物理地址Output() ;/输出Main() ;/主函数六、运行结果截图:(1)输入(2)查看页表(3)查看物理地址(4)退出七、源程序代码:#include#include#i

3、nclude#includeusing namespace std;#define N 50typedef struct PageTableint page_num;int pic_num;PageTable;PageTable PTN;typedef struct LogicalAddint page_num;int page_add;LogicalAdd;LogicalAdd LA;int Page_length;/页长int Page_num;/页数int Process;/进程大小int Address;/逻辑地址void Input()cout Process;cout Page_l

4、ength;cout Address;int Init()srand(time(0);int i,temp;int sum=1;Page_num=Process/Page_length+1;/cout=Page_num)cout =N)return -1;return res*Page_length+LA.page_add;void Output(int res)if(res=0)cout k;switch(k)case 1:Input();if(Init()=-1)return -1;break;case 2:Output(0);break;case 3:Output(Translate();break;case 4:cout “O(_ )O 谢谢使用,再见!“endl;exit(0);break;return 1;八、小结通过本次实验,加深了我对于分页式存储管理方式的理解,以及编程实现了页式地址重定位模拟。在编程过程中所遇到的困难不多,为了简化模拟过程,我使用了十进制数来表示各数据(单位字节) 。页表的构建上,我是根据输入的页长和进程空间的大小来动态分配空间和页表的表长的,块号的生成用了累加随机数的方式。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 规范标准 > 实验

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报