Copy-on-Write 一个很好的例子

http://www.ibm.com/developerworks/cn/aix/library/1207_weixy_powervmamd/ 的这个解释很棒!



这对这个概念,可以举一个形象例子,参照上图进行理解。在服务器上,有三个区 :vioc1,vioc2,vioc3。三个分区上分别有一个逻辑内存页:a,b,c,指向同一个物理内存页 A,A 中的内容是:甲。逻辑内存页 a,b,c 中的内容也是“甲”。

若三个分区均没有修改内存页内容的请求,则状态将会保持下去。在某一时刻,vioc1 对逻辑内存页 a 发出写请求,要将这个页面中的“甲”变成“乙”。此时,Hypervisor 会先对 AMS pool 内存页 A 做一份拷贝,生成一个新的物理内存页 B,Hypervisor 修改逻辑内存表,将 B 指向 vioc1 的逻辑内存页 a;然后告诉 vioc1 可以开始修改数据。vioc1 通过从 a 到 B 的映射关系,将物理内存页中“甲”修改成“乙”。这样,vioc1 对内存的修改就完了。由于,因为 vioc2 和 vioc3 并没有对内存的修改请求,因此这两个分区依然指向物理内存页 A,里面含有内容“甲”。


Jobs 教主曾经说过,大意是:只有真正理解了,才能将复杂的东西 用简单的语言描述之!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值