Program call linkages

Db2 uses z/OS® program calls as one form of program invocation.

Db2 defines program call linkage to z/OS with one of these program call (PC) instructions:
PC-ss
Permits an address space switch
PC-cp
Retains an address space as current primary and does not cause a space switch

The z/OS architecture defines three addressable address spaces—primary, secondary and home. If a space switch occurs (because of the PC-ss instruction mentioned above), one address space is considered primary and another is considered secondary. If a space switch does not occur (because a PC-cp instruction is used), the primary and secondary address spaces are the same (that is, one address space is considered both primary and secondary).

The home address space is always present, and contains the dispatchable unit of work before any program calls are issued. If a space switch does not occur, then the home address space is also both the primary and secondary address space. If a program call with a space switch is issued by the dispatchable unit (using PC-ss), the primary space becomes the secondary address space and the switched to address space becomes the primary address space. If the dispatchable unit issues another PC with a space switch, the previous primary becomes the secondary and the switched to address space becomes the new primary address space

Db2 uses PC-cp to get into supervisor state and key 7. Both PC-cp and PC-ss are used to enter 31-bit addressing mode (AMODE). In addition, PC-ss defines a new primary address space.

Each resource manager defines its PC linkage relationships using either (1) the RMVT and RMFT control blocks for RMRQ calls from one resource manager to another or (2) the RAL and FVL control blocks for RARQ calls to resource managers from an application.