IBM OS/390 Time Clock User Manual


 
15.9.2 Automatic Restart
An automatic restart in the case of an ABEND can only take place if an ABEND is
actually detected; it must therefore be forced. This is the role of PLIREST.
15.10 Overlay Structures
Overlay structures defined in DOS PL/I optimizer programs can remain valid in
MVS PL/I optimizer programs. However, the CALL PLIOVLY statements must be
removed. MVS linkage editor facilities (PARM=OVLY, INSERT, and OVERLAY)
are used to build the overlay structure as discussed below.
15.10.1 Conversion
When converting a DOS PL/I program to MVS, if the former used an overlay
structure, it will be necessary to suppress all calls to PLIOVLY, which do not
make sense in MVS. The overlay structure will therefore disappear, and in the
majority of cases will no longer be necessary in MVS, each user having his own
independent address space. Programs which rely on REFETCH of overlays to
re-initialize static storage will have to remain as overlay programs or be
modified.
15.10.2 Overlay in MVS
If it is still necessary to retain an overlay structure, it will be necessary to
link-edit the program specifying PARM.LKED= OVLY and providing the linkage
editor with INSERT and OVERLAY control statements. This is completely
independent of the PL/I source code but not of the logic of the program.
15.11 Storage Management in PL/I
15.11.1 Storage Management in DOS
In DOS, PL/I considers that all the storage available in the partition is dedicated
to it. It separates storage requests into LIFO and non-LIFO. DSA allocations are
LIFO requests, in particular for AUTOMATIC variables. These requests are
considered as LIFO because storage is de-allocated in the reverse order to
allocation. Non-LIFO requests include, among others, the allocation of
CONTROLLED and BASED variables, as are requests for space for loading
transient modules, and for SORT if PLISRTx is used.
15.11.2 Storage Management in MVS
In MVS, PL/I acquires an Initial Storage Area (ISA). Its size is set by default
when the user installs the PL/I Transient Library. The IBM-supplied default is half
the storage outside the load module. The rest is left for the operating system.
The distinction between LIFO and non-LIFO remains, but note that loading of
modules from the transient library is done by MVS, and this will use the storage
left free by PL/I. If the storage allocated to PL/I is not enough at the start of
execution, it will issue GETMAINs for that part left for the operating system.
These GETMAINs can slow down the execution of the program. The amount of
storage allocated by PL/I at the start of execution and the number of GETMAINs
and FREEMAINs can be found by use of the REPORT option. The amount of
storage space allocated by PL/I at the start of execution can be specified by the
parameter ISASIZE. It is almost always worthwhile to give a PL/I program a
Chapter 15. PL/I 345