摘要:微信搜索【三桥君】 本文只讲逻辑地址转换为物理地址的计算方法
逻辑地址=页号+页内地址 物理地址=块号+页内地址
【解析】 逻辑地址转换为物理地址其实就是页号转换为块号。
他们之间的页内地址是一样的。
然后,我们要搞清楚页号、块号、页内地址怎么求的,然后通过公式带进去就可以求出逻辑/物理地址。
页内地址的表达方式是2进制的,所以不管给的逻辑地址、物理地址都先转换为2进制。具体页内地址取几位,通过题目给的去求,如“每页为1KB”。
物理地址=块号*页内大小+页内地址 页号=逻辑地址/页面大小字节=(取整数) 页内地址=逻辑地址%页面大小字节=(取余数)
1、十六进制
设某用户的编程空间共32个页面,每页为1KB,内存容量为16KB。假定用户程序的页表如下所示。请计算逻辑地址0A5CH所对应的物理地址。(要写出计算过程)
【分析】 逻辑地址为0A5CH; 页内地址的位数通过“每页为1KB”转换成2的n次幂去求解,n次幂=位数。 页号的位数通过逻辑地址的位数减去页内地址的位数,即16-页内地址的位数。
【解答】 因为 逻辑地址为0A5CH, 所以 逻辑地址转换为2进制为 0000 1010 0101 1100; 因为 1KB=2^10B, 所以 页内地址的位数=10; 所以 页内地址为10 0101 1100;即页号为0000 10。 因为 页号转换为10进制为2, 所以 对应的块号为4; 所以 块号的2进制为000100。 因此,物理地址= 000100 10 0101 1100,即0001 0010 0101 1100。 转换为16进制为125CH。
【说明】 其实这题逻辑地址转换为物理地址的做法就是: 把逻辑地址的页号部分:0000 1010 0101 1100 转换成对应物理地址的块号:0001 0010 0101 1100 这样就完成了转换。
2、非十六进制
在采用分页存储管理的系统中,某作业J的逻辑地址空间为4页(每页2KB),且已知该作业的页面映像表(即页表)如下:试借助地址变换图求出有效逻辑地址4865所对应的物理地址。(要写出计算过程)
【分析】 页号=逻辑地址/页面大小字节=(取整数) 页内地址=逻辑地址%页面大小字节=(取余数)
【解答】 页号P=4865/2K=4865/2048(转为10进制)=2, 页内地址W=4865 % 2048=769; 则通过查找页表,可知第2页放于第6块中, 因此逻辑地址4865所对应的物理地址为: 6*2048+769=13057
文章整理不易,有帮助请点赞关注支持,谢谢!微信搜索【三桥君 】,回复【关注】有我准备的一份资源大礼包,后续持续更新。