[TUHS] shared objects in Unix

Clem cole clemc at ccc.com
Fri Mar 30 14:28:13 AEST 2018


You might be right i don’t exactly remember the dates of each release.  that said I do remember  Mach ran on a number of systems before Next, but they were not commercial.  It was similar to BSD where CMU ported to that hardware - I’ve forgotten the name of the guys that spun out of DG that had an early MP based system that used reflected memory- but I remember CMU had very early version of Mach running there that was based on the 4.1mash up like the original Vax code from CMU that they started.  

The point is that early Mach was working before 4.2 way final and released to the DARPA community not much later. CRSG was doing Val support for DARPA and CMU was more researchy (which was a point of contention in a lot of fronts that I’ll not scratch open any further).

I was not commenting on the implementation of the goodness of the CMU or CSRG code by the wsy.  Sun could have had the first commercial version of shared libs that worked well, although IBM might have been around the same time as Charlie pointed.  

What had Paul asked when shared libs came to being for Unix.  I was trying to say it did not come from any one point.  I do believe Mach and it’s parent Accent (which was not Unix) was the first time any Unix had it but like BSD was a DARPA funded project and not commercial. But a lot of different places were working on the idea as it was commonly held to be an issue with Unix. 

Also, joy / BSD 4.2 was heavily influenced by Accent (and RIG )and the Mach memory system would eventually go back into BSD (4.3 IIRC) - which we have talked about before wrt to sockets and Accent/Mach’s port concept. 

FWIW If I'm remembering the sequence right I believe Mach 2.5 was quickly created as a update to the original release after joy et al released the final 4.2.  4.1c was 83 as I was leaving UCB and I brought it with me.  But  I think we had an early 4.1 based Mach tape at Masscomp not too much later ??a year maybe??  And one of the reasons we were interested in it was the shared library code because the exVMS at Masscomp all felt that was a deficiency of Unix and at the time the only ‘open source’ in a HLL if you will that had it was Mach. 


Sent from my PDP-7 Running UNIX V0 expect things to be almost but not quite. 

> On Mar 29, 2018, at 9:46 PM, Larry McVoy <lm at mcvoy.com> wrote:
> 
>> On Thu, Mar 29, 2018 at 08:22:14PM -0400, Clem Cole wrote:
>> I'm pretty sure the first unix to support shared libraries was
>> CMU's Mach using its modified about called macho, which lives today in Mac
>> OSX.     
> 
> Uh, you sure about that?
> 
> http://cs.cmu.edu/afs/cs.cmu.edu/project/mach/public/doc/published/mapfiles87.ps
> 
> is as close as I can find, and that's talking about stuff that was long after
> Sun's shared libraries.
> 
> There may have been earlier stuff but the approach laid out in
> 
> http://www.mcvoy.com/lm/papers/SunOS.shlib.pdf
> 
> is pretty much the shared library world as we know it today so far as I
> know.
> 
> I remember the world before that, I lived in it, and shared libraries were
> not a working thing in my memory.  Maybe on VMS, I didn't program much on
> VMS, but on any Unix I could get my hands on, Sun was the first to have
> working shared libraries.
> 
> CMU's Mach, mem, I am by no means a fan (I bought into the hype, read
> all the papers, when I finally got to see the code, wow.  NOTHING like Sun's
> VM system, I mean, nothing.  It claimed to be the same sort of thing, it was
> an ugly mess and it still is.  Sun's VM system was a thing of beauty, you
> could read the code and figure out the architecture from the code.  I'd 
> challenge anyone to do that from the Mach code).  
> 
> But maybe it had shared libs before SunOS but who was using that code?
> So far as I know the first time the Mach code was in a commercial product
> was Next.  Their first release was October 1988, SunOS 4.0 was Dec 1988
> and was a far far far more mature release.
> 
> Here's a way to put it into perspective.  In the mid 80's, and maybe 
> before, every single open source project's makefile just worked on
> a Sun.  I don't ever remember seeing a Makefile that just worked on 
> a Next (and I don't know of any other Mach based platform until Apple
> many years later).



More information about the TUHS mailing list