首页 > 未分类 > copy on write技术

copy on write技术

2011年6月24日 sigma 发表评论 阅读评论

之前一直在fork中看到copy on write这个词,但一直不太懂什么意思,今天看Redis数据库实现,发现其写入硬盘也采用了copy on write技术,于是去wiki的copy on write词条看了下,顺便在这里翻译下:

Copy-on-write (sometimes referred to as “COW”) is an optimization strategy used in computer programming. The fundamental idea is that if multiple callers ask for resources which are initially indistinguishable, they can all be given pointers to the same resource. This function can be maintained until a caller tries to modify its “copy” of the resource, at which point a true private copy is created to prevent the changes becoming visible to everyone else. All of this happens transparently to the callers. The primary advantage is that if a caller never makes any modifications, no private copy need ever be created.

中译为:

Copy on write(有时也简称为COW)是一种计算机程序优化手段。其基本思想是当几个调用者使用一些由同一个地方初始化来的对象,这些调用者指针可以只想同一个资源(初始来源)。这种状态可以一直持续到,某个调用者修改其伪“拷贝”时,这时,该调用者会真正的创建一个似有备份,以便修改不会被其他调用者看到。Copy on write的好处是,假如调用者没有修改,没有似有备份创建(可以节省空间和加快速度,译注)。

Copy on write思想本质是拖,和一致性协议中的懒惰更新本质差不多,优点也差不多。
事实上,在Linux中,进程创建fork就采用了copy on write技术,因此可以快速的创建子进程。

本文作者: Sigma    在新浪微博关注SigmaSigmaWeibo    RSS订阅本博客
本文链接: http://mblog.sigma.me/2011/06/24/copy-on-write.html
本博客采用知识共享署名—非商业性-禁止演绎使用3.0协议进行许可,转载请保留作者和原文链接。

  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.

无觅相关文章插件,快速提升流量