好的,我在Stack周围做了一些搜索,但找不到这个问题的答案。这是在课堂上提到的东西,但教授并没有特别说明如何解决这个问题。
如果我们假设一个系统是64位的,有128 of的物理内存,但我们希望进程以256 of的内存运行,那么我如何计算逻辑地址所需的位?
到目前为止,我所做的所有研究都涉及2-4 4GB的物理内存,但我终生无法弄清楚如何计算它。我需要知道这一点,以便理解页面的位移和条目...
发布于 2011-04-19 10:34:27
所需的位数不仅取决于进程的大小,还取决于每个地址所指向的字节数。
一般的公式是:
num_of_bits = ceiling(log_2(size_of_process_in_bytes / bytes_pointed_by_an_address))发布于 2011-04-19 10:40:14
也许这会有帮助。给定32位,我们有:2的32次方=4 294 967 296 => 4 4GB最大地址空间,可由32位字长访问。
对于64位系统,我们有:2的64次方= 18 446 744 073 709 551 616 => 16EB (EB = exbibytes) 64位字长可访问的最大地址空间,这实际上是没有限制的,但我们受到硬件的限制(例如,我的主板仅支持最大24 EB)。
希望这能有所帮助!
https://stackoverflow.com/questions/5710910
复制相似问题