*BSD News Article 91383


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!news.cs.su.oz.au!metro!metro!munnari.OZ.AU!news.ecn.uoknor.edu!solace!nntp.se.dataphone.net!nntp.uio.no!news-feed.inet.tele.dk!news.algonet.se!hammer.uoregon.edu!news-xfer.netaxs.com!op.net!candle.pha.pa.us!not-for-mail
From: root@candle.pha.pa.us (Bruce Momjian)
Newsgroups: comp.unix.bsd.bsdi.misc
Subject: Re: BSDI 3.0 Impressive
Date: 17 Mar 1997 22:06:08 GMT
Organization: a consultant's basement
Lines: 44
Message-ID: <5gkf8g$sa8@picasso.op.net>
References: <332849E6.71CA@cet.co.jp> <332824B1.6B5F@opengroup.org> <E6zpJB.Iv0@news.interactive.net> <5giab8$l8h@vanbc.wimsey.com> <5gibgj$bu7@arrow.va.pubnix.com>
NNTP-Posting-Host: s1-03.ppp.op.net
X-Newsreader: TIN [UNIX 1.3 950824BETA PL0]
Xref: euryale.cc.adfa.oz.au comp.unix.bsd.bsdi.misc:6370

Kurt J. Lidl (lidl@va.pubnix.com) wrote:
: I believe the real question that should have been asked is,
: "Does it have dynamically linked libraries yet?", not "shared
: libraries".
: 
: BSD/OS certainly has shared libraries, but doesn't have dynamically
: linked libraries, even in the 3.0 release.  The difference?
: 
: shared libraries --> multiple programs can share the same copy of
: the mapped text for libraries, resulting in very efficient use of
: memory space
: 
: dynamically linked libraries --> each program's unresolved list of
: symbols is bound to a library symbol at run time.  Under SunOS,
: this is done via an exec of the /usr/lib/ld.so program, which
: attempts to do this resolving by examining the list of libraries
: that was stored in the program.  Normally, the list of libraries
: is the standard list of system libraries, which happen to be shared.
: 
: One of the other restrictions of the BSDi scheme is that in the
: case of the shared libraries, they are mapped into the same virtual
: memory locations in each process.  With most dynamic linking
: solutions, the processes don't have to map the shared libraries
: into the same virtual address locations.

Considering the system overhead of dynamic linked libraries compared to
BSD/OS shared libraries, what is the advantage of dynamic linked
libraries?

I heard you can change the library as the program is running with
dynamic linked libraries, and they are somewhat easier to create.

But as you know from posgreSQL, you can use dlopen() to dynamically link
in any object files you want.

What are we really missing but a built-in mechanism to automatically
dynamic link object files without changing the program source code or
creating a shared library?

-- 
Bruce Momjian                          |  830 Blythe Avenue
root@candle.pha.pa.us                  |  Drexel Hill, Pennsylvania 19026 
  +  If your life is a hard drive,     |  (610) 353-9879(w) 
  +  Christ can be your backup.        |  (610) 853-3000(h)