copy on write机制

copy on write

  1. linux中的cow

    linux系统中,fork()会生成一个和父进程完全相同的子进程,子进程的执行时间不确定。处于效率考虑,Linux中引入了COW机制。
    在fork之后exec之前,父进程和子进程共用物理空间(内存),数据段,代码段和堆栈公用。
    当父进程或子进程将要更改相应段之前,再为子进程相应的段单独分配物理空间并拷贝。在子进程执行之前,子进程和父进程始终共用代码段,执行时子进程的代码段也会单独分配物理空间。

  2. 文件系统中的COW

    如果一直write的话,磁盘I/O性能就会大大降低。
    COW举个例子,编辑文件的时候,读写操作在内存(或者缓存)中进行,只有关闭文件的时候才会写到磁盘上。因为cow如果不正常关闭文件,修改就会丢失。
    另外就是突然掉电的话,因为读写操作没有在磁盘原位置进行,不会破坏文件系统,不需要fsck,保证数据的一致性。

  3. KVM镜像格式 qcow2中的COW

    qcow2的增量镜像,可以只保存后备镜像中修改的部分,而不影响后备镜像,看着是一个独立的镜像,但是其所有的数据都是从后备镜像获取。
    cow也挺简单,增量镜像开始只保存偏移地址,当有修改的时候,先检查增量镜像中是否存在,如果没有,就是后备镜像中读取。
    这也是为什么增量镜像一开始很小,越来越大的原因。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • COW基本定义 写入时复制(Copy-on-write,简称COW)是一种计算机程序设计领域的优化策略。其核心思想...
    此时彼地阅读 7,754评论 1 9
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,243评论 2 33
  • word直接复制来了,格式就不改了。至于这门课怎么复习,只要平时实验都认真完成、报告认真写,平时分都很高;考试的话...
    Jozhn阅读 4,654评论 0 8
  • 第四章 我想…… 没有办法,阮初菲不敢把已经揉了的那张给元艾辰,只好又给他画了一幅画,元艾辰看到之后,只问了一句...
    柠檬依安阅读 317评论 0 3
  • (标题出自北岛的诗句“如果天空不死”) 0.九点钟的夏夜,鞋子准备越狱晚风打着喷嚏,我的饱嗝连连挥挥手,告别那...
    子健阅读 571评论 0 2