关于分页机制

无言猪 2011-01-12 10:10:02
关于分页机制的一个疑问.在32位(假设了地址总线也是32位)的机器上,一个进程访问自己地址空间的一个地址A,操作系统把地址A转换成物理地址B,然后查询B是否在内存中,如果不在,换入内存进行操作. 如果内存超过了4G,那还是否需要虚拟内存,也就是32的地址总线只能访问4G的地址空间,4G内存外加各种外设设备已经超过了4G.那这个时候的虚拟内存还有什么实际用处.
...全文
109 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
无言猪 2011-01-12
  • 打赏
  • 举报
回复
谢谢大家,还是自己看书不仔细,原来缺页异常是发生在线性地址转换成物理地址之前发生的.
Eleven 2011-01-12
  • 打赏
  • 举报
回复
雪影 2011-01-12
  • 打赏
  • 举报
回复
虚拟内存作为内存的一个补充,实际上程序运行时,代码是不可能在虚拟内存中的,必须置换到实际的内存中。虚拟内存主要是为了将内存中很少使用的内存置换出来,把实际内存留给其他程序使用,提高程序效率。
虚拟内存本质就是硬盘中的文件,只不过该文件的类型和普通文件类型、用途不太一致而已。
varding 2011-01-12
  • 打赏
  • 举报
回复
虚拟内存是在硬盘里建一个文件,简单的方法,用数据在文件里的偏移做地址就可以了,这样就不会超过文件大小,如果虚拟内存小于4g,那么这个地址就不超过4g
zhangqiushui 2011-01-12
  • 打赏
  • 举报
回复
每个进程有自己的4G虚拟内存,和物理内存没什么关系吧。

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧