z/OS MVS Program Management: User's Guide and Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Virtual storage requirements

z/OS MVS Program Management: User's Guide and Reference
SA23-1393-00

The approximate minimum storage requirement and the capacity of the linkage editor program are described in Table 1. To increase the capacity for processing external symbol dictionary records, intermediate text records, relocation dictionary records, and identification records, increase value1 or decrease value2 of the SIZE option. Output text record length can be increased by increasing the SIZE option values, but, in no case, can the record length ever exceed the track length for the device or 32KB.

Table 1. Linkage editor capacities for minimal SIZE values (96KB, 6KB)
Function Capacity
Virtual storage allocated 96KB
Maximum number of entries in CESD 558
Maximum number of intermediate text records 372
Maximum number of RLD records (relocatable address constants) 192
Maximum number of segments per program 255
Maximum number of overlay regions per program 4
Maximum blocking factor for input object modules (number of 80-column card images per physical record) 5
Maximum blocking factor for SYSPRINT output (number of 121-character logical records per physical record) 5
Output text record length, for the devices supported by this system 3KB (See Note)
Note: The maximum output text record length is achieved when value2 of the SIZE parameter is at least twice the record length size.

The number of overlay segments and regions that can be processed is not affected by increasing the available storage.

For the CESD, the number of entries allowed can be computed by subtracting, from the maximum number given in Table 1, one entry for each of the following:
  • A ddname specified in LIBRARY statements
  • A ddname specified in INCLUDE statements
  • An ALIAS statement
  • A symbol in REPLACE or CHANGE statements that are in the largest group of these statements preceding a single object module in the input to the linkage editor
  • The segment table (SEGTAB) in an overlay program
  • An entry table (ENTAB) in an overlay program.

To compute the number of intermediate text records that will be produced during processing of either program, add one record for each group of x bytes within each control section, where x is the record size for the intermediate data set. The minimum value for x is 1KB; a maximum is chosen depending on the amount of storage available to the linkage editor and the devices allocated for the intermediate and output data sets.

The number of intermediate text records that can be handled by a linkage editor program is less than the maximums given in Table 1 if the text of one or more control sections is not in sequence by address in the input to the linkage editor.

The total length of the data fields of the CSECT identification records associated with a load module cannot exceed 32KB. To determine the number of bytes of identification data contained in a particular load module, use the following formula:

   SIZE = 269 + 16A + 31B + 2C + I(n + 6)

where:

A =
The number of compilations or assemblies by a processor supporting CSECT identification that produced the object code for the module.
B =
The number of preprocessor compiler compilations by a processor supporting CSECT identification that produced the object code for the module.
C =
The number of control sections in the module with END statements that contain identification data.
I =
The number of control sections in the module that contain user-supplied data supplied during link-editing by the optional IDENTIFY control statement.
n =
The average number of characters in the data specified by IDENTIFY control statements.
Note:
  1. The size computed by the formula includes space for recording up to 19 AMASPZAP modifications. When 75% of this space has been used, a new 251-byte record is created the next time the module is reprocessed by the linkage editor.
  2. To determine the approximate number of records involved, divide the computed size of the identification data by 256.
Example: A module contains 100 control sections produced by 20 unique compilations. Each control section is identified during link-editing by 8 characters of user data specified by the IDENTIFY control statement. The size of the identification data is computed as follows:

   A = 20
   I = 100
   n = 8

   269 + 320 + 1400 = 1989 bytes

If the optional user data specified on the IDENTIFY control statements is omitted, the size can be reduced considerably as shown in the following computation:

   269 + 320 = 589 bytes

The maximum number of downward calls made from a segment to other segments lower in its path can never exceed 340. To compute the maximum number of downward calls allowed, subtract 12 from the SYSLMOD record size, divide the difference by 12. Examples of maximum downward calls are 84 for a SYSLMOD record size of 1024 bytes and 340 for a SYSLMOD record size of 6144 bytes.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014