gtpm2m0wMigration Guide: Program Update Tapes

ISO-C File Resident Support (APAR PJ21167)

The following section discusses the migration considerations for ISO-C file resident support.

Prerequisite APARs

See the APEDIT for APAR PJ21167 for information about these prerequisite APARs.

Functional Overview

ISO-C file resident support allows infrequently used C programs to be released from storage, permitting a more effective use for main storage. ISO-C file resident programs are supported through the use of an expandable system heap storage. ISO-C file resident support improves the reliability of ISO-C applications because they are not limited by the availability of the core resident program area (CRPA). File resident support also provides an overflow area for ISO-C programs when the CRPA is full.

The system heap storage permits multiple ECBs to access large amounts of contiguous storage. This replaces the current method of allocating these storage areas during system initialization. Acquiring contiguous storage using the system heap storage does not require a change to the control program (CP). Storage can be allocated from E-type programs as well as the control program (CP). Storage can be returned to the system without doing an IPL.

Architecture

The system heap storage is very similar to the current implementation of the ECB heap. The difference between them is the system heap is defined in the system virtual memory (SVM) and is accessible by all ECBs. The maximum size of the system heap is defined in CTKA by the SSPS field. (The default size is 10 MB.) CTIN uses the value in CTKA to build the page/segment tables for the virtual address space. Enter/back processing allocates storage in the system heap storage to hold ISO-C file resident programs and ISO-C core resident programs that do not fit into the CRPA. A time-initiated flush routine determines when programs can be released from the system heap storage. Programs are released when the demand count is zero and they have not been entered for 2 cycles of the flush routine.

Data collection reports show the use of the system heap storage to indicate the number of additional frames that need to be allocated.

Operating Environment Requirements and Planning Information

There are none.

Interface Changes

The following section summarizes interface changes.

C/C++ Language

The following section summarizes C/C++ language changes. This information is presented in alphabetic order by the type of C/C++ language information. See the TPF C/C++ Language Support User's Guide and TPF Application Programming for more information about the C/C++ language.

Build Scripts

Table 103 summarizes changes to the build scripts used by the build tool. This information is presented in alphabetic order by the name of the build script.

Table 103. Changes to Build Scripts for ISO-C File Resident Support

Build Script Type New, Changed, or No Longer Supported? Description of Change
CLDFBS DLM New Build script for PAT cleanup.
CRL0BS DLM New Release ISO-C programs from storage.
CRL1BS DLM New ISO-C file resident policing routine.
CTALBS DLM Changed Added new C functions gsysc and rsysc.

Dynamic Load Module (DLM) Stubs

There are no changes.

General Use C Language Header Files

Table 104 summarizes the general use C language header file changes. This information is presented in alphabetic order by the name of the general use C language header file.

General use means these header files are available for your use.

Table 104. Changes to General Use C Language Header Files for ISO-C File Resident Support

General Use C Language Header File TARGET (TPF) ISO-C New, Changed, or No Longer Supported? Do You Need to Recompile Segments?
c$cinfc.h X X Changed No
c$dadfq.h X X Changed No
c$idsfrp.h   X New No
c$idsicd.h X X Changed No
c$idslst.h X X Changed No
c$idspat.h X X Changed No
sysapi.h   X Changed No

Implementation-Specific C/C++ Language Header Files (IBM Use Only)

There are no changes.

Library Interface Scripts

Table 105 summarizes changes to the library interface scripts used by the library interface tool and the build tool. This information is presented in alphabetic order by the name of the library interface script.

Table 105. Changes to Library Interface Scripts for ISO-C File Resident Support

Library Interface Script New, Changed, or No Longer Supported? Description of Change
CTALXV Changed Added the CGSYSC and CRSYSC library members.

Library Members (Object Files)

Table 106 summarizes the library member (object file) changes. This information is presented in alphabetic order by the name of the library member (object file).

Table 106. Changes to Library Members (Object Files) for ISO-C File Resident Support

Library Member (Object File) Library Module Name New, Changed, or No Longer Supported? Type Description of Change
CGSYSC CTAL New Assembler GSYSC library function.
CRSYSC CTAL New Assembler RSYSC library function.
CSTRTL All Changed Assembler Added a version and updated the interface to the static exception routine.

Link-Edited Modules

There are no changes.

Members (Object Files)

Table 107 summarizes changes to member (object files). This information is presented in alphabetic order by the name of the member (object file).

Notes:

  1. You must recompile or reassemble a member (object file) if it has changed.

  2. You must prelink and link a dynamic load module (DLM) if it has changed.

Table 107. Changes to Members (Object Files) for ISO-C File Resident Support

Member (Object File) DLM/DLL New, Changed, or No Longer Supported? Type Description of Change
CFRPCR CRL0

CRL1

CLDF

New C Language Release ISO-C program from system heap storage.
CLDF CLDF Changed C Language Changed from TARGET(TPF) to ISO-C.
CLE9 CRL0

CLDF

Changed C Language Changed from TARGET(TPF) to ISO-C.
CRL0 CRL0 New C Language Release ISO-C programs from storage.
CRL1 CRL1 New C Language Policing routine for ISO-C file resident programs.
CSTRTD All Changed Assembler Added a version and updated the interface to the static exception routine.

Object Code Only (OCO) Stubs

There are no changes.

Configuration Constant (CONKC) Tags

There are no changes.

Control Program Interface (CINFC) Tags

Table 108 summarizes the control program interface (CINFC) tag changes. The information in this table is ordered numerically by the equate value.

Table 108. Changes to CINFC Tags for ISO-C File Resident Support

CINFC Tag Equate Value New, Changed, or No Longer Supported?
CMMISVH 318 New

Copy Members

Table 109 summarizes copy member changes. This information is presented in alphabetic order by the name of the copy member.

Table 109. Changes to Copy Members for ISO-C File Resident Support

Copy Member Type CSECT Where Copy Member Is Located New, Changed, or No Longer Supported? Description of Change
CAAA Control Program CCNUCL Changed Updated CP directory.
CAPT Control Program CCNUCL Changed Added CPMGHEAP.
CCEB Control Program CCENBK Changed Added program linkage for file resident ISO-C programs.
CCEC Control Program CCENBK Changed Added program linkage for file resident ISO-C programs.
CCED Control Program CCENBK Changed Added program linkage for file resident ISO-C programs.
CCEF Control Program CCENBK Changed Added program linkage for file resident ISO-C programs.
CICR Control Program CCNUCL Changed Added system heap macro service routines.
CICS Control Program CCNUCL Changed Added system heap support to MOVEC.
CIS0 Control Program CCISOC Changed Added system heap data fields.
CIS2 Control Program CCISOC Changed Updated static initialization routine.
CLHP Control Program CCSTOR Changed Added system heap storage data area.
CLHV Control Program CCSTOR Changed Added system heap storage macro service routines.
CMIS Control Program CCNUCL Changed Added policing routine activation.
CPSE Control Program CCCPSE Changed Added emergency unlock routines.
CPSL Control Program CCCPSE Changed Format system heap storage in system error dump.
CT00 Control Program CCCTIN Changed Initialize system heap storage data fields.
CT38 Control Program CCCTIN Changed Initialize system heap storage data fields.
CT40 Control Program CCCTIN Changed Initialize system heap storage data fields.
CT41 Control Program CCCTIN Changed Added policing routine activation.
CTIN Control Program CCCTIN Changed Initialize system heap storage data fields.
IB01 Control Program IPLB Changed Initialize system heap storage data fields.

Fixed File Records

There are no changes.

Macros

The following section summarizes the macro changes. This information is presented in alphabetic order by the type of macro.

Advanced Program-to-Program Communications (APPC) Macros

There are no changes.

Communication Macros and Statements

There are no changes.

Data Macros

Table 110 summarizes the data macro changes. This information is presented in alphabetic order by the name of the data macro.

Table 110. Changes to Data Macros for ISO-C File Resident Support

Data Macro New, Changed, or No Longer Supported? Do You Need to Reassemble Programs Using This Data Macro?
CK1KE Changed No
IDSCSF Changed No
IDSFCT Changed No
IDSFRP New Not Applicable
IDSICD Changed No
IDSLST Changed No
IDSPAT Changed No
IDSSVH New Not Applicable
IPSTAT Changed No

General Macros

There are no changes.

Selected Equate Macros

Table 111 summarizes selected equate macro changes. This information is presented in alphabetic order by the name of the selected equate macro.

Table 111. Changes to Selected Equate Macros for ISO-C File Resident Support

Selected Equate Macro New, Changed, or No Longer Supported? Do You Need to Reassemble Programs?
CLHEQ Changed No
CZOCP Changed No
CZ1SE Changed No
DADFQ Changed No

Structured Programming Macros (SPMs)

There are no changes.

System Initialization Program (SIP) Skeleton and Internal Macros (Inner Macros)

Table 112 summarizes the system initialization program (SIP) skeleton and internal macro changes. This information is presented in alphabetic order by the name of the SIP skeleton and internal macro. See TPF System Generation for a complete description of the SIP skeleton and internal macros. If the SIP skeleton and internal macro (inner macro) is changed, you must reassemble the SIP Stage I deck and run the appropriate job control language (JCL) jobs from the SIP Stage II deck.

Table 112. Changes to SIP Skeleton and Internal Macros for ISO-C File Resident Support

SIP Skeleton and Internal Macro New, Changed, or No Longer Supported?
SKCTKA Changed
SKCTKB Changed
SPPGML Changed

System Initialization Program (SIP) Stage I Macros and Statements

There are no changes.

System Initialization Program (SIP) Stage II Macros

Table 113 summarizes system initialization program (SIP) Stage II macro changes. This information is presented in alphabetic order by the name of the SIP Stage II macro. See TPF System Generation for a complete description of the SIP Stage II macros. If IBMPAL is changed, you must run the system allocator (SALO) and load the new program allocation table (PAT) to the TPF 4.1 system.

Table 113. Changes to SIP Stage II Macros for ISO-C File Resident Support

SIP Stage II Macro New, Changed, or No Longer Supported?
IBMPAL Changed

System Communication Keypoint (SCK) Generation Macros

There are no changes.

System Macros

Table 114 summarizes system macro changes. This information is presented in alphabetic order by the name of the system macro. See TPF System Macros for a complete description of all system macros.

Table 114. Changes to System Macros for ISO-C File Resident Support

System Macro New, Changed, or No Longer Supported? Do You Need to Reassemble Programs?
$GSYSC New Not Applicable
$GSVAC Changed Yes, if you are using the system heap.
$RSYSC New Not Applicable
CINFC Changed No
GSYSC New Not Applicable
IBMSVC Changed Yes
IDATB Changed Yes
RSYSC New Not Applicable

System Macros (IBM Use Only)

Table 115 summarizes system macro changes that are for IBM use only. This information is presented in alphabetic order by the name of the system macro.

Table 115. Changes to System Macros (IBM Use Only) for ISO-C File Resident Support

System Macro (IBM Use Only) New, Changed, or No Longer Supported? Do You Need to Reassemble Programs?
CFMCC Changed Yes
CFMDC Changed Yes

Segments

Table 116 summarizes segment changes. This information is presented in alphabetic order by the name of the segment.

Table 116. Changes to Segments for ISO-C File Resident Support

Segment Type Link-Edit Module (Where Offline Segment Is Linked) New, Changed, or No Longer Supported? Description of Change
C275 Real-Time Assembler Not Applicable Changed Fixed base assembly problem.
CLDJ Real-Time C Language Not Applicable Changed Added E-type loader program clean up for file resident ISO-C programs.
CLEK Real-Time Assembler Not Applicable Changed Added E-type loader program clean up for file resident ISO-C programs.
CLH0 Real-Time Assembler Not Applicable Changed Added the SSPS parameter to the ZCTKA command.
CLH2 Real-Time Assembler Not Applicable Changed Added the SSPS parameter to the ZCTKA command.
CLIB Real-Time Assembler Not Applicable Changed Removed load of file resident DLMs.
COLP Real-Time C Language Not Applicable Changed Updated accept processing.
CVAN Real-Time Assembler Not Applicable Changed Added ZACOR and ZDCOR support for system heap storage storage.
CVAX Real-Time Assembler Not Applicable Changed Added ZACOR and ZDCOR support for system heap storage storage.
CVOR Real-Time Assembler Not Applicable Changed Added system heap storage frame usage to the ZSTAT command.
CVRN Real-Time Assembler Not Applicable Changed Added ZIDOT support for system heap storage address range.
CVZI Real-Time Assembler Not Applicable Changed Added ZIDOT support for system heap storage address range.
CYB6 Real-Time Assembler Not Applicable Changed Added ZACOR and ZDCOR support for system heap storage address range.
JCD4 Real-Time Assembler Not Applicable Changed Added system heap storage utilization to data collection.
JCS0 Real-Time Assembler Not Applicable Changed Added system heap storage utilization to data collection.
JRA1 Offline PL/I Not Applicable Changed Added system heap storage utilization to data reduction.
JRA2 Offline PL/I Not Applicable Changed Added system heap storage utilization to data reduction.
JRA3 Offline PL/I Not Applicable Changed Added system heap storage utilization to data reduction.
JRS3 Offline PL/I Not Applicable Changed Added system heap storage utilization to data reduction.

System Equates

There are no changes.

User Exits

There are no changes.

Functional and Operational Changes

The following section summarizes functional and operational changes. This information is presented in alphabetic order by the functional or operational change.

See Appendix A, "PUT 2-15 Interface Changes by Authorized Program Analysis Report (APAR)" for a summary of functional and operational changes by APAR.

Commands

Table 117 summarizes command changes. This information is presented in alphabetic order by the name of the command. See TPF Operations for a complete description of all commands.

Attention: Changes to commands can impact any automation programs you are using in your complex.

Table 117. Changes to Commands for ISO-C File Resident Support

Command New, Changed, or No Longer Supported? Description of Change
ZACOR Changed Added support for changing system heap storage storage that is currently in use.
ZCTKA Changed Added the SSPS (system heap size in MBs) parameter and output line.
ZDCOR Changed Added support for displaying system heap storage storage that is currently in use.
ZSTAT Changed Added an output line for the number of frames used for the system heap storage.

Messages and System Errors

Table 118 summarizes message (offline and online messages) and system error changes.

The message IDs or system error numbers are listed in numeric order preceded by their alphabetic prefix. Some offline and online messages do not have a standard message ID. For these, the messages are presented in alphabetic order based on the initial message text; or for those messages that begin with variable information, the initial message text that follows that variable information. See Messages (System Error and Offline) and Messages (Online) for a complete description of all messages and system errors.

Attention: Changes to offline messages, online messages, and system errors may impact any automation programs you are using in your complex.

Table 118. Changes to Messages and System Errors for ISO-C File Resident Support

Message ID or System Error Number Message Type New, Changed, or No Longer Supported?
094003 System Error New
09400A System Error Changed
09400E System Error New
094011 System Error New
CTKA0003I Online No Longer Supported
CTKA0004I Online No Longer Supported
CTKA0005I Online New
CTKA0006I Online New
CTKA0059E Online Changed
DCOR0063E Online New
STAT0008I Online No Longer Supported
STAT0010I Online New

Performance or Tuning Changes

You must tune the TPF system so that ISO-C file resident programs perform correctly. The ISO-C file resident programs do not remain in main storage permanently nor should they degrade overall system performance by requiring a fetch for every execution. You must also define additional frames to back up the system heap storage.

ISO-C File Resident Programs

ISO-C file resident programs are released from storage by a policing routine that is run on a time-initiated basis. The time interval is set to 10 seconds, meaning that the minimum time an ISO-C file resident program is in storage is 20 seconds. (The time-initiated flush indicator is set after the first interval; if the program is still not in use during the second interval, the program is flushed.) If you need to release frames used for the ISO-C file resident program sooner, you can change the policing routine interval by updating the appropriate field in the ISO-C data area and assembling CCISOC again. Conversely, if ISO-C file resident programs are being fetched too often, increase the increment. If ISO-C file resident programs are being kept in main storage because they are used frequently, consider changing the allocation to core resident.

Allocating Frames to Back up the System Heap Storage

You can determine the number of frames needed to back up the system heap by analyzing the data reduction reports. A new section called System Heap Storage Utilization appears in the System Summary Report. This section shows the utilization of the address space defined, the mean number of frames in use, and the size and number of failing requests.

Storage Considerations and Changes

There are no changes.

System Initialization Program (SIP) and System Generation Changes

There are no changes.

Loading Process Changes

There are no changes.

Online System Load Changes

There are no changes.

Publication Changes

Table 119 summarizes changes to the publications in the TPF library. This information is presented in alphabetic order by the publication title. See the TPF Library Guide for more information about the TPF library.

Table 119. Changes to TPF Publications for ISO-C File Resident Support

Publication Title Softcopy File Name Description of Change
TPF C Language Support Reference Summary Not Applicable Functions added.
TPF C Language Support User's Guide GTPCLU04 Functions added.
TPF Concepts and Structures GTPCON04 Architecture changed.
TPF Library Guide GTPDOC04 Updated with definitions for new terminology in the master glossary.
Messages (System Error and Offline) and Messages (Online) Not Applicable Updated with information about the messages and system errors that were added, changed, and no longer supported for ISO-C file resident support.
TPF Migration Guide: Program Update Tapes GTPMIG04 Updated with migration considerations for ISO-C file resident support.
TPF Operations GTPOPR04 Updated with information about the commands that were added and changed for ISO-C file resident support.
TPF System Performance and Measurement Reference GTPSPR04 Performance measurements changed and added.
TPF System Generation GTPSYG04 Changed installation considerations.
TPF System Macros GTPSYS04 Macros added.

Host System Changes

There are no changes.

Application Programming Interface (API) Changes

ISO-C file resident support provides the ability to allocate systemwide variable-sized contiguous storage blocks through the use of the system heap storage. See TPF Concepts and Structures for a description of the system heap storage. See TPF System Macros and the TPF C/C++ Language Support User's Guide for more information about the interface for allocating system heap storage.

Database Changes

ISO-C programs defined as file resident are no longer loaded into the core resident program area (CRPA). If you have file resident ISO-C programs, verify that you still want them defined as such because the way they work will change. Therefore, the allocation of ISO-C programs must be examined; some ISO-C programs may be allocated as file resident.

Feature Changes

There are none.

Installation Validation

There are no changes.

Migration Scenarios

Before you install ISO-C file resident support, do the following:

  1. Examine the allocation of all current ISO-C programs.
  2. Set appropriate allocations of ISO-C programs.
  3. Allocate a suitable size for the system heap storage address range. The default is 10 MB.
  4. Link all ISO-C DLMs and libraries again.