收藏 分销(赏)

分页管理地址转换器C语言.doc

上传人:二*** 文档编号:4517892 上传时间:2024-09-26 格式:DOC 页数:6 大小:58KB 下载积分:5 金币
下载 相关 举报
分页管理地址转换器C语言.doc_第1页
第1页 / 共6页
本文档共6页,全文阅读请下载到手机保存,查看更方便
资源描述
. . 实验二设计一个分页存管理的地址转换器 班级:14级2班XX:侯XX 学号:202142060** 一、 实验目的 用C/C++/JAVA实现分页存管理中的逻辑地址转换成物理地址的过程。 二、实验容 1〕输入 随机输入某页式系统的页面大小、页表以及逻辑地址。 2〕输出:通过设计的地址转换器输出以下容。 如果逻辑地址合法,请输出其相应的逻辑地址。 反之,输出警告“越界访问〞 三、 实验例如 如:页表如下。 1) 输入:页面大小1024byte、逻辑地址3100byte、页表如下。 输出:其逻辑地址为7196byte 页帧号 页 号 8 0 4 5 9 4 7 3 0 2 2 1 2) 输入:逻辑地址20000byte 输出:越界访问 四、 实验原理 页式管理系统中逻辑地址向物理地址的转换过程如下: 1)计算出逻辑地址在逻辑空间的页号p和页位移d。 2)查看页号是否合法,假设合法,那么找出其在存中存放的页帧号f。 3)根据页帧和页位移计算出物理地址.物理地址=f*页帧大小+d 五、实验代码 #include <stdio.h> #include <stdlib.h> #define MAX 100 typedef struct { int p; int f; }Page; int main() { int page_size; int logic_adress; int physical_adress; int d; int i,j,p; Page P[MAX]; printf("请输入页中页号个数:\n"); scanf("%d",&j); printf("请输入页表:\n"); printf("页号叶帧号\n"); for(i=0;i<j;i++) { scanf("%d %d",&P[i].p,&P[i].f); } printf("请按顺序输入页面大小和逻辑地址:(单位:byte)\n"); scanf("%d\t%d",&page_size,&logic_adress); d=logic_adress%page_size; p=logic_adress/page_size; if(p>j) { printf("越界访问!"); } else { physical_adress=P[p].f*page_size+d; printf("物理地址为:(单位:byte)\n"); printf("%d\n", physical_adress); } return 0; } 六、 ???果截? 1. ?入 ?面大小 1024,??地址3100的?果截?: 2. ?入 ?面大小1024,??地址20000的?果截?: 教育之通病是教用?的人不用手,不教用手的人用?,所以一?所能。教育革命的?策是手??盟,?果是手与?的力量都可以大到不可思?。 . .word.zl.
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服