【问题标题】:Are Windows pages of memory always on a 4096 byte stride?Windows 内存页是否总是在 4096 字节的跨度上?
【发布时间】:2017-09-03 10:58:44
【问题描述】:

据我所知,在 Linux 系统上,mmaped 内存总是从 4096 内存的新页面开始。

Windows 操作系统也是这样吗?

【问题讨论】:

  • 为什么重要?
  • 对于英特尔处理器,页面大小数量有限,具体取决于处理器,4KB,然后是 2MB 或 4MB。见page size
  • 过去曾出现过页面大小不是 4KB 的 Windows 系统(命运多舛的 Itanium 系列)。未来可能还会有。 (我认为 Xbox 和 Windows 手机都使用 4KB 页面,与 x86 和 x64 相同,但我找不到这方面的参考。)
  • @Barmar 尝试从故障驱动器映像中恢复数据时可能很重要
  • @ChuckNorrris mmap 内存对齐会如何影响这一点?

标签: linux windows operating-system


【解决方案1】:

可能,但请致电GetSystemInfo 确定。页面对齐等于页面大小。

【讨论】:

    【解决方案2】:

    它由硬件管理。英特尔仅支持几种页面大小,4K、2M。

    其他硬件可能不同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-30
      • 2011-06-10
      • 2010-10-05
      相关资源
      最近更新 更多