Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1a 7/7/83; site rlgvax.UUCP
Path: utzoo!linus!decvax!harpo!seismo!rlgvax!guy
From: guy@rlgvax.UUCP (Guy Harris)
Newsgroups: net.unix-wizards
Subject: Re: Shared system routines
Message-ID: <909@rlgvax.UUCP>
Date: Wed, 27-Jul-83 16:08:19 EDT
Article-I.D.: rlgvax.909
Posted: Wed Jul 27 16:08:19 1983
Date-Received: Thu, 28-Jul-83 14:55:06 EDT
References: <505@mit-eddie.UUCP>,  <680@hou5e.UUCP>
Organization: CCI Office Systems Group, Reston, VA
Lines: 17

If the HP 3000 does shared library routines with full generality (i.e.,
dynamic linking), that probably accounts for most of the load.  RSX-11 does
not do dynamic linking; you must "link" in the references to the shared library
at program link time.  Of course, this means you can't just stick in a new
copy of the shared library whenever you change a routine and expect everybody's
programs to use the new version automatically (which is one of the side benefits
of system calls; just re-sysgen the OS and everybody making a system call gets
the new code).  So there are some tradeoffs available, depending on how
general or right you want to be.  I've not used RSX-11M style shared libraries
(i.e., you bind at program link time, and they are accessed mostly like
regular libraries), so I don't know how inconvenient the restrictions on such
are.  The fully general approach (i.e., bind at program execute time) does
impose the cost of a linker each time you run the program, but Multics
provided a binder which permitted you to bind references between the
modules given to the binder before program run time.

	Guy Harris