考虑具有64 MB物理内存和32位虚拟地址空间的计算机。如果页面大小为4 KB,页面表的大致大小是多少?
我的解决方案:
Number of pages in physical memory = (size of physical memory)/(size of page)
= 64 * 2^10 / 4
= 2^14
Number of pages in virtual memory = (size of virtual memory)/(size of page)
size of virtual memory = 2^32 bits
= 2^29 bytes
= 2^19 kBytes
Number of pages in virtual memory = 2^19/4 = 2^17
=> Number of entries in page table = 2^17
Size of each entry = 17+14 =31 bits
Size of page table = 31 * 2^17 bits
= 31 * 2^14 bytes
= 31 * 2^4 KB
= 31*16
= 496 KB
但答案是8 MB。为什么呢?
答案 0 :(得分:0)
之前已经问过这个问题。但是,问题中没有足够的信息来确定页面表的大小。
答案 1 :(得分:0)
8MB无法回答,
物理地址空间 = 64MB = 2 ^ 26B
虚拟地址 = 32位,∴虚拟地址空间 = 2 ^ 32B
页面大小 = 4KB = 2 ^ 12B
页数 = 2 ^ 32/2 ^ 12 = 2 ^ 20页。
帧数 = 2 ^ 26/2 ^ 12 = 2 ^ 14帧。
∴页面大小 = 2 ^ 20×14位≈2^ 20×16位≈2^ 20×2B = 2MB。