进程逻辑地址和物理地址之转换
有一题:
某计算机系统页面大小为4K,进程的页面变换表如下显示。若进程的逻辑地址为0x2D16,该地址经过变换后,对应的物理地址是什么?
表格是
页号 | 物理块号 |
---|---|
0 | 1 |
1 | 3 |
2 | 4 |
3 | 6 |
其实这问题是个选择题,是有选项的。
A.0x2048
B.0x4096
C.0x4D16
D.0x6D16
关于这方面的问题还真没有见过,遂询问大佬,
简单整理一下大佬的解释就是
- 4K就是4096就是2^12
- 页面大小是4K(就是一页的地址)要用12bit(3个HEX数)来表示
- 逻辑地址是为16bit(4个HEX数字),高位4bit是页号;低12bit是页内地址
- 高位就是靠左边的数字,低位就是靠右边的数字
例如,115415(十一万四千五百一十四):高3位就是114(十一万四千);低3位就是514(五百一十四)
题目指出逻辑地址是0x2D16
,
按照高4bit是页号低12bit是页内地址的话,2
就是页号,D16
就是页内地址。
最后,页号对应的物理块号(2)和页内地址(D16)拼起来,就是物理地址了。
所以,物理地址是0x4D16
,选C
知识共享署名-署名-非商业性使用-相同方式共享 4.0 国际许可协议