gtpc3m1kConcepts and Structures

Record Addressing

Record addressing is the process of converting a symbolic file address, which is used by an application program, into its physical hardware address, which is used by the TPF system. To eliminate some processing overhead on each reference to a record, this conversion is done in stages. Various system services and tables are used in this conversion process.

Record Addressing Conversion Services (FACE, FACS, FACZC, and FAC8C)

There are several facilities available to convert symbolic addresses to physical addresses. They are:

The difference between FACE and FACS is that the record type input to FACE is specified as a numeric value whereas the record type input to FACS is specified symbolically. The FAC8C macro is similar to calling the file address compute program (FACE or FACS). The difference is that the FAC8C macro provides an interface to FACE for programs that use the IFAC8 parameter block. The IFAC8 parameter block only accepts an 8-byte file address as output. The FAC8C macro also accepts an 8-byte ordinal number as input.

The FACZC service routine operates like FACE, FACS, and FAC8C, except that it provides access to all fixed records no matter where the FACZC macro is called.

These facilities make use of the file address compute table (FCTB).

File Address Compute Table (FCTB)

The file address compute (FACE) table (FCTB), a system table, is a centralized source of information about file addresses. It provides the information necessary to do the following:

For fixed addresses, the FACE table is accessed by the FACE and FACS programs and the FAC8C and FACZC macro service routines. For pool addresses, the FCTB is accessed by the Get File Storage macro service routines.

The FACE table is created by the offline FACE table generator program using various specifications defined by the user installation.

Application Record Addressing

The application procedure for referring to a fixed record is different from that for referring to a pool record.

Record Accessing

An application program's request to find or file a record is accomplished through the use of the find and file macros by specifying the symbolic file address of a record in a file address reference word (FARW) that is the application program interface (API) in the ECB. The TPF system's find and file macro service routines perform the additional conversion necessary to obtain the physical address by using symbolic file address, the FACE table (FCTB), and the module file status table (MFST).

The record ID provided as input to the macro request is used by the system to access the RIAT table to determine virtual file access (VFA), logging, and exception recording characteristics.

File Address Reference Format (FARF)

The file address reference format is the method used by the TPF system to symbolically address fixed and pool records. The formats of these symbolic file addresses have evolved over the years.

The 4-byte file address defined by FARF is a basic element of data organization in the TPF system. So, as technology increases the capacity of modules, this 4-byte file address must continue to represent all of the addressing capacity of modules. There are four file address reference formats: FARF3, FARF4, FARF5, and FARF6. These allow the TPF system the flexibility of adapting to module technology.

FARF4 and FARF5 are more flexible than FARF3, and therefore lead to less unusable addressing capacity than FARF3.

FARF6 is an 8-byte file address that is used to address 4-K long-term duplicated pools only. It provides for additional pool address expansion and can be used with FARF3, FARF4, and FARF5 addresses.

The amount of addressing capacity available is directly related to the number of dedicated control bits in each address format. FARF3 has the most control bits. Moreover, the same format is used for both fixed records and pool records.

FARF3, shown in Figure 29, provides for 226 pool addresses per pool type and provides for 228 fixed file addresses. FARF4, shown in Figure 30, supports a file address capacity of 230, and FARF5, shown in Figure 31, supports a file address capacity of 232. Additionally, FARF4 and FARF5 addressing capacity can be spread between pools and fixed records whereas FARF3 dictates a certain amount of addressing capacity to pools and a certain amount to fixed records.

Figure 29. FARF3 Format


As shown in Figure 29,

The control bits are described previously. The ordinal number is an ordinal number within record type.

Figure 30. FARF4 Format


Figure 31. FARF5 Format


Figure 32. FARF6 Format


A FARF4 address, shown in Figure 30, is made up of a universal format type (UFT), a format type indicator (FTI), an ordinal number, and control bits. The UFT and FTI are like the band number in FARF3. They are unique random values associated with a type of record (pool or fixed). The ordinal number is an ordinal number within a descriptor. A FARF5 address, shown in Figure 31, contains the same types of fields as a FARF4 address except there are no control bits.

Unlike the 32-bit FARF5 address, the FARF6 address shown in Figure 32 is 64 bits long. The FARF6 UFT is 2 bytes long versus the 6-bit UFT for FARF4 and FARF5 addresses. The FARF6 FTI and ordinal fields also have size restrictions that do not apply to FARF5 addresses. The FARF6 FTI must be at least 1 byte and can be no larger than 3 bytes. The ordinal field must be at least 2 bytes, but no larger than 4 bytes.

Only two address formats from the FARF3, FARF4, and FARF5 set can be generated in a TPF system at the same time: either FARF3 and FARF4, or FARF4 and FARF5. Moving between migration stages (from FARF3/FARF4 to FARF4/FARF5) in an online system requires that you load a new FACE table. FARF6 addresses are independent from the other FARF address formats and can be generated at any time.