From: winalski@adserv.enet.dec.com (Paul S. Winalski)
Subject: Re: Installing images?
Reply-To: winalski@adserv.enet.dec.com (Paul S. Winalski)
Organization: Digital Equipment Corporation, Nashua NH
Date: Sat, 22 Aug 1992 16:21:28 GMT


In article <21AUG199209240092@mivax.mc.duke.edu> jim@mivax.mc.duke.edu (James D
Dryfoos - Systems) writes:
>Can one install any image (.exe)?  How do you decide which options
>are needed (i.e.  /open/share/header ...).  What kind of problems
>can one run into?

You can INSTALL any image.  The options that you use depend on why you are
installing the image.  The main reasons to INSTALL an image are:

1) You wish to have the read-only pages of an image shared.  To do this, you
   specify /SHARED on the INSTALL command.  Note that you can do this with
   executable images as well as shareable images.  You have to do this with
   shareable images for the read-only pages to actually be shared.  Installing
   an image /SHARED uses up global section slots and global pages (the
   GBLSECTIONS and GBLPAGES SYSGEN parameters).  You need one global section
   slot for each read-only image section in the image you're installing /SHARED
   and one global page for each page in one of those image sections.  The
   image section synopsis of the link map for the image, or the output from
   ANALYZE/IMAGE, can be used to determine the exact requirements.

2) You wish an executable image to be run with amplified privileges that you
   don't want to grant to the users who run the image.  To do this, you specify
   /PRIVILEGED on the INSTALL command and list the privileges you wish the image
   to have when it is run.  There are some restrictions that apply:  the image
   must have been linked /NODEBUG/NOTRACE, and all logical names that must be
   referenced to activate the image must be defined in executive or kernel
   mode (if your image is in SYS$SYSTEM: and shareable images are in SYS$SHARE:,
   which is the usual case, you're OK).  Note that all this applies only to
   executable images.  It is not possible to install a shareable image with
   amplified privileges this way.

3) Your image is a shareable image that will be referenced by a privileged
   known image (see item 2, above).  In this case, you simply INSTALL it.  You
   don't have to specify any other qualifiers to INSTALL, but, of course, you
   can specify /SHARED if you wish the image to be shared.

4) Your image contains user-written system services.  In this case, you specify
   both the /PROTECTED and /SHARED qualifiers.

The /OPEN and /HEADER_RESIDENT options are performance optimizations.  If you
specify /OPEN, the INSTALL command performs a RMS OPEN operation on the image
file and leaves it open.  This means the image activator can avoid the overhead
of the open at image activation time.  The cost is one page of paged pool per
file.  Note that /SHARED implies /OPEN.  /HEADER_RESIDENT causes INSTALL to
read in the file header for the image file and keep it in paged pool.  Thus,
the image activator need not read the file header in at activation time.
The cost is some paged pool, the amount of which varies depending on the
number of file header blocks the image file has.  /HEADER_RESIDENT implies
/OPEN.

--PSW