【问题标题】:How to split RAM for each Windows OS and my application?如何为每个 Windows 操作系统和我的应用程序拆分 RAM?
【发布时间】:2018-02-11 15:55:36
【问题描述】:

我想将我 PC 中的 RAM 分成两部分;一半用于我的 Windows 操作系统,另一半用于我的应用程序的图像缓冲区。例如,我的桌面有 32GB 内存,我想为 Windows 分配 16GB,并为我的应用程序访问分配另外 16GB。 Windows 不会触及其他 16GB,但我的应用程序应该使用该 16GB 图像缓冲区。我知道如何在 Linux 中执行此操作,但我需要在 Windows 操作系统中执行此操作。我想我必须配置 BIOS 并且需要为我的应用程序访问实现图像缓冲区的页面重映射 Windows 驱动程序。 有什么好办法吗?

【问题讨论】:

  • ...为什么?你为什么要这样做?为什么你不能相信操作系统的内存管理器会做正确的事情?
  • 我认为我需要使用连续内存,但如果 Windows 操作系统可以正确处理这个问题,我更喜欢使用它。那么,如果我为此使用 virtualalloc,是否会降低性能?

标签: windows memory remap


【解决方案1】:

您可以使用Address Windowing Extensions API 执行此操作。虽然这最初是为 32 位应用程序设计的,但它仍然可供 64 位应用程序使用,并且以这种方式分配的内存对虚拟内存管理系统不可用。

但是,您应该注意,在大多数情况下,允许虚拟内存管理器完成其工作将导致比显式锁定内存更好的整体性能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-17
    • 2013-11-23
    • 2015-10-27
    • 1970-01-01
    • 2015-03-20
    • 2013-08-27
    • 1970-01-01
    相关资源
    最近更新 更多