CVSROOT:        /cvs
Module name:    src
Changes by:     schwa...@cvs.openbsd.org        2011/11/17 05:55:05

Modified files:
        lib/libc/sys   : execve.2 

Log message:
Fix HISTORY:
Mention the predecessor exec() in v1, and remove the bogus "appeared
in 3BSD", just leave "execve() appeared in v7", because:

(1) There is a direct line of inheritance from v7 (Bell, Jan 1979)
via 32v (Bell, May 1979) to 3BSD (UCB, Feb 1980), and it goes without
saying that children include code from their grandparents.

(2) It is impossible that there was parallel development of execve()
at Bell and UCB.  The only UCB release before v7 was 1BSD (May 1978),
and even 2BSD (May 1979) did not include any kernel parts but fully
relied on the Bell v6 kernel.  When Bell released 32v, the UCB did
not even own a VAX, and Bill Joy was still are pure userland hacker.
Only after the original UCBVAX arrived at Berkeley, Richard Fateman
involved Domenico Ferrari who involved Ozalp Babaoglu who started
kernel work at UCB, based on Bell 32v, later involving Bill Joy.

(3) Genetic analysis of the source code confirms this.
All kernel code involved is in sys1.c.  Regarding this file,
the first two UCB releases, VAX 3BSD (based on Bell 32v)
and PDP-11 2.8BSD (Dec 1981, based on Bell v7) are more similar
to their respective Bell parents than to each other.
The Berkeley versions are cousins, not siblings:
v7  -> 32v: 523  +71  -60 = 534
v7  -> 2.8: 523 +305  -24 = 804
32v -> 3:   534 +169 -110 = 593
3   -> 2.8: 593 +413 -202 = 804

References:
http://oreilly.com/catalog/opensources/book/kirkmck.html
http://minnie.tuhs.org/cgi-bin/utree.pl?file=32V
http://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/sys/sys/sys1.c
http://minnie.tuhs.org/cgi-bin/utree.pl?file=32V/usr/src/sys/sys/sys1.c
http://minnie.tuhs.org/cgi-bin/utree.pl?file=3BSD/usr/src/sys/sys/sys1.c
https://www.mckusick.com/csrg/ - /cdrom1/2.8/usr/kernel/sys/sys/sys1.c

facts checked and ok sobrado@, style and formatting ok jmc@

Reply via email to