A Commentary on the Sixth Edition of the Unix Operating System (1977)
lemis.com
lemis.com
A fork on GitHub: https://github.com/kanner/lions-book
https://www.amazon.ca/Lions-Commentary-Unix-John/dp/15739801...
this repo has many more versions of unix source:
https://github.com/dspinellis/unix-history-repo
I used the book, or tried to use it, to track down the original chroot code, for my own little container implementation for a talk:
https://en.m.wikipedia.org/wiki/A_Commentary_on_the_UNIX_Ope...
Edit: no, it's not. During the reparenting step, the process should also clean all its zombie children and that may be a long action that involves swapping from disk; so its instead delegated to PID 1 to do it one process at a time. Well, at least now I have at least some of justification for the original design.
imagine instead of wait, processes just went away, and we have..lets say a pipe that contains the single byte exit. have we lost anything important?
But notice that the Sixth Edition didn't yet have "select", so they had to invent a separate, non-fd kind of entity to track the processes and a separate syscall to both check the process status and to free the tracking entity.
(see: https://xkcd.com/37/)
This seems quite small, even without the aid of modern IDEs. Is there any evidence that such a limit exists?