正文内容 评论(0)
快科技9月13日消息,长期以来,大众普遍认为32位Windows只能用4GB内存是因为2^32=4GB,32位地址数不过来,但实际上这个说法对虚拟内存成立,但物理内存的工作方式完全不同。
微软资深工程师Raymond Chen曾解释称,32位Windows被限制在4GB内存并非因为32位地址空间的技术天花板,而是为了防止大量未经测试的硬件驱动导致系统崩溃。
Intel早在Pentium Pro时代就通过PAE技术让32位x86芯片支持36位物理地址,理论上可寻址空间提升至64GB。
微软的PAE文档也显示,Windows Server 2003 SP1企业版支持到64GB内存,数据中心版在支持的处理器上更是最高可达128GB。
既然硬件和操作系统都支持,为什么不让普通用户用?Raymond Chen给出的答案指向了驱动程序。
PAE开启后,物理地址可能超过32位能表示的范围,此时驱动程序不能再假设物理地址能塞进32位整数里。
微软在文档中表示:“不使用PAE内存寻址时,设备驱动程序可以假设物理地址和32位虚拟地址上限是相同的,但PAE内存使这一假设不再成立。”
比如驱动拿到一个需要超过32位表示的物理地址,直接截断高位塞进32位变量,Windows以为数据写到了A位置,硬件实际写到了B位置,结果可能就是内存损坏或直接蓝屏。
在普通消费级PC中,打印机、扫描仪、摄像头、声卡、各种杂牌扩展卡都需要驱动,而微软不可能逐一测试这些驱动在PAE环境下的表现。
Windows XP SP2和Windows Server 2003 SP1标准版因此修改了硬件抽象层,将物理地址空间硬性限制在4GB。
至于Windows Server为什么不受此限制?Chen的解释直白而精准:服务器管理员不会随便安装驱动,只用Windows自带的经过PAE测试的原版驱动,甚至连显卡厂商驱动都不装。
Chen同时否定了“微软限制内存是为了逼迫用户购买Windows Server”的阴谋论。事实上,支持超过4GB内存的最便宜Windows Server 2003企业版,售价高达3999美元,这个价格本身就足以说明微软没有这个意图。
随着64位计算普及,4GB内存的PC越来越少见,Windows 11最终完全停止了32位版本的发布。PAE这个曾经让32位系统突破4GB的权宜之计,也随着64位的全面普及退出了历史舞台。
- 热门文章
- 换一波
- 好物推荐
- 换一波
- 关注我们
-
微博:快科技官方
快科技官方微博 -
今日头条:快科技
带来硬件软件、手机数码最快资讯! -
抖音:kkjcn
科技快讯、手机开箱、产品体验、应用推荐...



