zoukankan      html  css  js  c++  java
  • Linux写时拷贝技术(copy-on-write)

    1.传统的fork()函数
    创建一个子进程,子进程和父进程共享正文段,复制数据段,堆,栈到子进程
    示意图如下:

    2.Linux的fork()函数-写时复制(copy-on-write)
    创建一个子进程,内核只为子进程创建虚拟空间,不分配物理内存,和父进程共享物理空间,
    当父进程中有更改相应段的行为发生时,才为子进程分配物理空间。
    示意图如下:

    3.vfork()函数
    创建一个子进程,共享父进程的一切。
    示意图如下:

    4.传统fork与copy-on-write区别

    传统的fork函数直接把所有资源复制给新的进程,效率很低下。
    写时拷贝在需要写入时,数据才会被复制,没有数据写入时,fork()的开销实际只是复制父进程的页表以及给子进程创建唯一的进程描述符。有数据要写入前,会将将要改变的数据页复制给子进程。

  • 相关阅读:
    管道流
    构造方法中用泛型
    代码实现长提闪烁
    关联事件,向窗体中添加控件,设置控件属性等系列操作
    picturebox中添加图片
    typeof gettype
    groupbox
    static用法
    运算符重载
    类修饰符
  • 原文地址:https://www.cnblogs.com/shijingjing07/p/7499441.html
Copyright © 2011-2022 走看看