- Sun Microsystems supposedly had a VAX-11/750. Monet was a VAX-11/750. Was Monet really Sun's VAX? A VAX-11/750 is sizeable chunk of change, especially one that you would only use for a short while to bootstrap SunOS on. Sun may have used Monet first and then had a VAX-11/750 later. There is most definitely a kernel configuration file,
SUNVAX
in SunOS 3.4 source code.
https://groups.google.com/g/comp.unix.programmer/c/j6f6yIbeze0/m/e1_bPCN09yAJ
Chris Torek Mar 1, 1991, 9:37:44 PM
6. Various versions of SunOS run on Suns and VAXen, but you cannot get
the VAX versions.
===
https://groups.google.com/g/comp.unix.programmer/c/j6f6yIbeze0/m/NmXgfsLd1xoJ
Guy Harris Mar 2, 1991, 4:58:00 PM
> 6. Various versions of SunOS run on Suns and VAXen, but you
> cannot get the VAX versions.
And, unless you think SunOS 3.0 was the acme of SunOS development, you
probably don't want the VAX version, either - nobody bothered porting it
to the VAX after 3.0. (And "sunvax" was, I think, retired a while ago,
so I don't expect anybody *to* port it.)
===
https://groups.google.com/g/comp.unix.questions/c/1yIC5_dr6_Y/m/lnD_ufnI0dQJ
Guy Harris
Mar 9, 1991, 6:24:53 PM
>SunOS 3.0 for the *VAX*?? Did this really exist?
Yes.
>Who used it?
The OS group in Sun, on one machine in Sun, "sunvax", an 11/750. It
wasn't ever made available as a product; it was mainly just a "proof of
concept" thing. Nobody ever went past 3.0, as far as I know; when Sun
got its 4.3BSD tape, they brought 4.3BSD up on "sunvax", to provide a
"reference" machine with 4.3BSD on it (useful for e.g. testing that the
4.1 UUCP works over TCP when talking to 4.3BSD machines), and it mainly
ran that. I don't even think "sunvax" is around any more....
- It's clear from the residue that BSD had Sun code. Some breadcrumbs are that SCCS like RCS operates on individual files, unlike Concurrent Version System (CVS), Subversion (SVN), git and so on which can operate on groups of files. This makes it possible to expunge files and directories. If there was a hypothetical /sys/sundev directory on a VAX at UCB it would be possible to
rm -r
it along with the SCCS version control for all the files in that directory. Code like #if sun
and #include <sundev/foo.h>
in files that contain code that cannot be expunged will still be visible in the SCCS and backup tapes, etc. The files.sun
file is probably due to an oversight causing it to not be removed along with other files until it was discovered later. The sun code was removed by the time of 4.2BSD release. Some traces of it still exist in SCCS and old backup tapes, but that code is effectively stubbed out due to parts that it refers to not being recovered as of yet.
Sun Microsystems incorporated on February 1982.
Commits with notable SCCS delta commentary:
subr_prf.c
D 4.23 82/10/31 00:26:35 root 29 28 00016/00001/00239
MRs:
COMMENTS:
first version with 68k stuff
s.kern_clock.c
D 4.48 82/12/17 11:43:02 sam 70 69 00015/00009/00343
MRs:
COMMENTS:
sun merge
The very next day two of the BSD DECNET C source code files were updated.
s.tp_usrreq.c:
D 1.4 82/12/18 18:35:30 sam 4 3 00001/00001/00078
MRs:
COMMENTS:
mbufs typed
While I was compiling the source code of 4.1c.1 I found this:
monet# make depend
cat </dev/null >x.c
for i in apply arcv at biff checknr chfn chsh colcrt colrm ctags expand finger fold from gcore grep groups head last lastcomm leave man mkstr num printenv prmail pti reset sccs soelim ssp strings symorder tail unexpand unifdef users vmstat w whatis whereis whoami xstr what wc yes clear lock script ul; do (echo $i: $i.c >>makedep; /bin/grep '^#[ ]*include' x.c $i.c | sed -e 's,<\(.*\)>,"/usr/include/\1",' -e 's/:[^"]*"\([^"]*\)".*/: \1/' -e 's/\.c//' >>makedep); done
echo '/^# DO NOT DELETE THIS LINE/+2,$d' >eddep
echo '$r makedep' >>eddep
echo 'w' >>eddep
cp Makefile Makefile.bak
ed - Makefile < eddep
rm eddep makedep x.c
echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile
echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile
echo '# see make depend above' >> Makefile
monet# grep sun Makefile
vmstat: /usr/include/sundev/mbvar.h
monet# grep sundev *.c
vmstat.c:#include <sundev/mbvar.h>
monet# make vmstat
Make: Don't know how to make /usr/include/sundev/mbvar.h. Stop.
Because "make depend" does not process #ifdef
s and that causes it to always insert vmstat: /usr/include/sundev/mbvar.h
into the Makefile.
- The missing 4.1b BSD could be missing because it was full of SunOS code. That version reportedly was only used at Berkeley, unlike the others.
Sunburst: The Ascent of Sun Microsystems
Mark Hall and John Barry
Forward by Tom Peters
Contemporary Books, Chicago
1990
Two copies
Hardbound
https://archive.org/details/sunburstascentof00hall
Paperback
https://archive.org/details/sunburstascentof0000hall
Hardbound jacket has an out-of-context quote from the book:
"To ask permission is to seek denial" -- Scott McNealy
TL;DR
SMI contributed a lot to BSD during the development of 4.2BSD
Most people think this happened:
4.1BSD -> 4.1a -> 4.1b -> 4.1c -> 4.2
as if each version was taken at different points in development.
But 4.1a and 4.1b were tapes from SMI, probably in one shipment.
4.1a tape had things that were definitely not proprietary to SMI, On
the CSRG ISO the 4.1a tree has very little stuff, games, ingres,
Berknet, the "learn" tutorial, fonts, a /usr/doc which includes
/usr/doc/vmunix/setup.t with the name "Samuel J. Leffler" added to it;
prior versions lack that.
The words: "For use by CSRG only Tape B" appear on the 4.1a tape
label implying that there were "A" (4.1a) and "B" (4.1b) tapes.
4.1b tape has co-mingled proprietary and non-proprietary things.
4.1BSD -> merge the non-proprietary portions of 4.1b code -> combine with 4.1a -> 4.1c
The CSRG ISO has 4.1c.1 which is a backup taken during the 4.1b merge.
Several things including sys/files.sun and the partially implemented
unmount(2) system call which was backed out, while SunOS has unmount(2).
The swapon(2) and swapoff(2) system calls were also backed-out. 4.2BSD
has swapon(2) but
Nothing in 4.1a is in 4.1c.1, not one file.
On 82/11/13 the sam account (Leffler) made 108 commits into SCCS of 91
files (some had multiple commits), 74 have commit messages some saying "merge of 4.1b and 4.1c" and some "merge of 4.1b with 4.1c".