The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: lm@mcvoy.com (Larry McVoy)
Subject: [TUHS] shared objects in Unix
Date: Thu, 29 Mar 2018 16:24:09 -0700	[thread overview]
Message-ID: <20180329232409.GH8921@mcvoy.com> (raw)
In-Reply-To: <alpine.BSF.2.21.1803301009140.3361@aneurin.horsfall.org>

On Fri, Mar 30, 2018 at 10:11:42AM +1100, Dave Horsfall wrote:
> On Thu, 29 Mar 2018, Paul Winalski wrote:
> 
> [...]
> 
> >What is the history of shared objects on Unix?  When did they first
> >appear, and with what object/executable file format?  The a.out ZMAGIC
> >format doesn't seem to support them.  I don't recall if COFF does. MACH-O,
> >at least the MacOS dialect of it, supports dynamic libraries. ELF supports
> >them.
> 
> I first saw 'em when they appeared in SunOS (can't remember which release)
> and thought they were wonderful, along with loadable drivers.

Warner and I have been going back and forth about this.  We're both pretty
sure that shared libs were part of the 4.0 release (that was the release
that had the VM system rewrite by Joe Moran (mojo at sun.com) with mmap() as
invisioned by Bill Joy while still at Berkeley.  

I've got a number of papers about it:

http://mcvoy.com/lm/papers/SunOS.shlib.pdf - that's the shared lib paper
http://mcvoy.com/lm/papers/SunOS.vm_arch.pdf - that's the VM architectue paper
http://mcvoy.com/lm/papers/SunOS.vm_impl.pdf - that's the VM implementation paper

There's other stuff there too if you are bored.  SunOS.smoosh.pdf is the basic
idea that is the under pinnings of every distributed source management system,
SunOS.tfs.pdf is Dave Hendrick's copy on write file system writeup, 
SunOS.ufs_clustering.pdf is the work I did in UFS to get platter speed perf
out of UFS, etc.  Most of that stuff is Sun stuff though there is some other
random bits.  If you are curious about any of it I can go into detain off
(or on) list.

--lm


  parent reply	other threads:[~2018-03-29 23:24 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-29 21:37 Paul Winalski
2018-03-29 22:01 ` Henry Bent
2018-03-29 22:26 ` Warner Losh
2018-03-29 23:11 ` Dave Horsfall
2018-03-29 23:22   ` Warner Losh
2018-03-29 23:24   ` Larry McVoy [this message]
2018-03-30  0:22     ` Clem Cole
2018-03-30  1:46       ` Larry McVoy
2018-03-30  4:28         ` Clem cole
2018-03-30 20:52           ` Jon Forrest
2018-03-30 22:42             ` Clem Cole
2018-03-30 23:29               ` Paul Winalski
2018-04-03 15:49               ` Derek Fawcus
2018-03-30  1:20   ` Lyndon Nerenberg
2018-03-30  0:40 ` Clem Cole
2018-03-30  1:35   ` Charles H. Sauer
2018-03-30  2:10     ` Larry McVoy
2018-03-30  2:34       ` Charles H. Sauer
2018-03-30  3:04         ` Warner Losh
2018-03-30 20:33         ` Charles H Sauer
2018-03-30  3:00   ` Ron Natalie
2018-03-30 21:53   ` Steve Johnson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180329232409.GH8921@mcvoy.com \
    --to=lm@mcvoy.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).