【问题标题】:Paging / Virtual Memory Translation分页/虚拟内存转换
【发布时间】:2017-10-27 19:32:24
【问题描述】:

分页/虚拟内存翻译

假设我们有一个 64 字节的地址空间,也就是 512 位。 对于 16 字节的页面,我们的地址空间内总共有 4 个页面。每页有 128 位可用。

我的教科书说因为虚拟地址 进程的空间是 64 字节,我们的虚拟地址总共需要 6 位。

问题1: 为什么虚拟地址是6位?他们是怎么得出这个数字的?

问题 2: 为什么要拆分成 16 字节的页面?它可以将它们分成 8、8 字节的块?

【问题讨论】:

  • 与 C++ 无关;您对汇编代码、C、Go 或 Ocaml 也有同样的问题。阅读pages.cs.wisc.edu/~remzi/OSTEP
  • 这就是我正在阅读的内容。我的问题与教科书有关,教科书主要由 C 代码组成。
  • 我的意思是c++ 标签离题了。

标签: memory memory-management


【解决方案1】:

为什么虚拟地址是 6 位?他们是怎么得出这个数字的?

64 个数字需要 6 位来寻址

为什么它把它分成 16 字节的页面?它可以将它们分成 8、8 个字节的块?

正确。这是一个决定

【讨论】:

  • 但虚拟地址不应该在 128 位以内(每页)吗?这是它必须适合的页面大小。
猜你喜欢
  • 1970-01-01
  • 2012-04-04
  • 2012-03-21
  • 2012-04-15
  • 2015-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-08
相关资源
最近更新 更多