在32位为什么地址空间限制为2^31?而不是2^32?在32位为什么地址空间限制为2^31?
回答
地址空间不限于2^31。地址空间是2^32。你所指的是内核保留2GB的高位离开应用程序的低2GB。
这只是32位Windows的实现细节。事实上,您可以在/ 3GB模式下运行Windows,在这种情况下,应用程序可以访问3GB的内存。
只需一些额外的信息:可以对其进行配置,以便Windows仅消耗1 GB。我不记得细节。另外,我记得在64位Windows中,在32位WoW子系统下运行的地方你会看到更多,但我不记得那些细节。值得研究,但。对于OP。 –
@Alf就是['/ 3GB'开关](http://blogs.msdn.com/b/oldnewthing/archive/2004/08/05/208908.aspx)。它就是这样。没有细节:) –
@Alf:这就是/ 3GB所做的。 –
- 1. Ubuntu 32位最大地址空间
- 2. 为什么打算32位寻址
- 3. 为什么Windows XP(32位)限制为3GB的可用内存?
- 4. vmalloc_to_pfn在Linux 32系统上返回32位地址。为什么它切断PAE物理地址的高位?
- 5. 为什么int 32位?
- 6. 使用64位整数迭代器的32位地址空间?
- 7. 如何将64位进程地址空间限制为小于4G?
- 8. 在32位x86内核地址空间中映射ZONE_HIGHMEM
- 9. 为什么内核说在进程地址空间?
- 10. 为什么valgrind在64位架构上仅限于32 Gb?
- 11. 为什么I2C_SMBUS_BLOCK_MAX限制为32个字节?
- 12. 为什么计算Free&Total驱动器空间限制在2G?
- 13. 为什么在32位机器上有2GB redis.io数据库的限制
- 14. 为什么32位和64位numpy/pandas之间有区别
- 15. 为什么这行不会被复制到子进程的地址空间中?
- 16. 什么是进程的地址空间?
- 17. 地址被视为32位而不是64位
- 18. 64位十进制如何存储在32位地址中?
- 19. 为什么依赖walker将32位dll显示为64位?
- 20. 为什么内存32位只需要1的地图
- 21. iptables的限制为每个IP地址
- 22. 为什么dns.gethotentry()方法返回地址列表为空?
- 23. 什么铸造了32位地址的类型(BYTE *)和(DWORD *)之间
- 24. 线程环境块如何在地址空间限制之上?
- 25. 为整个地址空间设置保护位
- 26. 保留64位的地址空间大小为4 GB
- 27. 为什么地理定位不能返回确切地址
- 28. 在Windows 7 64bit上,32位程序可以访问多少地址空间?
- 29. 为什么UnicastIPAddressInformation.IPv4Mask在IPv4地址上返回空值?
- 30. 为什么malloc(0)在Windows中返回一个非空地址?
@IAbstractDownvoteFactory so? 2到32次方是4吉比东西。 –