请问关于CPU的虚拟地址空间和虚拟内存

发布于 2022-09-18 03:02:03 字数 233 浏览 8 评论 0

书上说386的虚拟地址空间是64TB。但是我怀疑,虚拟内存真的能超过4GB吗?〔这里认为CPU地址线是32根,不考虑36根地址线的pentium pro〕

关于为windows系统设置虚拟内存,理论上,虚拟内存设置为100GB比设置为10GB效果更好吗?或者说,如果有了4GB的物理内存,是不是就再也不会用到硬盘充当虚拟内存了?
64TB只是48位*地址空间*?而*虚拟内存*最大值应该还是4GB?
高手表走,谢谢先

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

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

发布评论

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

评论(9

つ可否回来 2022-09-25 03:02:03

不能这样算,你还是先看看其保护模式再说

夜未央樱花落 2022-09-25 03:02:03

老大,我说的就是保护模式啊。
我是自学的,看书怎么也看不明白,很痛苦,才来麻烦你们的,谢谢

把人绕傻吧 2022-09-25 03:02:03

我在网上查了,有两种说法,一种是说,可以用硬盘把虚拟内存扩展到64TB;另一种说法是,最大4GB,扩展到4GB以上,超出的部分不会起作用的,如果有4GB的内存,OS就不可能用到硬盘作为虚拟内存了。
到底哪种说法是对的啊,跪求!!

笑,眼淚并存 2022-09-25 03:02:03

32位的cpu只能寻址4G空间,如果要高于4G就需要通过physical address extension(简称PAE)技术实现,扩展为36个地址位来支持64G内存

参考:
http://hi.baidu.com/odawn/blog/item/012767318c490110eac4af6f.html

过气美图社 2022-09-25 03:02:03

谢谢楼上,我说的是虚拟内存,不是物理内存啊,
64TB意味着什么呢?是不是理论上可以用64TB的硬盘把虚拟内存扩大到64TB?我在网上查了,有两种相反的说法啊

清泪尽 2022-09-25 03:02:03

原帖由 新警察 于 2009-9-8 09:33 发表
谢谢楼上,我说的是虚拟内存,不是物理内存啊,
64TB意味着什么呢?是不是理论上可以用64TB的硬盘把虚拟内存扩大到64TB?我在网上查了,有两种相反的说法啊

是的,你可以这么理解
不过究竟可以用多少虚拟内存还取决于操作系统
64TB只是CPU最大的寻址上限,很多操作系统可能达不到这个上限

另外,至于你的有4GB物理内存还需不需要虚拟内存的问题,这一方面取决于应用程序,比如大型的图像处理程序,用10GB内存都不是奇怪的事情。另外也取决于操作系统的换页机制,有的操作系统即便是你有100G的物理内存,也会把物理内存的页面不定期的换到swap里面去

无敌元气妹 2022-09-25 03:02:03

64TB只是CPU最大的寻址上限
是理论值

有4GB物理内存,基本用不倒虚拟内存

神爱温柔 2022-09-25 03:02:03

谢谢。
是不是如果真的有64TB虚拟内存,就意味着CPU必须有48根地址线,才能完全利用虚拟内存?
是不是对于32位CPU〔比如有36根地址线的pentium pro〕,如果没有开启PAE技术,那么,在已经有了4GB物理内存的情况下,用硬盘充当虚拟内存没有效果,因为OS不能寻址4GB以上的内存?是这样吗?

殤城〤 2022-09-25 03:02:03

原帖由 新警察 于 2009-9-8 10:33 发表
谢谢。
是不是如果真的有64TB虚拟内存,就意味着CPU必须有48根地址线,才能完全利用虚拟内存?
是不是对于32位CPU〔比如有36根地址线的pentium pro〕,如果没有开启PAE技术,那么,在已经有了4GB物理内存的情 ...

可以看看X86的页表结构

x86的页表结构决定了它最大可以表达多大的物理地址空间
平坦内存模式和32位线性地址空间决定了进程的4G空间限制
CPU管脚决定了使用“内存条”的限制
OS的文件系统决定了交换分区的限制
四者其实没什么必然关系

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