> actually, vfork was implemted (as i understand it) due to insufficient core.

IIRC, it was invented for csh.  Typically a shell forks and
then immediately execs a program so all that copying done by
fork was a total waste of time (even setting up copy-on-write
is a waste).  vfork avoided copying almost entirely.  csh
wouldn't diddle with the parent's memory so *for that one
application* the vfork hack was safe.  Of course, we can't
have a special syscall just for one program, can we and
people used it in other programs, lured by its efficiency but
not always fully understanding it.

> fork used to swap the parent  to disk and continue with the child process.

Not necessary unless you are running on a machine with *no*
mapping h/w or with memory just enough for a single process.

> vfork was efficient if the child finished before it's scheduling quanta was
> used up.

It was efficient regardless but dangerous.

Reply via email to