The Execution process can be summarized as...
Execution of an IISC program stored in an ALOF object is performed in three discrete stages: Linking, Translation, and Loading.
An IISC program shall be invoked using the name of the ALOF object it is stored in. The method with which the program is invoked is not specified.
The ALOF object named by the program invokation must be marked as executable. If the object is not executable, the process of execution must immediately terminate.
The format of all ALOF objects must be verified before they are used to execute a program. A well-formed ALOF object conforms to the object format specified in (Binary Object Format). If any ALOF object is not well-formed, the process of execution must immediately terminate.
The Linking stage is responsible for gathering all segments required by a single program in order for its execution.
The segments required by a program are not required to be contained within a single ALOF object. A single IISC program may be contained within multiple ALOF objects.
The ALOF objects required for execution are determined by the Import List entries in the initial object named by the program invokation.
If an external (e
flagged) segment is use by an ALOF object, but the segment is not included in any of the ALOF objects loaded for the program, the process of execution must immediately terminate.
Some segments which are not flagged as n
may still not be used if their names are not used in any segments required by the program.
These segments may be treated as if they were flagged as n
and are not required to be present in the following two stages of execution.
The Translation stage is responsible for converting the segments provided by the Linking stage into a program image that is interpretable by the underlying system. The resulting translated program image is explicitly required to have identical effects and behavior as the untranslated IISC program.
The exact organization of a program image is dependent on the program image format used by the underlying system.
Any segments containing IISC instructions must be translated to instructions that are interpretable by the underlying system.
The format of an data used by the IISC program shall be translated to a format that is interpretable by the underlying system in such a way that the literal information represented by the IISC-formatted data is preserved.
The Loading stage shall claim a portion of resources from the underlying system which will be used to hold the program image produced by the Translation stage.
Once the program image has been loaded, the execution process shall initiate the execution of that program image by the underlying system.
It is not specified if the execution process is required to terminate after the program image has completed its execution.
At any point where the execution process is required to terminate, a failure message should be communicated.
If the execution process encounters some error where it cannot complete the program execution, it shall communicate a failure and terminate.
The format of and information included in a failure message is not specified.