Figure 3-4. UNSAT Procedure Example

System Libraries

System library c haracteristics include the following: They are loaded in system space.

Processes using the same object module share code, global data, and binding.

Object modules can reference only themselv es or other system library object modules.

Cannot use UNSAT procedures.

System libraries are the only libraries that can con tain both system and nonsystem object modules. (A nonsystem object module shares only the code with other processes. Its data and binding are unique to eac h process that references it. A nonsystem object module

is loaded once for eac h process that uses it.) The Nativ e Mode system library is named NL.PUB.SYS . The Compatibility Mode system library is named SL.PUB.SYS .

Mixing Execution Modes

While the operating system is executing for a process, the process ma y switch execution modes. It can alternate repeatedly bet ween Native Mode (NM) and Compatibilit y Mode (CM). MPE/iX pro vides switc h stubs to allow NM programs to access CM in trinsics. The operating system in trinsic call determines when to use the NM Executable Library (NL) or the CM Segmented Library (SL).

The NM intrinsic ￿le is SYSINTR.PUB.SYS ; the CM intrinsic ￿le is SPLINTR.PUB.SYS .

You can set up a Native mode program to call procedures that are in a CM Segmen ted Library (SL) by using the switc h intrinsics. This requires that the program specify the switc h stub. The switc h intrinsic uses the LOADPROC procedure to ￿nd the CM procedure. F or

Program Development 3-15