我对 32 位操作系统的理解是,地址以 32 位表示,所以操作系统最多可以使用 2 32 = 4G 内存空间——我假设单位是字节,所以 4GB。
这是否意味着如果任何具有 32 位操作系统(无论是 Windows 还是 Unix)的机器在硬盘上总共有超过 4GB 的 RAM + 页面文件,例如 8GB 的 RAM 和 20GB 的页面文件,它的内存将永远不会被“用完” “?
通过“用起来”我的意思是增加RAM或页面文件将不利于性能; 当然,应用程序总是有可能不断从操作系统请求内存但失败。
同样,如果这台 32 位操作系统机器有 2GB RAM 和 2GB 页面文件,增加页面文件大小对性能没有帮助。这是真的?
为什么是这样:
更具体地说,我有一个 64 位处理器(Intel Core 2 Duo)。当我安装了 Windows XP 和 Windows 7(均为 32 位)时,它们可以运行旧的 DOS 和 616 位 Windows 应用程序。
现在我已经安装了 64 位版本的 Windows 7。为什么它不能运行那些相同的应用程序了?
我知道对于像 286s 这样的旧机器,从引导驱动器的第一个扇区加载到内存中的 0000:7C00 的前 512 个字节是在 16 位实模式下运行的,但是现代 64 位架构呢?
编辑:我想这是一个错误的问题。引导加载程序的编写者是决定使用哪种模式汇编指令的决定者,对吗?硬件只是按照它所说的去做。那么我的问题应该是,64 位机器上的主要操作系统引导加载程序(如 Windows 7、Mac OS X(最新)和 GRUB)使用什么模式?