Previous Topic: Limits on Task Resource UsageNext Topic: Storage Pools


Program Pools

A program pool is an area of storage in the DC/UCF region/partition that is used for loading both resident and nonresident nonresident programs. Typically, program pools hold:

A DC/UCF system can include up to four program pools. Each pool must be a different type. The following table describes each type of program pool.

Note: The page size of the reentrant pools (512 bytes) can be smaller than the page size of the standard program pools (4K bytes) because the storage protect key of reentrant pages never needs to change. User programs are not permitted to modify reentrant pages. The smaller page size reduces the amount of unusable space in the reentrant pools.

Type of Pool

Characteristics

24-bit program pool

  • Mandatory for each DC/UCF system
  • Page size 4K bytes (allocated in 4K increments)
  • Defined by the PROGRAM POOL parameter of the system generation SYSTEM statement

24-bit reentrant pool

  • Optional; for reentrant programs (for example, CA ADS dialogs, subschemas, and programs defined as reentrant in a system generation PROGRAM statement)
  • Page size 512 bytes (allocated in 512-byte increments)
  • Defined by the REENTRANT POOL parameter of the system generation SYSTEM statement

31-bit program pool

  • Optional (only for operating systems that support 31-bit addressing); for programs with a residency mode (RMODE) of ANY
  • Page size 4K bytes (allocated in 4K increments)
  • Defined by the XA PROGRAM POOL parameter of the system generation SYSTEM statement

31-bit reentrant pool

  • Optional (only for operating systems that support 31-bit addressing); for reentrant programs with a residency mode (RMODE) of ANY
  • Page size 512 bytes (allocated in 512-byte increments)
  • Defined by the XA REENTRANT POOL parameter of the system generation SYSTEM statement

Specify at Least One 24-bit Program Pool

Every DC/UCF system must include the 24-bit program pool. The minimum size for this pool is 4K. The size that you specify in the system definition depends on the size and number of nonreentrant and quasireentrant programs that may be executed concurrently.

Note: Program pool space is allocated in 4K increments. For example, a 3K module is allocated 4K; a 5K module is allocated 8K.

Typically, a DC/UCF system includes the 24-bit reentrant pool. When you are first defining the system, the recommended value for the size of this pool is 1200K if ASF is used under the system and 500K if ASF is not used.

Resident programs, including nucleus and driver modules, are loaded into the appropriate program pools at DC/UCF startup. The system automatically increases the size of each pool by the amount of space occupied by the resident programs in the pool.

Under those operating systems that support 31-bit addressing, the system attempts to load all modules created by CA IDMS compilers and all programs with an RMODE of ANY into the applicable 31-bit pool, if defined. If the 31-bit pool does not contain adequate space, the system loads the program into the corresponding 24-bit pool.

Note: For more information about program loading under systems supporting the XA feature, see the CA IDMS System Operations Guide.