更详细例子博客:http://blog.sina.com.cn/s/blog_625eda0b01016kb9.htmlhtml
以一个例子的形式讲解逻辑地址到物理地址的转换:
某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB。假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表以下:
编程
页号 |
物理块号 |
0 |
3 |
1 |
7 |
2 |
11 |
3 |
8 |
则逻辑地址0A5C(H)所对应的物理地址是什么?要求:写出主要计算过程。
解题过程:
首先要知道页式存储管理的逻辑地址分为两部分:页号和页内地址。物理地址分为两部分:
关系为:逻辑地址= 页号+页内地址d
物理地址= 块号*块长度( 等于页面长度 L )+页内地址;
页号: p = lnt( 逻辑地址 A / 页面长度 L ); d = 逻辑地址 A % 页面长度 L (取余) htm
分析题:已知:用户编程空间共32个页面,2ˆ5 = 32 得知页号部分占5位,由“每页为1KB”,1K=2^10,可知内页地址占10位。
由“内存为16KB”,2^4=16得知块号占4位。
逻辑地址0A5C(H)所对应的二进制表示形式是:0000101001011100,后十位1001011100是页内地址,
00010(本题特例,由于页面长度为1KB)为为页号,页号化为十进制是2,在对照表中找到2对应的物理块号是11,11转换二进制是1011,11* 2^10 + d便可求出物理地址为10111001011100,化成十六进制为2 E5C;
即则逻辑地址0A5C(H)所对应的物理地址是2E5C;
blog