【问题标题】:If size of the physical memory is 2^32-1, then what is the size of virtual memory?如果物理内存的大小是 2^32-1,那么虚拟内存的大小是多少?
【发布时间】:2023-03-05 11:47:01
【问题描述】:

我知道物理地址将是 32 位长,但是我如何通过这些信息找出虚拟内存的大小?

【问题讨论】:

  • 虚拟内存存储在磁盘上,可以是任意大小。
  • 总虚拟内存空间取决于架构(和操作系统)。它与物理内存大小无关。如果您的意思是交换空间,那也与物理内存大小无关。

标签: operating-system virtual-memory


【解决方案1】:

虚拟内存地址空间的总大小在x86 架构上为 2^32,而在x64 架构上则更大(目前约为 2^48)。但是,操作系统通常会保留一部分空间,因此 32 位应用程序不一定能同时处理 4GB。此外,操作系统可以轻松地交换不同的内存块,因此如果需要,可以通过一种银行切换形式在操作系统的帮助下支持超过 4GB 的内存,方法是告诉它在您想要访问内存时修改您的页表当前未映射到您的地址空间。

另外,支持的最大物理内存量不一定是 2^32。即使是 32 位机器,通常也通过 PSE36 或 PAE 支持高达 2^36。

【讨论】:

  • 虚拟内存大于物理内存,所以虚拟内存的大小不应该大于2^32吗?
  • 不,虚拟内存不一定大于物理内存。
  • 假设物理内存的大小是2^32 - 1,我们要根据这个信息找到虚拟内存的大小。
  • 这是一道作业题吗?只要反刍教授想要的任何东西。它与现实世界没有任何关系。
  • 他们想要的答案可能是“你不能”。只谈一下分页和 PAE 之类的东西,他们可能会印象深刻。
【解决方案2】:

仅仅给出物理内存的大小是无法确定虚拟内存大小的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-27
    • 1970-01-01
    • 2011-03-25
    • 1970-01-01
    • 2019-05-12
    • 2012-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多