Article View: vmsnet.internals
Article #295Re: VMS shareable images, what's wrong with them?
From: Steve Lionel
Date: Wed, 07 Oct 1992 16:01
Date: Wed, 07 Oct 1992 16:01
44 lines
2926 bytes
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!lionelReferences:
<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