[TUHS] SMP: BSD vs System V (once was: moving directories in svr2)

Warner Losh imp at bsdimp.com
Sat Jan 8 05:01:30 AEST 2022


On Mon, Jan 3, 2022 at 5:03 PM Greg 'groggy' Lehey <grog at lemis.com> wrote:

> On Monday,  3 January 2022 at 15:44:11 -0800, Larry McVoy wrote:
> > On Mon, Jan 03, 2022 at 05:21:51PM -0600, Doug McIntyre wrote:
> >> On Mon, Jan 03, 2022 at 04:15:08PM -0500, Dan Cross wrote:
> >> I'd agree, 2.4 was pretty slow and chunky, 2.5 was alright, but 2.5.1
> was quite usable and stable.
> >> Also by this time, the hardware was going in directions that SunOS
> wouldn't keep up with.
> >
> > Yeah, Doug is right, SunOS was pretty simple, it didn't really take
> advantage
> > of SMP, Greg Limes tried to thread it but it was too big a job for one
> guy.
> >
> > That's not to say that SunOS couldn't have evolved into SMP, I'm 100%
> > sure it could have.  It just didn't.  It's a shame.
>
> An interesting question.  I had always thought that SMP was (one of?)
> the technical reasons why Sun moved from a BSD to a System V base.
> Since then, of course, we've done lots of work on SMP support for at
> least FreeBSD.  Does anybody have an overview of how good the support
> is compared to modern Solaris?  Is there any intrinsic reason why one
> should be better than the other?
>

So, there were several groups that added SMP to BSD or SunOS.

Solbourne's OS/MP added MP to SunOS 4.0 as first ASMP (one CPU did all the
system calls, but jobs could run on other CPUs) and later as SMP (first as
any
CPU could run the system calls, but there was global lock and later each
subsystem had a lock that it ran with). Later versions improved locking
granularity
by pushing locks down and making things finer grained. SunOS was a 4.3BSD
with
its own VM system that was well suited for locking.

There were other efforts to do this, but none of them made it back to the
Berkeley
mother ship, so 4.4BSD shipped w/o MP support in any real sense in 1993.

System V got MP when a consortium of vendors added it to the 4.0 release
(that
didn't include sun). By 1992 this was rolled into the 4.2 release that AT&T
did
with Novell. This is what would serve as the basis for Sun's Solaris
product line.

FreeBSD, NetBSD, OpenBSD and Dragonfly BSD have all done MP in different
ways since then, of course, and Linux has added MP as well early on.

So in a very real sense, Sun was in a position where it had to re-do the
work
that David Barak and others did at Solbourne to lock the SunOS kernel (work
which really took years to complete and stabilize), or they had to go with
a solution
that was already developed. AT&T had that with System V 4.x, and Berkeley
didn't
have an equivalent set of functionality for them to draw from. I think from
a PHB
perspective, the decision was easy, mostly because they vastly
under-estimated
the maturity of System Vr4.2's MP support (but I wasn't in the room: I was
at Solbourne
which would never have licensed its OS/MP to Sun due to the... competitive
atmosphere
at the time and likely NIH inside of Sun for adopting that).

Warner
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20220107/4a69ded6/attachment.htm>


More information about the TUHS mailing list