🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: vmsnet.internals
Article #295

Re: VMS shareable images, what's wrong with them?

#295
From: Steve Lionel
Date: Wed, 07 Oct 1992 16:01
44 lines
2926 bytes
In article <1at59bINNcc7@network.ucsd.edu>, gkn@ucsd.edu (Gerard K. Newman) 
writes:
|>In article <1992Oct6.201520.24059@e2big.mko.dec.com> lionel@quark.enet.dec.com (Steve Lionel) writes:
|>
|>>[...]  Dynamic linking has been
|>>available for some years on VAX/VMS through LIB$FIND_IMAGE_SYMBOL.
|>
|>One of my favorite toys.  Thanks, if you had anything to do with it.
|>

While it may seem to some readers of this newsgroup that I've had my fingers in
just about everything, this is one I can't claim.  But I agree that this is
a wonderful routine and it is widely used in our own products.

There have been some side-discussions about global section ident matching and
why this feature is "bad", with some other comments appearing to recommend
dynamic linking as the only way it should be done.  The VMS method is a
compromise in some ways; it makes you work a bit harder at building proper
transfer vectors and not moving universal data cells around, but it has the
advantage of faster image activation as one is not doing all that name lookup
every time the image is run.   The issue of GSMATCH idents can be helped
somewhat by building in "dummy" transfer entries which, when called, signal a
"not implemented" error.  If you pad a transfer vector with these dummy
entries, and then take them over when adding new entry points, you don't have
to change the GSMATCH ident until you run out of dummy entries.  As long as
the newly linked image doesn't call the new routines, it can run on older
systems which don't have the new entries.  This method is now used in a number
of the VMS RTL shareable images.  (Someone even cleverly figured out how to
code the dummy entries so that they work whether CALLed or JSBed.)

Shareable images were an unusual idea in 1977 when they showed up in VMS V1,
albeit in a form that would seem harshly restrictive today.  But the
technology evolved into something that is astonishingly flexible and efficient.
We've also learned how to use them better along the way (the dummy entries
trick, for instance.)

--

Steve Lionel                    lionel@quark.enet.dec.com
SDT Languages Group
Digital Equipment Corporation
110 Spit Brook Road
Nashua, NH 03062
Technical Details
Message-ID: <1992Oct7.160141.11374@e2big.mko.dec.com>
Path: arc1-ca.pugleaf.net!sparky!uunet!ogicse!decwrl!pa.dec.com!e2big.mko.dec.com!quark.enet.dec.com!lionel
References: <Bvo7FC.M01@ithaca.com> <3025@mitech.com> <1992Oct6.201520.24059@e2big.mko.dec.com> <1at59bINNcc7@network.ucsd.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!ogicse!decwrl!pa.dec.com!e2big.mko.dec.com!quark.enet.dec.com!lionel
From: lionel@quark.enet.dec.com (Steve Lionel)
Newsgroups: vmsnet.internals,comp.os.vms
Subject: Re: VMS shareable images, what's wrong with them?
Keywords: LIB$FIS
Message-ID: <1992Oct7.160141.11374@e2big.mko.dec.com>
Date: 7 Oct 92 16:01:41 GMT
Article-I.D.: e2big.1992Oct7.160141.11374
References: <Bvo7FC.M01@ithaca.com> <3025@mitech.com> <1992Oct6.201520.24059@e2big.mko.dec.com> <1at59bINNcc7@network.ucsd.edu>
Sender: guest@e2big.mko.dec.com (Guest (DECnet))
Reply-To: lionel@quark.enet.dec.com (Steve Lionel)
Organization: Digital Equipment Corporation, Nashua NH
Lines: 44