免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1561 | 回复: 2
打印 上一主题 下一主题

[内存管理] 关于虚拟内存的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-02-22 11:16 |只看该作者 |倒序浏览
虚拟存储器是物理内存加上磁盘上的交换文件组成,运行程序的时候开始只调入少部分的页面放入物理内存中,然后其他大部分是调入交换文件中?那磁盘总岂不是有这个文件的一份拷贝?还有就是如果虚拟地址对应的页块在磁盘中,是在磁盘的交换文件中还是原磁盘文件中?

论坛徽章:
4
丑牛
日期:2014-01-11 15:11:12亥猪
日期:2014-12-15 22:19:092015年辞旧岁徽章
日期:2015-03-03 16:54:152015年亚洲杯之约旦
日期:2015-03-13 19:45:11
2 [报告]
发表于 2013-03-03 18:57 |只看该作者
根据写时复制技术,进程刚开始创建时只为进程分配了少量物理内存用来存储环境变量等信息,可执行程序还在硬盘中,当执行第一条指令的时候发现该地址不在内存中,会申请一物理内存页,把文件读进来
当物理内存不足时会把某一页换入硬盘中,着用的虚拟内存技术
分清写实复制和虚拟内存

论坛徽章:
0
3 [报告]
发表于 2013-03-06 10:25 |只看该作者
本帖最后由 omycle 于 2013-03-06 10:31 编辑

回复 1# cnppk

试着回复一下,有错的地方请大伙纠正。
虚拟存储器是物理内存加上磁盘上的交换文件组成,运行程序的时候开始只调入少部分的页面放入物理内存中,


然后其他大部分是调入交换文件中?

不对。交换文件(swap file)是用来存放从物理内存中换出(swap out)的匿名页(anonymous page)的。交换文件位于磁盘上的某个文件或者某个分区。
那磁盘总岂不是有这个文件的一份拷贝?

如果内存中的内容存放的是磁盘上的某个文件,当然是对的。其他情况不对,例如,某个匿名页并没有被swap out,该匿名页就不对应磁盘上的一份拷贝。

还有就是如果虚拟地址对应的页块在磁盘中,是在磁盘的交换文件中还是原磁盘文件中?

交换文件中。
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP