The SRB routine runs in the operating mode known as SRB mode.
Code in SRB mode:
- Cannot leave supervisor state. The scheduling program can specify
that the SRB routine be dispatched with a LOCAL lock held (LLOCK=YES
on the IEAMSCHD or SCHEDULE macro) or have a recovery routine established
for the SRB routine, or both.
- Can request any lock through the SETLOCK macro.
- Cannot issue SVCs except ABEND. This limitation means that a
program in SRB mode cannot issue some of the system macros and data
management macros such as OPEN and CLOSE. Macro descriptions in one
of the following books tell whether you can use the macros in SRB
mode; if a description does not give this information, you can assume
that the macro does not support SRB-mode users.
- Must return control to the address supplied in register 14, in
supervisor state with no locks held, except the CPU lock. (If LLOCK=YES
was specified on the IEAMSCHD or SCHEDULE macro, the routine must
release the LOCAL lock.)
- Can create, use, and delete data spaces, but cannot own a data
space. For information about data space ownership as it relates to
an SRB, see z/OS MVS Programming: Extended Addressability Guide. that
contains an example of an SRB creating and using a data space, without
owning one.
- Can run in access register (AR) address space control (ASC) mode.
- Can issue a PC instruction and schedule an SRB.
- Can resume a suspended task or SRB.
- Can suspend itself.
- Should not be a long-running program. An SRB routine is generally
not preempted by I/O interruptions once it is dispatched. An SRB,
however, can be scheduled as a preemptable SRB, allowing higher priority
work access to the processor.
- Can use an ICRF to encrypt and decrypt data.
If you specify a FULLXM environment and FRR=YES to schedule the
SRB, the specified FRR has the characteristics set through the SETFRR
macro with the MODE=FULLXM parameter. If you specify any other environment,
and FRR=YES, the FRR has the characteristics set through the SETFRR
macro with the MODE=HOME parameter.
When you specify FULLXM, a DU-AL with more than 256 entries is
not available to the scheduled SRB routine until the SRB routine is
dispatched. If an error occurs before the SRB routine is dispatched,
the DU-AL might not be available to the SRB routine's FRR.