参考:《Linux内核设计与实现》
Linux 的fork()使用写时拷贝页来实现!
写时拷贝:是一种推迟或者免除拷贝的技术。
内核fork()时并不复制整个进程地址空间,而是让父子进程共享一个地址空间---》只有在需要写入时,数据才会被复制,从而使各个进程拥有各自的拷贝数据。
也就是说,只有在需要写入的时候才复制资源,在此之前,以只读方式共享。
比如:父进程fork()后,子进程立即exit(),子进程并不需要重新拷贝父进程的内存空间了。
参考:《Linux内核设计与实现》
Linux 的fork()使用写时拷贝页来实现!
写时拷贝:是一种推迟或者免除拷贝的技术。
内核fork()时并不复制整个进程地址空间,而是让父子进程共享一个地址空间---》只有在需要写入时,数据才会被复制,从而使各个进程拥有各自的拷贝数据。
也就是说,只有在需要写入的时候才复制资源,在此之前,以只读方式共享。
比如:父进程fork()后,子进程立即exit(),子进程并不需要重新拷贝父进程的内存空间了。