Before describing the contents of a Monitor system and non-system cartridge, it is necessary to briefly describe the steps to initialize the cartridges for use on the system.
When the Monitor system is loaded by the System Loader onto a disk cartridge that has been initialized by the Disk Cartridge Initialization Program (DCIP), that cartridge becomes a system cartridge.
Placement of a system cartridge on any physical drive readies the system for the user-initiated cold start procedure. The cold start establishes the physical drive on which the system cartridge has been placed as logical drive 0, which is, by definition, the system drive. The system cartridge on logical drive 0 is then called the master cartridge.
The other cartridges on the system (also initialized by DCIP) are called non-system cartridges. If desired, the IBM system can then be loaded on any of these cartridges, thus making them system cartridges. However, once a cold start has been performed and a master cartridge established, all other cartridges, system or non-system, are called satellite cartridges.
The organization of programs and areas on system and non-system cartridges is described and illustrated below.
This sector, illustrated in Figure 1, contains the defective cylinder table, the cartridge ID, the cartridge copy code, a reserved area, and an Error Message program.
The defective cylinder table contains the addresses of the first sector on any cylinders on the cartridge that are not capable of accurately storing data. The Monitor system can be operated from a cartridge with up to 3 defective cylinders.
The cartridge ID is a hexadecimal number in the range /0001 - /7FFF that uniquely identifies the cartridge.
The copy ID (updated by DCLP or COPY) gives the user the ability to identify any given copy of a system or nonsystem cartridge. Each time a copy is made, word 5 (initially 1) is incremented by one, i.e., word 5 of the copy is always one greater than the source.
The reserved area of sector @IDAD is used by the System Loader when the IBM System is loaded on the cartridge (see Figure 2).
Following initialization by DCIP (or DISC), an error message and the program that causes it to print are stored in sector @IDAD. The error message -- NONSYST. CART. ERROR -- is printed if an attempt is made to cold start a cartridge that is not a system cartridge. This message and the program that prints it are overlaid by the Cold Start program when the Monitor system is loaded on the cartridge.
The system cartridge is divided into three logical areas, which are illustrated in Figure 3. These areas are the IBM System Area, the User Area, and the Working Storage. In addition, the user may define a Fixed Area on disk for the purpose of storing programs and/or data files into permanent locations so they may be referenced by sector address.
During system generation, the IBM system decks are loaded on disk by the System Loader. The disk areas occupied by the IBM-supplied Monitor programs, and the disk areas reserved for the use of these programs, are collectively known as the IBM System Area.
The contents of the IBM System Area are listed below.
The contents of sector @IDAD have already been described (see Figure 2). Sector @DCOM contains the Disk Communications Area, which is described below (see DCOM).
Sector @RIAD contains the Resident Image. The Resident Image is a copy of the Resident Monitor without a disk I/O subroutine, that is, it is a reflection of COMMA and the Skeleton Supervisor (see Resident Monitor in the section Supervisor) The Resident Image is used to initialize the Resident Monitor during a cold start.
The System Location Equivalence Table (SLET) resides on sectors @SLET and @SLET+1. SLET is composed of an identification number, core loading address, word count, and sector address for every phase of every Monitor program.
Sector 5 is reserved.
Sector @RTBL contains the Reload Table, which is used by the System Loader during a program reload and by the Disk Utility Program (DUP) when deleting the Assembler or FORTRAN Compiler. The Reload Table is established during system generation when the System Loader reads the Type 81 System Loader control card.
Sector @HDNG is used to store the page heading that appears at the top of each page printed by a Monitor program.
The Disk Communications area, located in sector @DCOM of a system cartridge, contains the parameters that must be passed from one Monitor program to another and that must be accessed through disk storage (as opposed to core storage). Generally speaking, parameters that are not required when fetching a link stored in Disk Core Image format are found in DCOM. A listing of DCOM is provided in Appendix H, Resident Monitor.
DCOM is divided into two parts. The first part of DCOM contains the parameters that are not related to all the disk cartridges, for example, the core map switch. The second part of DCOM contains the cartridge-related parameters: cartridge ID, LET address, file protect address, etc. Each of the parameters in the second part is in the form of a fiveword table, one word for the corresponding value for each of the five possible cartridges. The five words of each table, known as a quintuple, are arranged in the order of logical drive numbers; that is, the first is for logical drive 0, the second for logical drive 1, etc.
The parameters for the non-system cartridges are obtained from the DCOM areas of those cartridges and stored in the DCOM on the system cartridge through the use of a merge operation. For example, the file protect address quintuple on the master DCOM is composed of the file protect address from each of the other four logical drives, plus its own file protect address.
The subroutine for performing the DCOM merge operation is called SYSUP and must be called by the user for the purpose of updating the DCOM parameters if cartridges are changed during a job (see SYSUP in the section System Utility Subroutines). A similar subroutine is an integral part of the Monitor Control Record Analyzer and is executed during JOB processing.
During the processing of a JOB record, the DCOMs of only those cartridges listed on the JOB record are merged into the master DCOM. The parameter tables for the other drives are cleared to zero.
In the following paragraphs, "set" means that a value is stored in the word in question; "reset" means that it is cleared to zero.
Working Storage Indicator Word. DCOM contains a Working Storage Indicator word for each cartridge on the system. The Working Storage Indicator word for a cartridge contains the disk block count of any DSF program, DCI program, or Data File currently in Working Storage on that cartridge.
The Working Storage Indicator word for a cartridge is set (1) at the completion of a DUP operation in which information is transferred to Working Storage and (2) at the completion of any assembly or successful compilation, at which time the Assembler or FORTRAN Compiler places the assembled/compiled object program in Working Storage.
The Working Storage Indicator word for a specific cartridge is reset 1) following any STORE operation to the User Area on that cartridge and 2) following the building of a core load that requires LOCALs and/or SOCALs. Because the User Area is increased at the expense of Working Storage, it is assumed that any STORE operation to the User Area overlays a part of the Working Storage area with that which was stored. Therefore, the Working Storage Indicator word is reset.
Format Indicator Word. DCOM contains a Format Indicator word for each cartridge on the system. The Format Indicator word for a cartridge indicates the format of any DSF program, DCI program, or Data File currently in Working Storage on that cartridge.
The Format Indicator word for a cartridge is set and reset under the same conditions as the Working Storage Indicator word for the same cartridge.
Temporary Mode Indicator Word. The Temporary Mode Indicator word in DCOM is set by the Supervisor when temporary mode is indicated by the user in the JOB record (see // JOB under Monitor Control Records) Table 1 lists DUP operations and any restrictions that apply when in temporary mode. The temporary mode indicator is set/reset during JOB processing.
|STORECI||To UA only|
|STOREDATA||To UA and WS only|
|STOREDATACI||To UA only|
|DEFINE FIXED AREA||Not allowed|
|DEFINE VOID ASSEMBLER||Not allowed|
|DEFINE VOID FORTRAN||Not allowed|
Following cylinder 0, the IBM System is loaded onto disk in the order shown in Figure 3. The individual programs are described in the section of this manual entitled Monitor Programs; the disk areas are described below.
System Device Subroutine Area. The System Device Subroutine Area contains the following components.
The subroutines used by the Monitor programs to operate the following print devices.
The subroutines used by the Monitor programs to operate the following I/O devices.
2501 Card Reader/1442 Card Punch, model 5, 6, or 7
1442 Card Read Punch, model 6 or 7
1134/1055 Paper Tape Reader/Punch
The I/O character code conversion subroutines used in conjunction with the I/O subroutine for the following devices.
2501 Card Reader/1442 Card Punch
1134/1055 Paper Tape Reader/Punch
The disk I/O subroutines.
All of the subroutines in the System Device Subroutine Area, except the disk I/O subroutines, are naturally relocatable and are intended for use only by Monitor programs.
The disk I/O subroutines are located in this area rather than in the System Library because they are processed by the Core Load Builder differently than those stored in the System Library.
DISKZ is stored twice on the disk, once in sector @IDAD with the Cold Start program, and once in the System Device Subroutine Area with DISK1 and DISKN. Cold Start initializes with the DISKZ in sector @IDAD, in all other cases, DISKZ is fetched from the System Device Subroutine Area.
Supervisor Control Record Area. The Supervisor Control Record Area (SCRA) is the area in which Supervisor control records (LOCAL, NOCAL, and FILES) are saved. These records are read from the input stream (following an XEQ or STORECI control record) and are stored in the SCRA for subsequent processing by the Core Load Builder.
Fixed Location Equivalence Table (FLET). This table is a directory to the contents of the Fixed Area for the cartridge on which it appears. There is one FLET entry for:
Each FLET entry specifies the name of the DCI program or Data File, its format, and its size in disk blocks.
Each cartridge on the system having a Fixed Area has a FLET. Regardless of the size of the Fixed Area (one cylinder is the minimum requirement), the FLET for a cartridge occupies the cylinder preceding the fixed Area (a minimum of 2 cylinders of Fixed Area may be initially defined. The first cylinder becomes FLET).
The sector address of the first sector of FLET on a given cartridge may be obtained from the LET on the same cartridge. The last LET header contains this sector address.
A FLET dump is illustrated in Appendix G.
Core Image Buffer (CIB). The CIB is the area on disk in which the Core Load Builder builds any portion of a core load that is to reside below location 4096. It is also used by the Core Image Loader to save any COMMON defined below location 4096 during the transfer of control from one link to the next.
Location Equivalence Table (LET). The LET on a cartridge is a directory to the contents of the User Area on that cartridge. There is one LET entry for:
Each LET entry specifies the name of an entry point, DCI program, or Data File; its format; and its size in disk blocks.
Each cartridge on the system has a LET. However, a cartridge has a User Area only if there is an entry in the LET on that cartridge other than a dummy entry (1DUMY). On a system cartridge, LET occupies the cylinder preceding the User Area.
COMMA contains the sector address of the first sector of LET for each cartridge being used in a given job.
A LET dump is illustrated in Appendix G.
The User Area (UA) is the area in which the user can store programs in Disk System format or Disk Core Image format and/or Data Files in Disk Data format. The User Area is defined on any cartridge when the cartridge is initialized. However, its size is 0 sectors until the first DSF program, DCI program, or Data File is stored in the User Area on that cartridge. The User Area occupies as many sectors as are required to contain the DSF programs, DCI programs, and Data Files stored on that cartridge.
When a DSF program, DCI program, or Data File is to be added to the User Area, it is stored at the start of Working Storage, that is, immediately following the end of the User Area. The area occupied by the new DSF program, DCI program, or Data File is then incorporated into the User Area, and Working Storage is decreased by the size of that area.
DSF programs are stored in the User Area starting at the beginning of a disk block; DCI programs and Data Files are stored starting at the beginning of a sector.
The User Area is packed when a DSF program, DCI program, or Data File is deleted from the User Area; that is, the DSF programs, DCI programs, and/or Data Files in the User Area are moved so as to occupy the vacancy (the area formerly occupied by the deleted DSF program, DCI program, or Data File). In packing, DSF programs are moved to the first disk block boundary in the vacancy; DCI programs and Data Files are moved to the first sector boundary in the vacancy. All following DSF programs, DCI programs, and Data Files are similarly packed.
The area gained by packing the User Area is returned to Working Storage.
Working Storage (WS) is that area on all cartridges that is not defined as the User/Fixed Area and, on a system cartridge, as the IBM System Area. Working Storage is available to Monitor and user programs alike as temporary disk storage. It extends from the sector boundary immediately following the User Area to the end of the cartridge (cylinder 199).
The Fixed Area (FX) is the area in which the user may store programs in Disk Core Image format and/or Data Files in Disk Data format if it is desired that these programs and Data Files always occupy the same sectors. The Fixed Area is optionally defined on any cartridge by the use of the DUP operation, DEFINE FIXED AREA. This operation is also used to increase or decrease the size of the Fixed Area.
When a DCI program or Data File is stored in the Fixed Area, it is stored starting at the beginning of a sector. When a DCI program or Data File is deleted from the Fixed Area, no packing of the Fixed Area occurs. Hence, DCI programs and Data Files in this area reside at fixed sector addresses and can be referenced as such by the user.
Figure 4 shows the layout of a non-system cartridge, a cartridge that contains no Monitor programs. Such a cartridge on multi-drive 1130 systems can be used exclusively for the storage of data and/or programs and is called a satellite cartridge.
Except for cylinder 0, which is described below, the definitions of the areas present on a non-system cartridge are the same as those previously described for a system cartridge.
Sector @IDAD of cylinder 0 on a non-system cartridge contains the parameters established by DCIP or DISC (see Sector @IDAD of any Cartridge) Note however that the Error Message program has not been overlaid since this is not a system cartridge. An attempt to cold start a non-system cartridge will cause the error message to be printed on the Console Printer. Sector @DCOM of cylinder 0 contains only that information from DCOM applicable to this non-system cartridge (see DCOM).
The location equivalence table (LET) for the cartridge (see Location Equivalence Table) occupies the remaining six sectors of cylinder 0.
But wait, there's MORE...