shell, perl, performance, parallelism, profiling, etc.
Roger M. Levasseur
roger.levasseur at comcast.net
Wed Oct 22 21:21:51 EDT 2008
> One might remember the Unix
> vfork(2) system call. Originally, the fork(2) call would clone the
> entire data segment (data abd .bss), but vfork(2) would implement a
> copy-on-write strategy. Since Linux has been virtual since inception,
> there is no difference between the vfork(2) and fork(2) system calls.
I recall reading that the BSD developers originally intended
fork(2) to do a copy-on-write method, but a micro-code bug in the
VAX 11/750 prevented that from working, so they implemented vfork(2)
as a way to get around it. That vfork(2) didn't do copy-on-write,
but suspended the parent process until the child either did an exec
or an exit. In fact, the vfork(2) (4.2BSD) man page says that the
call would be eliminated when "proper system sharing mechanisms are
implemented".
I've read elsewhere that others didn't believe that the firmware bug
existed.
-roger
More information about the gnhlug-discuss
mailing list