From VSI OpenVMS Wiki
Jump to: navigation, search

An image is an executable file containing binary code and data that a computer can execute without parsing. Images are built by linker programs from object modules produced by a compiler. At run time, the image activator, which is part of the operating system, opens the image file and reads activation information from the image to set up process page tables and pass control to the location (transfer address) where image execution is to begin. An image stored as an .EXE file can be executed with the RUN or MCR command. Some DCL commands invoke images, others execute inside of the CLI.

A shareable image is a collection of procedures and data that can be called by executable images or by other shareable images. A shareable image is similar to an executable image. The linker separates shareable from nonshareable code and data. Shareable code and data can be shared via global sections that are set up by the Install utility or by the image activator. In order to use the procedures or data of a shareable image, the shareable image has to be included in a link operation for another image, either explicitly in a linker option or implicitly from a default shareable image library. At run time, when the image activator processes an executable image, it activates all the shareable images to which the executable image was linked.

The OpenVMS Alpha and OpenVMS VAX linker can also create a system image, which can be run as a standalone system. System images generally do not contain image activation information and are not activated by the image activator. Images without activation information are not defined in the OpenVMS I64 object language. As a result, the OpenVMS I64 linker does not create this special type of image.