There's both the STREAMS API (more properly
XTI/TPI) and the STREAMS
Kernel network processing paths. XTI/TPI have died by the wayside
surplanted by the Sockets API, but the STREAMS kernel stuff is still
very much part of Solaris. To me, it seemed like Sun never really gave
all that it did for the streams kernel stuff back into SVR4, but alot
of the networking code seemed to be an early draft of what Solaris did
with it. Any SVR4 varients still ran with the streams networking kernel code.
This is correct, I'm intimately familiar with that STREAMS networking
stack, it came from Lachman and I ported it twice, to the ETA 10 and
SCO. If anyone cares,
http://www.mcvoy.com/lm/sw.shar is a "streams
watch" package I wrote (and SCO shipped, at least for a while) that
let you see the resources being used by the kernel for the networking
stack.
The Sun code was a purchase of Lachman's code. That didn't last long
because of the terms of the purchase, then my memory is Sun did their
own stuff and then eventually contracted a rewrite out to the Mentat
folks. If anyone cares, I just went canoeing with one the main
networking engineers at Sun at the time and I can get the exact
details.
The whole SVR4/STREAMS thing was a frigging mess, sockets were a much
superior model and they eventually came back.
Also as I
understand it, SunOS was a BSD which had heaps of
development and original ideas put into it (shared libraries I think
is one example),
Yes SunOS was definately 4.xBSD and had lots of research and
innovation I think. The big Sun Whitepaper book of research papers is
pretty interesting reading.
Shared libaries, loadable modules, VFS, NFS, mmap all came from Sun.
> but was discarded as a political decision
because
> AT&T had managed to convince most corporate customers that BSD was
> merely a hack and SysV was the "real unix", so Sun decided to create
> Solaris instead by licensing SysV as a starting point, I may have
> things slightly backward so I would appreciate if anyone can confirm
> this?
This is wrong. Sun needed money and AT&T agreed to buy stock at over
market but the terms of the deal was that Sun had to dump SunOS and
use SVR4 instead. It was a horrible decision and one that I spent
almost a year fighting full time. I took SunOS and removed all
encumbered source from the kernel and had a kernel that booted and
ran almost all applications (there were some tty drivers that didn't
work for some 3rd party cards, stuff like that, but for 99% of the
stuff you couldn't tell it wasn't the regular SunOS). I wrote up a
paper about all this, trying to get Sun to give that kernel away
as open source:
http://www.bitmover.com/lm/papers/srcos.html
Sun and AT&T were partners developing SVR4 to some
extent. Some of
Sun's tech went into SVR4 (based on their 4BSD based SunOS). To me, as
an outsider, it seemed Sun kept alot of tech to itself and rolled it
into Solaris.
Yup.
But once Solaris actually became usable, it certainly
did
rock a lot more than SunOS on the hardware it was tweaked for.
SunOS would have worked fine and was a much, much, MUCH better starting
point. We had it working on multi processors and the underlying code
would have been easier to make scale than that steaming pile of crap
that was SVR4.
If I had been successful getting SunOS out as open source, Linux wouldn't
exist, we'd all be running SunOS. I tried.
--
---
Larry McVoy lm at
bitmover.com http://www.bitkeeper.com