一般我们运行程序都是Fork一个进程后马上执行Exec加载程序,而Fork的时候实际上用的是父进程的堆栈空间,Linux通过Copy On Write技术极大地减少了Fork的开销。
Copy On Write的含义是只有真正写的时候才把数据写到子进程的数据,Fork时只会把页表复制到子进程,这样父子进程都指向同一个物理内存页,只有再写子进程的时候才会把内存页的内容重新复制一份。
一般我们运行程序都是Fork一个进程后马上执行Exec加载程序,而Fork的时候实际上用的是父进程的堆栈空间,Linux通过Copy On Write技术极大地减少了Fork的开销。
Copy On Write的含义是只有真正写的时候才把数据写到子进程的数据,Fork时只会把页表复制到子进程,这样父子进程都指向同一个物理内存页,只有再写子进程的时候才会把内存页的内容重新复制一份。