copy- on-write
Linux的fork()使用写时拷贝 (copy- on-write)页实现.
写时拷贝是一种可以推迟甚至避免拷贝数据的技术.
内核此时并不复制整个进程的地址空间,而是让父子进程共享同一个地址空间.
只 用在需要写入的时候才会复制地址空间,从而使各个进行拥有各自的地址空间.
也就是说,资源的复制是在需要写入的时候才会进行,在此之前,只有以只读方式共 享.这种技术使地址空间上的页的拷贝被推迟到实际发生写入的时候.
在页根本不会被写入的情况下---例如,fork()后立即执行exec(),
地址空间 就无需被复制了.fork()的实际开销就是复制父进程的页表以及给子进程创建一个进程描述符