gtps4m2o | System Generation |
The CORREQ macro specifies main storage requirements for the online system. Many of the values defined with this macro can be altered in the online system by issuing operator commands. See the ZCTKA command in TPF Operations. The CORREQ macro is required.
Format
|
The sum of the values coded for APSIZ24 and APSIZ31 must be greater than or equal to 1000.
This parameter is subsystem unique. The value of this parameter is stored in keypoint A (CTKA).
In addition to core resident assembly language programs running in 31-bit mode, the application area above the line contains all C language programs. You may need to increase the size of the 31-bit core resident program area (CRPA) to accommodate E-type loader versions of C load modules. The sum of the values coded for APSIZ24 and APSIZ31 must be greater than or equal to 1000.
This parameter is subsystem unique. The value of this parameter is stored in keypoint A (CTKA).
Some functions that require SWBs include:
Messages in a memory queue reside in chained SWBs. The first SWB in a message chain can contain up to approximately 300 bytes of message data and subsequent SWBs in the message chain can hold up to approximately 950 bytes of message data.
Keep in mind that many components in the TPF system use frames. If your TPF system uses the E-type loader, C load modules, and the system heap facility, use the following formulas to ensure that you have enough frames allocated for these components. Use data collection and reduction to assist you in determining the overall number of frames that your TPF system requires.
For example, if one of the formulas results in 200 frames and you expect to have 2 entries performing E-type loader functions simultaneously, then you should allocate at least 400 frames that could be used by the E-type loader.
# frames = ((size of largest C load module) / 4KB) × 2)
Multiply the result by the number of C load modules being brought in from file at one time.
An ISO-C environment is created the first time an ECB enters a DLM. The number of 4KB frames that are allocated to the ISO-C stack and control blocks depends on the setting of the ISA in CTKA. The minimum value to which you can set the ISA is 2. If the stack overflow routine is called, additional frames are allocated up to a maximum that is defined by the MSHS field in CTKA.
A minimum of one 4KB frame is allocated for each DLM entered that contains static storage.
Use the following formula to calculate how much storage is allocated to the
ECBs to execute the DLM:
# frames = maximum # ECBs × (maximum stack size
/ 4KB + maximum # programs containing static)
For example, if there are 200 ECBs and each ECB runs 10 different DLMs that all contain static, and the maximum stack size is 12KB, the number of frames needed would be: 2600 = 200 × (12KB / 4KB + 10)
Use the following formula to calculate how many frames are needed for the system heap without cache support:
# frames = size of system heap (MB) × 256
For example, if the system heap is defined as 10 MB, 2560 is the maximum number of frames that can be used for the system heap.
To calculate how many frames are needed for the system heap with cache support:
where:
where:
where:
For the file system i-node cache, the values are:
For the file system directory cache, the values are:
Should the DCL list overflow then common blocks may be depleted. An additional 5 to 10 blocks should be allocated to handle this unlikely condition.
You may need to increase the number of common blocks that are allocated for ISO-C. Common blocks are used in ISO-C to hold new versions of arrays of library addresses (AOLAs) when a loadset that contains a library is activated using the ZOLDR ACTIVATE command. Use the following formula to estimate the approximate number of additional common blocks you need.
Number of additional = (maximum number of active loadsets containing libraries) * 2 common blocks
The multiplication factor of 2 in the previous formula takes into account deactivating (using the ZOLDR DEACTIVATE command) loadsets that contain libraries as well as excluding libraries from active loadsets. For these, the activation number is increased, a new EAT slot is created, and a new AOLA in a common block is created.
Common blocks must end on a megabyte boundary because frames have to start on a megabyte boundary. (Frames have to start on a megabyte boundary to limit the number of page tables required in the TPF system in order to improve performance.) If the common blocks must end on a megabyte boundary, then increasing the amount of storage to, for instance, 14MB or 16MB may push the common block area above a megabyte boundary. As a result, more common blocks would be created to fill the megabyte area remaining. When the common block area increases, VFA decreases. The other block types increase in proportion as storage increases; the common blocks do not because of the megabyte alignment.
For more information about the CORREQ macro, see TPF Main Storage Layout.
Examples
None.
References