J
J de Boyne Pollard
M> The library functions which are included to allow process
M> launch, forking, and termination, imply that it is both
M> possible and desirable for a process to fork itself. This
M> is a fundamental part of the Unix thought process, but is
M> not essential for a working OS.
RP> How do you intend for users to run programs? You'd
RP> still need to allow process launch and termination, even
RP> if you eliminated forking. [...]
Note that what Matt wrote was confused. Forking _is_ process
launching. It is how one creates a new process. The phrase "launch,
forking, and termination" is like the phrase "glucose and sugar" used
in Mars Bar advertisements in some countries during the 20th century,
which at least one chemist used to translate to "sugar and more
sugar". The correct third action, to group with forking and
termination, is program image overlay -- i.e. execve().
M> launch, forking, and termination, imply that it is both
M> possible and desirable for a process to fork itself. This
M> is a fundamental part of the Unix thought process, but is
M> not essential for a working OS.
RP> How do you intend for users to run programs? You'd
RP> still need to allow process launch and termination, even
RP> if you eliminated forking. [...]
Note that what Matt wrote was confused. Forking _is_ process
launching. It is how one creates a new process. The phrase "launch,
forking, and termination" is like the phrase "glucose and sugar" used
in Mars Bar advertisements in some countries during the 20th century,
which at least one chemist used to translate to "sugar and more
sugar". The correct third action, to group with forking and
termination, is program image overlay -- i.e. execve().