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