关于32位操作系统最大能支持4G内存的问题

发布于 2022-09-07 16:31:24 字数 232 浏览 26 评论 0

关于这个问题,我是这么理解的:
① 确切的说,应该是32位CPU最大支持4G内存
因为32位CPU有32根地址总线,每根线0或1,总共2^32种可能性,2^32个内存地址,每个内存地址对应1个字节的内容,所以是4G
② 因为32位操作系统本身只是为32位cpu设计的,所以32位系统下,即便是64位的CPU,也仅有32根地址线工作
这是操作系统的限制吧,32位操作系统,只编址到32位?
我的理解正确吗?
谢谢诸位

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

爱的十字路口 2022-09-14 16:31:24

不是。

Intel 的 32 位 CPU,可使用的地址总线是 36 根(而非 32 根),可寻址的最大内存空间是 2^36 = 64G,可用的地址空间是 4G。而 16 位系统的 8086 使用了 20 根地址总线寻址。

即使是 64 位 CPU,地址总线是 46 根,最大的寻址地址是 2^46 = 64T

所以,这个不是由总线决定的,而是由操作系统限制的。即使 Windows 系统,通过 PAE 完全可以使用超过 4G 的 RAM,至于为什么默认被禁用,主要原因还是 Windows 需要兼容以前的版本,尤其是驱动程序。

-黛色若梦 2022-09-14 16:31:24

结合虚拟页面,操作系统本身就已经突破这一限制了,4G应该指的是单个进程的内存寻址限制吧。抱歉有点忘记了。

没有伤那来痛 2022-09-14 16:31:24

一楼答案很标准。赞一个

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文