返回信息流虚拟内存最大值与啥有关呀? 答案选项有 硬盘大小,还有位数(寻址空间)该选哪个呢?求科普
这是一条镜像帖。来源:北邮人论坛 / windows / #122239同步于 2014/9/25
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Windows机器人发帖
笔试题
pansq
2014/9/25镜像同步12 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
当然是位数了!
不管是虚拟内存还是物理内存,寻址空间的大小还是有位数决定的,除非采用更高级的寻址技术,在位数不变的情况下扩大虚拟内存。两年前的微机原理水平,露珠看看就好了
但是如果硬盘不够,哪里放虚拟内存呢?
【 在 june0334 的大作中提到: 】
: 当然是位数了!
: 不管是虚拟内存还是物理内存,寻址空间的大小还是有位数决定的,除非采用更高级的寻址技术,在位数不变的情况下扩大虚拟内存。两年前的微机原理水平,露珠看看就好了
来自「北邮人论坛手机版」
【 在 wmzhere 的大作中提到: 】
: 但是如果硬盘不够,哪里放虚拟内存呢?
:
: 来自「北邮人论坛手机版」
你想多了,现在物理内存顶多也就8G,虚拟内存不会比这个大多少,难道你的存储设备是U盘?硬盘随随便便不就上百G了。
不可以是位数限制了虚拟内存。
在 IA32 体系下(我们只讨论 Windows 嘛),若处理器为 b 位,Page size 为 p ,则一个进程可以访问的最大地址范围为 2 ^ b ,而 CPU 最大将物理地址(PA)范围是 2 ^ x * p 。(x 由 CPU 确定)
当虚拟内存(VM)存在时,情况有变化。对于 n 个进程,理论最大利用的 VA 范围是 2 ^ b * n。这有可能大于 2 ^ x * p,就是所谓的位数限制。但是,操作系统完全可以在缺页中断发生时,把当前线程所在进程外的其他进程的 PA 移动至 VM ,释放出 PA ,然后向 PA 填充进 VM 的内容并映射入当前进程的 VA (换页),留给当前进程使用。
这样,虽然对于每一个进程,访问的 VA 受到位数的限制,但是可以存在多个进程,从而在总可访问的 VA 上超过 PA ,即绕过位数的限制。
当然,EPROCESS 等维护进程的数据结构在不可换页的内存中,有可能进程数达不到 VA 之和大于 PA 时就耗尽了 non pageable 内存。这种奇葩情况就需要精确地计算了。
操作系统原理已有生疏,如有细节问题,请告之我修改。谢谢!
【 在 june0334 的大作中提到: 】
: 当然是位数了!
: 不管是虚拟内存还是物理内存,寻址空间的大小还是有位数决定的,除非采用更高级的寻址技术,在位数不变的情况下扩大虚拟内存。两年前的微机原理水平,露珠看看就好了
来自「北邮人论坛手机版」