[TUHS] V8 4BSD or 32V Based? (was: Unix V8 Chaosnet, any takers?)
segaloco via TUHS
tuhs at tuhs.org
Sat Jul 16 04:41:53 AEST 2022
Thanks for the insight, definitely a stronger case for 4.1BSD being involved in some way, shape, or form. Here are a few SCCS strings from V8 vs 4BSD and 4.1(c)BSD.
V8 - "@(#)init.c 4.3 (Berkeley) 10/13/80"
4BSD - "@(#)init.c 4.3 (Berkeley) 10/13/80"
4.1cBSD - "@(#)init.c 4.10 (Berkeley) 12/22/82"
V8 - "@(#)getty.c 4.1 (Berkeley) 10/1/80"
4BSD - "@(#)getty.c 4.1 (Berkeley) 10/1/80"
4.1cBSD - "@(#)getty.c 4.9 4.9 82/12/23"
Locore (not an SCCS string, but comment at top):
V8 - "Locore.c 4.11 81/05/15"
4BSD - "Locore.c 4.4 11/10/80"
4.1BSD - "Locore.c 4.11 81/05/15" (Note, used the BBN VAX version here, I couldn't find the kernel sources in the 4.1cBSD on the archive...)
V8 - "main.c 4.14 81/04/23"
4BSD - "main.c 4.2 11/9/80"
4.1BSD - "main.c 4.14 81/04/23"
crt0: This one doesn't have SCCS info, is identical between V8 and 4BSD in ASM. The crt0 in 4.1cBSD is in C instead, so not really comparable.
doprnt (c library):
V8 - "@(#)doprnt.s 4.3 (Berkeley) 3/22/81"
4BSD - No string...
4.1cBSD - "@(#)doprnt.s 4.4 (Berkeley) 11/25/81"
Granted, this isn't exhaustive by any means, but everything I've checked has shown a much stronger 4 through 4.1cBSD character than V7/32V. It's too bad the march from V7 to V8 isn't more documented, what I'm starting to see here is a incremental approach where perhaps 4BSD was picked up, started to be modified into a research version, and as useful developments were made at Berkeley, they continued to merge in as well as make local changes until V8 was born.
This is all speculation on my part though, I don't want to establish history I wasn't there for, but there is a strong case for V8 starting possibly as 4BSD with a pretty open door to continuing to pull from BSD for a little while. Specifically, I've seen more 4BSD alignment in userland, more 4.1BSD alignment in the kernel, but it's all, as Dennis put it, "pretty eclectic".
- Matt G.
------- Original Message -------
On Friday, July 15th, 2022 at 10:50 AM, Warner Losh <imp at bsdimp.com> wrote:
> On Fri, Jul 15, 2022 at 11:15 AM segaloco via TUHS <tuhs at tuhs.org> wrote:
> > Re-subject'd as this part of the conversation diverges.
> > Found the quote that I was thinking of when I said that:
> > https://yarchive.net/comp/bsd.html
> > "Research Unix 8th Edition started from (I think) BSD 4.1c, but with enormous amounts scooped out and replaced by our own stuff." - Dennis Ritchie
> > The "I think" adds some murkiness for sure. There's definitely a good chunk of code from 4BSD. Compare init, getty, locore.c (as opposed to .s in V7 back). Heck, even the main.c between the two kernels are more similar to each other than V7. I would almost opt towards calling that being rebased on 4BSD rather than V7 with bits and pieces of BSD added. I could see it being more beneficial to start with 4BSD and tack on necessary Bell bits rather than take V7/32V and try and shoehorn in the VM implementation for VAX.
> > The 4.1cBSD copy on the archive does appear to be pretty different, so in terms of raw comparison, I suspect the basis is 4BSD rather than 4.1cBSD. I don't know that we have a clean copy of 4.1BSD gold, I'd be interested to see if the structure of the source code changed between 4.1 and 4.1c, as 4.1c does exhibit the new organization by the BSD folks, 4BSD still shows folders like cmd, lib, and so on.
> > Not trying to be combative by any means, but I've been doing a bit of research lately into when V8 was snapped from BSD and where Bell and Berkeley then diverged from that last major confluence, especially with a focus on init and other early stages of userland.
> The biggest differences between BSD4.1 and BSD4.1c were the addition of FFS in 4.1b (we have 4.1a from Kirk's DVD, as well as 4.1 and two versions of 4.1c). There's no ufs that I can detect in V8 though.
> If we look at the vm, the 4.1c.2 files are from 83, the 4.1 files are from 80 and the v8 files are from 81.
> Kirk's DVD has a 4.1.snap on it that lines up more closely with at least the vm files. I don't recall what these files are from. It's not present in the TUHS archives that I see. This snapshot is about a year after 4.1BSD release, but maybe 18 months before the 4.1a snapshot.
More information about the TUHS