Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!munnari.oz.au!uniwa!cc.curtin.edu.au!cutmcvax!peter From: peter@cutmcvax.cs.curtin.edu.au (Peter Wemm) Newsgroups: comp.unix.internals Subject: Re: Shared libraries Message-ID: Date: 27 Apr 91 01:02:21 GMT References: <136@titccy.cc.titech.ac.jp> <718@seqp4.UUCP> <1991Apr24.231048.2987@Think.COM> Sender: news@cutmcvax.cs.curtin.edu.au (Usenet News System) Organization: Curtin University of Technology, Computing Science Lines: 39 Nntp-Posting-Host: cutmcvax.cs.curtin.edu.au barmar@think.com (Barry Margolin) writes: >In article <718@seqp4.UUCP> jdarcy@seqp4.ORG (Jeff d'Arcy) writes: >> Do you really think so many skilled and knowledgeable >>OS developers would implement shared libraries if they weren't worth it? >What I want to know is why it has taken so long for them to rediscover >shared libraries. Multics, the predecessor to Unix, was using >dynamically-linked, shared libraries in the 60's. >Furthermore, the SunOS dynamic linking design is still inferior to the >Multics design (I don't know details of other Unix dynamic linking >designs). Libraries should be linked on demand, not all at the beginning >of the program. This way, infrequently-used routines do not have any >overhead except when they're used. However, this should be coupled with >better OS support for dynamic link failures (it would be a shame for the >process to core dump just because LD_LIBRARY_PATH is missing a necessary >directory). Also, on-demand linking is harder to implement for data than >for code, often requiring hardware support (Multics does all dynamic >linking by indirecting through pointers with a special trap bit set -- the >trap handler resolves the link, rewrites the pointer, and restarts the >interrupted instruction, so procedures and data are equivalent). Even the Amiga uses dynamic libraries... The ENTIRE operating system is present as a set of shared libraries... Right from Day 1! It doesn't do it the same way that Unix or Multics does it, but it is VERY fast! >-- >Barry Margolin, Thinking Machines Corp. >barmar@think.com >{uunet,harvard}!think!barmar -- Peter Wemm ------------------------------------------------------------------------------ peter@cs.curtin.edu.au (Home) +61-9-450-5243 Curtin University of Technology, Perth, Western Australia. Amiga... Because life is too short for boring computers. (Dan Zerkle)