[TUHS] forking, Re: [COFF] Re: On Bloat and the Idea of Small Specialized Tools
John Levine
johnl at taugh.com
Mon May 13 06:13:48 AEST 2024
It appears that Larry McVoy <lm at mcvoy.com> said:
>Perhaps a meaningless aside, but I agree on fork(). In the last major
>project I did, which was cross platform {windows,macos, all the major
>Unices, Linux}, we adopted spawn() rather than fork/exec. There is no way
>(that I know of) to fake fork() on Windows but it's easy to fake spawn().
The whole point of fork() is that it lets you get the effect of spawn with
a lot less internal mechanism. Spawn is equivalent to:
fork()
... do stuff to files and environment ...
exec()
By separating the fork and the exec, they didn't have to put all of
the stuff in the 12 paragraphs in the spawn() man page into the the
tiny PDP-11 kernel.
These days now that programs include multi-megabyte shared libraries
just for fun, I agree that the argument is less persuasive. On the
third hard, we now understand virtual memory and paging systems a lot
better so we don't need kludges like vfork().
R's,
John
More information about the TUHS
mailing list