|
在google中搜索了一下,中文圈子里(主要是百度知道)竟然没有一篇东西能够把这事儿说清楚,可悲可叹。
然后用英文搜索了一下,基本上还能找到说清楚这事儿的地方,两个链接如下:
1、https://answers.microsoft.com/en ... f-a359-98b1237d50b8
2、https://support.microsoft.com/en ... mory-on-windows-7-b
核心内容如下:
This behavior is due to "memory mapped IO reservations". Those reservations overlay the physical address space and mask out those physical addresses so that they cannot be used for working memory. This is independent of the OS running on the machine.
Significant chunks of address space below 4GB (the highest address accessible via 32-bit) get reserved for use by system hardware:
• BIOS – including ACPI and legacy video support
• PCI bus including bridges etc.
• PCI Express support will reserve at least 256MB, up to 768MB depending on graphics card installed memory
What this means is a typical system may see between ~256MB and 1GB of address space below 4GB reserved for hardware use that the OS cannot access. Intel chipset specs are pretty good at explaining what address ranges gets reserved by default and in some cases call out that 1.5GB is always reserved and thus inaccessible to Windows.
大概意思就是:在4G以下的寻址空间中(x86的寻址空间就是4G),并不完全是内存地址,有很多硬件的IO地址(包括集成显卡占用内存)也是要占用这个寻址空间的,包括PCI(-E)等硬件设备,所以,无论你安装什么系统,这部分被硬件占用的地址空间所对应的内存是无法直接被操作系统使用的。但是,还是有一些技术可以将这些内存使用起来,类似Windows的PAE,详细的技术细节我也不太了解,大概就是页面重映射之类的概念。我们经常使用的PrimoCache或者PrimoDisk之类的软件都支持使用系统未识别内存,下面是该软件网站上的相关介绍:
https://www.romexsoftware.com/zh ... visible-memory.html
|
评分
-
查看全部评分
|