小编use*_*409的帖子

确定给定地址的页码和偏移量

考虑具有32位逻辑地址和4KB页面大小的计算机系统.系统最多支持512MB的物理内存.

传统的单级页表中有多少条目?

Conventional single-level page table: 2^32 / 2^12 (4000)  = 2^20 = 1,048,576
Run Code Online (Sandbox Code Playgroud)

为什么我必须divide 2^32 / 2^12得到答案?

倒排页表中有多少个条目?

反向页表需要与内存中的页框一样多的条目.

Inverted page table: 2^29 (512mb)/ 2^12 (4000) = 2^17 = 131,072
Run Code Online (Sandbox Code Playgroud)

为什么我必须divide 512mb / page size获取倒置的页表条目?

以下地址引用的页码和偏移量是多少:a)30000,b)256,c)0xbcf034

a)30000十六进制:x7530页数:x7 = 7偏移量:x530 = 1328

b)256 in hex x100 Page#:x0 = 0 offset:x100 = 256

c)0xbcf034页数:xbcf = 3023偏移量:x034 = 22

如何根据十六进制地址确定这些页码和偏移量?

我知道答案,但我想了解为什么和如何.有人可以详细解释:)

operating-system memory-management offset

9
推荐指数
3
解决办法
2万
查看次数