【发布时间】:2011-11-09 05:07:33
【问题描述】:
我今天在考试中遇到了这个问题:
假设您有一个具有 38 位逻辑地址、16K 页大小和每个页表条目 4 字节的计算机系统。
逻辑地址空间中有多少页?假设我们使用两级分页,并且每个页表都可以完全放入一个框架中。
对于上述系统,给出逻辑地址位的分解,明确指出偏移位、页表索引位和页目录索引位的个数。
假设我们有一个 32MB 的程序,因此整个程序和所有必要的页表(使用两级分页)都在内存中。程序使用了多少内存(以帧数计),包括它的页表?
我该如何解决这样的问题?到目前为止,我一直认为页面大小 = 帧大小,但在这种情况下不会发生。
这是我的想法:
由于页面大小为 16K,我的偏移量将为 17 位 (2^17 = 16K)。现在我如何划分其余的位,帧大小是多少?我将其余的位分成两半吗?
【问题讨论】:
-
@MichaelPetrotta 很好,因为页面大小是 16K,现在这意味着我的偏移量将是 17 位(2^17 = 16K)。现在我如何划分其余的位,我的帧大小是多少?我要把剩下的部分分成两半吗?
-
@Karan:您在页面内的偏移量是 14 位长,因为 2^14=16384。使用计算器...