Why a Terminology section? Three reasons:
The original reference manuals use this terminology. Any hope of using these primary sources lies in understanding the terminology.
I try in this installation procedure to show what it was like to work on an early mainframe, with its limited capacity and its really "close to bare metal" feel (compared to today). That has to include the language used, and much of that language is now--perhaps fortunately--foreign to us.
In some cases, present-day language does not adequately describe the environment or process to be followed. Consider, for example, the concept of type-specific libraries, such as one capable of containing only executable programs.
While you may find value in reading this section beginning to end, it's perfectly fine to use it as a reference section, referring to it only when you need to. Italics are used in definitions to refer to terms that are included in this section.
Copy Book: A collection of source language statements stored in a source statement library and included in a program through a "COPY" command. Comparable to a modern-day "include" directive. COBOL and Assembly language use copy books from the C and A sublibraries respectively.
Core Image Directory: A directory of all of the phases stored in a core image library. The directory is stored in the first tracks of a core image library; the exact number depends on control statements used to create the library.
Core Image Format: The format used to store programs (phases) that are ready for execution. The phase is ready to be loaded into memory at the address specified during link editing and executed. There is no relocation information stored in core image format; programs load and run from one address. This creates problems if that address is not available, for example, because the supervisor got bigger or the program is being executed in a different partition with a different starting address.
Core Image Library: A library of executable phases, stored in core image format.
Core memory: Just what you think, Random Access Memory, or RAM. But this is really core memory, made up of teeny cores. See https://en.wikipedia.org/wiki/Magnetic-core_memory for a good discussion and some illustrations and photographs. 128kb of core memory was a lot of memory back in the day, and it cost a lot.
Cylinder: That portion of a direct access storage device that can be accessed without moving the head assembly. A cylinder consists of a set number of tracks, each of which can hold records. Each track corresponds to one read/write head on the head assembly. The number of tracks in a cylinder and the space available for data on each track are fixed for each type of disk drive. The 2311 has ten 3.6kb tracks per cylinder, while the 2314 has 20 tracks of 7.9K each bytes per cylinder. Cylinders are important because DOS/360 system residence files and private libraries must occupy a whole number of cylinders.
Cylinders exist on rotating drives today, we just never see them. The operating system, file system design, and even the hardware interfaces (e.g.,SCSI and successors) ensure we never get that close to the hardware.
Direct Access Storage Device (DASD): IBM's term for hard disk and similar devices. DASD was appropriate at the time because not all "disk" memory was a disk; drum storage was still used, and there were weird (by today's standards) data cell drives. See the Wikipedia article about the IBM 2321 Data Cell for details. Hercules does not emulate the 2321, and this site won't reference it further. But if you read code from this procedure, you'll see references to Bin or BB. These are 2321-only, and the programming exists only because IBM decided all their DASD would be accessed in the same way.
Extent: A single contiguous allocation of disk space consisting of one or more tracks on a Direct Access Storage Device. Extents may be aligned on a cylinder boundary or not depending on the requirements of the application program or system component using the extent. A single data file might have multiple extents, each one of which contains some portion of the file. A file's extents may be on the same or different volumes; a file that requires more than one disk volume would require more than one extent. Indexed Sequential Access Method files have multiple extents, one or two for an index, one or more for data, and one or more for data overflow.
Initial Program Load (IPL): Now known as booting a system. Hardware retrieval of an initial bit of programming sufficient to retrieve successively larger bits of programming until, at the completion of the process, the computer system works more or less like the reference manuals say it should. A button labeled "Load" on a 360 mainframe started this process; the Hercules command IPL takes its place in the emulated mainframe.
Label Cylinder: The last cylinder of a DOS/360 system residence file. This cylinder is used to store the job control statements for disk and tape files. Some of these definitions ("system standard labels") are shared by all programs and partitions, while others ("partition standard labels") are used by a single partition. Standard labels are preserved across job steps and jobs, while user labels are stored until either the end of the job or a new set of disk and tape file job control statements is included in the job.
Library: A disk file used by DOS/360 to store any one of three types of information: Core Image Phases, Relocatable Modules, or Source Books. The first part of a library is used for a directory; the directory size is specified when the library is created by the CORGZ utility program and cannot be changed. New phases, modules, or books are written at the end of used space in the library, and space occupied by deleted or replaced content is not reclaimed until the library is reorganized through a condense operation performed by the MAINT utility program.
Linkage Editor: Transforms the object deck created by a compiler or the assembler into a phase in core image format, ready for execution. References to external routines are resolved by retrieving those routines from a Relocatable Library and including them in the phase being built. Relocation information contained in the object deck and Relocatable Modules is used to ensure the completed phase executes correctly when loaded at the address specified in control cards.
The DOS/360 linkage editor conceptually is not all that different from its Windows and Linux counterparts (link.exe and ld, respectively.
Macro: A collection of Assembly-language source statements stored in a source statement library. Macros differ from copy books in that macros include variable substitution, limited calculations, and conditional inclusion of source statements. The DOS/360 Supervisor system generation and POWER II generation both make extensive use of macros.
Object Deck: A card-image deck of machine instructions, address relocation instructions, and references to external programs created by the assembler or a compiler. An object deck may be stored in a relocatable library using the MAINT program or it may be included in an executable phase by the linkage editor.
Partition: A fixed allocation of mainframe core memory used to execute a program. DOS/360 supports up to three partitions named BG, F1, and F2 and therefore may run three programs concurrently. The supervisor supplied on the IBM distribution material provides a single partition. The supervisor generated by this procedure supports three partitions.
Phase: An executable program in core image format created by the linkage editor.
Private library: A core image, relocatable module, or source statement library that exists as a separate file and is not part of the system residence file. If a private library is assigned to a partition, it is searched before the corresponding system library.
Private libraries can be used to store items that are not frequently used or that have specific requirements. A common private library would be a private core image library containing phases to be executed in the F1 or F2 partition. Because phases are always link edited to load at a specific real storage address, a program version linked for execution in the BG partition will fail when run in the F2 partition because the starting address of the F2 partition is different.
Relocatable directory: The directory of relocatable modules contained in a given relocatable library. A library's directory is stored in the first tracks of the library; the exact number depends on control statements used to create the library.
Relocatable Library: A library of relocatable modules.
Relocatable module: An object deck stored in a relocatable library for later use. A relocatable module may be a subprogram intended to be included with other modules into a phase, or it may be a main program stored so the phase may be re-link edited, for example when partition start addresses change.
Source Book: A collection of card images stored for inclusion in a program being compiled (copy books), assembled (copy books and/or macros), or in a job stream (source library include). The format and content of a source book is determined by its ultimate use.
Source Library Include (SLI): A POWER II capability that allowed a source book to be included in a job stream similar to executing a stored procedure or a shell script. SLI is an optional function of POWER II; the version generated in this procedure includes SLI support. The sublibrary from which SLI books are retrieved is installation defined; in this installation, the P sublibrary is the source for SLI books.
Source Statement Directory: The directory of source books contained in a given source statement library. A library's directory is stored in the first tracks of the library; the exact number depends on control statements used to create the library.
Source Statement Library: A library containing source books for use by compilers and assemblers and the POWER II spooling system.
Sublibrary: A single-letter classification of the source books in the source statement library. For example, assembly language macros and copy books are in the "A" sublibrary and appear in a directory listing as, for example "A.MACRO." The "C" sublibrary is used for COBOL copy books. The sublibrary is not normally used when referencing the macro or copy book, except in utility control cards. The "Z" sublibrary is used as a convention by DOS/360 for sample programs and job streams.
Supervisor: The DOS/360 program loaded at the end of the initial program load sequence; it's responsible for I/O operations, and job-to-job transition. It's named $$A$SUP1. Unix/Linux users can compare it to a Kernel, but the DOS/360 supervisor does LOTS less than a Linux or FreeBSD Kernel.
System Library: A core image, relocatable module, or source statement library contained within a system residence file. Compare to Private Library.
System Residence File: A file starting at track one of a disk volume and continuing through the end of a number of cylinders and containing at least all of the phases needed to IPL and operate a DOS/360 system. The number of cylinders varies from installation to installation and is based on the space required by additional items included in the file for the installation's convenience. A system residence file always includes an IPL bootstrap record, several system directories, a core image directory, a core image library, and a label cylinder. The file may also contain a relocatable library and its corresponding directory, and a source statement library and its corresponding directory. The presence of these additional libraries and any additional contents stored in the core image library are installation-defined.
System Residence Volume: A disk volume containing a system residence file. Also known as an IPL'able volume.
SYSRES: Short form term for a system residence file or volume; the distinction between the two possibilities is known from context or is not important.
Tapemark: A specially-coded block written to tape by a write tapemark command to indicate end of file or end of tape. It is not possible to write a specially coded data block to tape that will be interpreted as a tapemark when read. For 1600bpi recording density tapes, a tapemark includes dc-erased tracks (not possible in 1600bpi data blocks), and for 800bpi tapes, a tapemark block is shorter than the minimum data block size for 800bpi tapes. See the IBM reference manual IBM 2400-Series Magnetic Tape Units Original Equipment Manufacturers' Information at IBM 2400-Series Magnetic Tape Units Original Equipment Manufacturers' Information at Bitsavers.org for the gory details of tapes and tapemarks.
Track: The area of a disk under one read-write head.