【问题标题】:Can a Page Number of a given virtual address be equals to 0 in memory mapping?给定虚拟地址的页码在内存映射中可以等于0吗?
【发布时间】:2018-02-09 23:50:42
【问题描述】:

假设您获得了 6 KB(6144 字节)的页面大小和 2309 的虚拟地址值,使用以下公式:页面 = 虚拟地址 / 页面大小,即 0,376 或仅 0 在现实世界中是否可行情况,提前谢谢?

【问题讨论】:

  • 非 2 的幂的页面大小似乎极不可能。这意味着硬件需要实际除/模来获得页面/偏移量,而不是仅仅将低地址位作为偏移量,将高地址位作为页面。 (除非您的硬件使用三进制而不是二进制逻辑?但是不,您的页面大小有多个主要因素,所以它不是 3 的幂。)

标签: memory-management operating-system mapping computer-science cpu-architecture


【解决方案1】:

页面是整数实体,因此有从 0 到最大页面数的连续页面地址,与从 0 到最大内存大小存在的虚拟地址相同(忽略规范性) - 虚拟地址 2309 是页码中的字节数 2309 0.

话虽如此,虚拟页面不必存在,也不必映射到物理地址,因此不必访问虚拟地址范围内的任何随机地址。

【讨论】:

  • 我有一个完全不同的先入之见,我对这个主题还比较陌生,感谢@Haim Cohen 的精彩见解。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-18
  • 2018-07-09
相关资源
最近更新 更多