GC33 5370 2_Introduction_to_DOS_VS_Rel_29_Nov73 2 Introduction To DOS VS Rel 29 Nov73
GC33-5370-2_Introduction_to_DOS_VS_Rel_29_Nov73 GC33-5370-2_Introduction_to_DOS_VS_Rel_29_Nov73
User Manual: GC33-5370-2_Introduction_to_DOS_VS_Rel_29_Nov73
Open the PDF directly: View PDF .
Page Count: 142
Download | |
Open PDF In Browser | View PDF |
GC33-5370-2 F lie No. S370·20 Systems • GC33-5370-2 File No. S370-20 Systems Introduction to DOS/VS Release 29 Third Edition (November, 1973) This is a major revision of, and obsoletes, GC33-5370-1. It includes changes reflecting support for the System/370 Model 115, new devices (3203, 5203, 3340, 3540, 3780, and 3420 Models 4, 6, and 8), and other DOS/VS system enhancements. Changes or additions to the text and illustrations are indicated by a vertical line to the left of the change. This edition applies to Version 5, Release 29, of the IBM Disk Operating System/Virtual Storage, DOS/VS, and to att subsequent versions and releases until otherwise indicated in new editions or Technical Newsletters. Changes are continually made to the information herein; before using this publication in connection with the operation of IBM systems, consult the IBM System/360 and System/370 Bibliography, GA22-6822, for the editions that are applicable and current. Note: For the availability dales of features and programming support described in this manual, please contact your IBM representative or the IBM branch office serving your locality. Requests for copies of IBM publications should be made to your IBM representative or to the IBM branch office serving your locality. A form for readers' comments is provided at the back of this publication. If the form has been removed. comments may be addressed to IBM Laboratory, Publications Department, P.O. Box 24, Uithoorn, The Netherlands. Comments become the property of IBM. © Copyright International Business Machines Corporation t 972, 1973 This Manual ..... ...is a general summary of the IBM Disk Operating System/Virtual Storage (DOS/VS). Its purpose is to provide new users of DOS with a basic introduction to the system. For users familiar with DOS, it also gives a summary of the features and functions new in DOS/VS. There are six major parts: Part 1: What is the Disk Operating System? briefly describes the major characteristics of DOS/VS. Part 2: The Functions and Facilities of DOS/VS develops a description of the system's functions and facilities, highlighting their use in an actual DOS/VS implementation wherever appropriate. Part 3: What's New in DOS/VS? summarizes the new features of DOS/VS. It is intended primarily for users already familiar with the system, who may wish to turn directly to this section. Part 4: DOS/VS Component Programs presents an overview of the DOS/VS system control programs (SCPs) and brief descriptions of some of the program products (PPs) th~t c~n be used \vith DOS/VS. Part 5: Configurations is a list of System/370 CPU models and input/ output devices that DOS/VS supports, as well as a chart showing the minimum system configuration. Part 6: DOS/VS Documentation is a brief survey of DOS/VS manuals. The reader is expected to have a basic knowledge of data processing. Supplementary information ab~ut System/370 functions and instructions may be found in IBM System/3 70 Principles of Operation, GA22-7000, together with IBM System/360 Principles of Operation, GA22-6821. Table of Contents 7 Part 1. What is the Disk Operating System? The Component Programs of the System Part 2. The Functions and Facilities of DOS/VS System Control . Controlling Jobs Automatic Joh-to-Job Transition . Assigning Actual I/O Devices to Symbolic Names Loading Programs for Execution . Handling Program Termination Resource Utilization Storage Organization Single-Partition System Multiprogramming System Multitasking . Virtual Storage Support Virtual Storage and· Address Areas Allocating Storage to Partitions The Concept of Paging . Performance Considerations An Example of Partition Allocation . POWER . Rem ote J oh Entry Performance with POWER Practical Considerations for Using POWER Job Accounting Libraries . Using the Libraries . Linkage Editor and Relocating Loader Librarian Program . Data Management . Data Organization and Access Methods Sequential Access Method (SAM) and Organization Indexed Sequential Access Method (ISAM) and Organization Virtual Storage Access Method (VSAM) and Organization Direct Access Method (DAM) and Organization Summary of Retrieval Methods for Disk • Teleprocessing Access Methods Logical and Physical 10CS . High-Level Language Support for Data Management Functions Data Security and Data Integrity • File Labeling Protection Against Duplicate Assignments . DASD File Protection . TrackHold Function Data File Security • Resource Protection Macros I/O Devices Supported . System-Operator Interaction • Reliability, Availability, and Serviceability • Integrated Emulators System Generation • Planning System Generation • Shipment of DOS/VS . Part 3. What's New in DOS/VS? Processing Flexibility . Virtual Storage Support Implementation. Relocating Loader • Implemen tation . 9 11 .13 .13 • 14 · 14 18 · 22 .23 23 .23 .24 28 • 29 • 29 · 30 .34 · 39 · 41 43 44 45 45 .46 · · • · 49 49 50 51 55 55 56 58 60 62 · · · · • 64 64 66 67 67 68 • • · · • • 69 69 70 70 70 70 71 • 73 75 .77 · 77 • 78 • 81 • 83 • 83 • 85 86 · 86 Additional Foreground Partitions Implementation. Variable Partition Priority . Implementation. The Shared Virtual Area (SV A) Implementation. Extended 1/0 Device Assignment. Implementation. Supervisor Selection Implementation. The Procedure Library Implemen tation . Interval Timer Support for Multiple Tasks Implemen tation . The DOS/VS Assembler Implementation. Emulation on Models 115 and 125 Implementation. 1/0 Flexibility VSAM - A New Access Method Implemen tation . The POWER Program Remote Job Entry Implementation. New Devices Supported Compatibility 86 87 87 87 87 87 88 88 88 89 89 89 90 90 90 91 91 91 93 93 94 95 95 95 96 97 Part 4. DOS/VS Component Programs System Control Programming Program Products RPG II Compiler FORTRAN Compiler COBOL Compilers . DOS/VS COBOL Full ANS COBOL Compiler, Version 3 Subset ANS COBOL Compiler, Version 1 PL/I Compiler PL/I Optimizing Compiler . PL/I Libraries Interactive Terminal Facility . DOS/VS Sort/Merge 104 104 104 104 105 · 105 106 · 106 · 106 Part 5. Configurations . · 107 Part 6. DOS/VS Documentation Education The DOS/VS SCP Library . Topical Groups in the SCP Library Types of Manuals in the SCP Library Manuals in the Program Product Library Program Logic Information 99 101 · 103 103 103 117 117 117 117 118 118 118 Glossary . · 123 Index. · 133 ) Part 1. What is the Disk Operating System? DOS/VS (Disk Operating System/Virtual Storage) is a comprehensive collection of programs designed to make full use of the resources of a data processing system. DOS/VS and the hardware system it controls combine to form a complete, effective computing facility. DOS/VS operates on any size central processing unit (CPU) of System/370 Models 115, 125, 135, 145, 155-11, and 158. Through the system generation procedure, DOS/VS can be tailored to complement the hardware system and meet the specific needs of the individual installation. Part 1. What is the Disk Operating System? 7 8 Introduction to DOS!VS The Component Programs of the System The component programs that make up DOS/VS may be divided into: • Control programs Processing programs Data management routines These programs and routines combine many data processing functions into a programming package that is designed to make maximum use of a hardware system and to relieve programmers and operators of a great deal of manual work. For execution, the components of DOS/VS are stored online (that is, immediately and directly accessible whenever required) in areas on magnetic disk, called libraries. This allows fast loading of any program or routine into storage whenever its function is needed. control programs As their name implies, the control programs control the execution of all processing programs, IBM-supplied as well as user-written. DOS/VS control programs comprise the initial program loader, the supervisor, and the job control program. The initial program loader is used to start operation with the system. It loads the supervisor into storage. The supervisor controls overall system operation and provides general functions required by the job control program and all processing programs. It resides in the lowest area of storage, called the supervisor area, throughout system operation. The job control program is loaded by the supervisor to initiate the execution of each new program and to establish which system facilities are to be invoked while that program is running. process~g programs Processing programs are classified as all programs whose execution is initiated by the job control program and controlled by the supervisor. Processing programs can be divided into the three categories: language translators, service programs, and application programs. Language translators translate source programs written in the various programming languages supported by DOS/VS into machine (or object) language. I Service programs assist with the use of the computing system and in the successful execution of problem programs, without contributing directly to the control of the system or the production of results. Among the most important service programs are the linkage editor, which converts the output of language translators into executable object programs; the librarian, which performs service and maintenance functions for the libraries on disk; POWER, which provides spooling support for unit record input/output; and emulators, which allow the execution on System/370 of programs written for certain other computing systems. Part I. What is the Disk Operating System? 9 Application programs include user-written and, in some cases, IBM-supplied commercial and scientific programs. data management A third important class of components of DOS/VS are its data management routines. These are available for inclusion in problem programs to relieve the programmer of the detailed programming associated with the transfer of data between auxiliary storage and programs. Figure 1.1 summarizes the concepts of DOS/VS described in this chapter. Part 2 contains a more comprehensive survey of the functions and facilities of the system. Libraries Containing DOS/VS IPL initializes the system and loads the supervisor Storage Supervisor Processing Programs Service Programs Linkage Editor Librarian Emulators System Utilities RAS Facilities POWE R Program Language Translators Assembler FORTRAN Compiler COBOL Compiler PL/I Compiler RPG-II J in operation; it loads the other DOS/VS components as their functions are required. Figure 1.1. DOS/VS Component Programs The components of DOS/VS are stored online in libraries on magnetic disk to permit fast loading into storage as needed. 10 Introduction to DOS/VS Part 2. The Functions And Facilities of DOS/VS Part 2 is a general survey of the system's most significant functions and facilities. These can be described as follows: system control DOS/VS controls the work (input, processing, output) to be performed by the computing system. It supervises the use of system resources and, based on control information from the user, their allocation to the jobs run on the computer system. libraries The programs and routines that make up DOS/VS are stored in libraries on disk storage. These libraries may also contain user-written programs and control information. There are four types of libraries - source statement, relocatable, core image, and procedure - which correspond to the basic formats in which program modules and control information may be maintained. data management The transfer of data between auxiliary storage devices and programs, as well as the organization of such data, is usually controlled by the DOS/VS data management routines. The services of data management are invoked by all system and user-written programs whenever they require the execution of input or output operations. system-operator communication Devices, alone, do not perform any data processing job. To get jobs done, the operator must initiate and monitor system execution and interpret and respond to messages issued by the system or the program. reliability availability serviceability To ensure a high degree of trouble-free operation of the complicated computing system, DOS/VS provides a number of routines for the detection, analysis, and recovery of machine and system malfunctions. integrated emulators For programs that were written to run on 1401/1440/t"460, 1410/7010, or System/360 Model 20 computers, combinations of machine features and system programming are provided to allow these programs to run under DOS/VS. system generation The general version of DOS/VS distributed by IBM must usually be tailored to the needs of the user's specific machine configuration and operating requirements. Part 2. The Functions and Facilities of DOS/VS 11 System Control The functions of system control fall into two main categories: Functions that control the processing of jobs • Functions that control the allocation and the use of system resources. Functions that control the processing of jobs include automatic job-to-job transition, symbolic device addressing, loading of programs from the libraries for processing, and the handling of program termination. Functions that control the allocation and the use of system resources include multiprogramming with concurrent execution of a number of programs, virtual storage support, input/output queueing to achieve efficient use of local and remote I/O devices and the CPU, and job accounting. Controlling Jobs After the system has been successfully started up by the initial program loader (IPL), it is ready to accept input for processing. job and job stream The unit of work the user submits to the system for processing is called a job. A succession of jobs presented to a computer is a job stream. Within each job, one or more programs may be executed. These programs may be IBM programs, such as a compiler that translates a user's source program into object code, or a user program that is already in executable format and processes data files. job control statements A job and the environment in which it is to run must be defined to the system by means of job control statements. Job control statements specify, for example, whether user programs are to be compiled, link-edited, and/or executed, from which library or device the system or user programs are to be loaded, what files they process and where these files reside. When handling jobs, DOS/VS performs the following four basic functions: • It provides for automatic transition from job to job, with a minimum of operator intervention. On the basis of job control statements supplied by the user, it assigns actual I/O devices to the symbolic device names specified in programs. It loads executable programs from online disk libraries into storage for processing. • It handles program termination. Part 2. The Functions and Facilities of DOS/VS 13 Automatic Job-to-Job Transition Jobs are defined to the system by means of job control statements. The beginning of the job is always indicated by a JOB statement. Job control statements are, in most cases, identified by two slashes (/ /) as the first two characters. The exceptions are / & (indicating end of job), /* (indicating end of data), and * (indicating comments). II JOB jobname ----I~~ beginning of first job (additional job first job control statements) 1& .. -----------I~ II JOB jobname ---I ......... end of first job beginning of second job job stream }second job 1& job step - - - - - - - - - - - I.. ~ end of second job The user may define jobs as multiple or single job steps. Each job step consists of one program, which executes after the preceding job step is completed. Defining a series of related programs as a single job may sometimes be required or it may provide specific advantages. For instance, multiple job steps within a single job would be preferred if execution of a later job step were directly dependent on successful completion of an earlier one. If a job step terminates abnormally, the remaining steps are bypassed, and the next job is initiated. Whenever a job or job step has been completed, the job control program is automatically reloaded by the supervisor. Job control reads and processes job control statements from the device assigned to the system input stream until it finds an EXEC statement, which requests execution of a program. It then passes control to the supervisor, which locates the requested program in the core image library. The core image library contains all executable programs, both IBM-supplied and user-written. Finally, the requested program is loaded for execution and gains control to start processing. In this way, the transition from one job to the next one in the job stream is handled by the system without intervention by the operator. Assigning Actual 110 Devices to Symbolic Names Processing programs that need access to a data file must usually inform the system of the type of device involved. The actual device need not be specified in the program, only a symbolic name referring to a logical, rather than physical, unit must be specified. The assignment of a logical device name to a physical device (channel and unit number) is made by the user either during system generation or during system operation. 14 Introduction to DOS/VS Processing Program The logical unit specified in the processing program is a tape file referred to by the symbolic device name SYS002 ......_-- Symbol ic Device Name Job Control The ASSGN command may be 11C;P.rl hy thp. operator to link SYS002 with the physical address 180 of a tape drive just prior to execution. Physical Device Address I/O Device Figure 2.1. Assigning an Actual 110 Device to a Symbolic Device Name by the Operator Part 2. The Functions and Facilities of DOS/VS 15 standard assignment Standard assignments, called default values, are made during system generation and are effective unless overridden by either permanent or temporary assignments. permanent and temporary assignment At any time during system operation, the user can specify a permanent or a temporary assignment to the system. A permanent device assignment overrides the default value for the duration of system operation and remains in effect for any jobs unless overridden by a temporary assignment. A temporary device assignment holds for one job or until it is overridden by another assignment. The user can specify permanent or temporary assignments in two ways. The programmer can include them in job control cards in the job stream or the operator can enter them directly from the console keyboard that he uses to communicate with the system. Permanent and temporary device assignments offer the user the following advantages: • If the configuration of the computer is changed by the addition or removal of a particular device, the programs need not be altered as long as another unit of the same device type is available. • If a device-type, device-class, or address list is used in an assignment, the program is to a large extent independent of the configuration of the system on which it is run. Defective, inoperative, or assigned devices are of no consequence in that case. • If, before the execution of a program, a device appears to be defective, inoperative, or in use by another program, the operator can select another unit of the same device type, enter a new assignment to reflect the new physical address, and run the job or job step. (See Figure 2.1.) A full list of the symbolic device names (logical units) recognized by DOS/VS is given in Figure 2.2. The use of the logical units will become clear later in the book. 16 Introduction to DOS/VS Logical Unit Device Type Used for System Logical Units: SYSRDR card reader, magnetic tape unit, disk extent, or diskette extent reading job control statements SYSIPT card reader, magnetic tape unit, disk extent, or diskette extent input of system data, such as source statements for language translators, or control information for service programs SYSIN card reader, magnetic tape unit, disk extent, or diskette extent Can be used when SYSRDR and SYSIPT are assigned to the same card reader or magnetic tape unit; must be used when SYSRDR and SYSIPT are assigned to the same disk extent or diskette extent. SYSPCH card punch, magnetic tape unit, disk extent, or diskette extent punched output of the system SYSLST printer, magnetic tape unit, disk extent, or diskette extent printed output of the system SYSOUT magnetic tape unit Must be used when SYSPCH and SYSLST are assigned to the same magnetic tape unit. It cannot be used to assign SYSPCH and SYSLST to disk since these two Units must refer to separate disk extents. SYSLOG console printer keyboard, display operator console, or printer operator messages and for logging job control statements. It can also be assigned to a printer if used in a single-partition environment. SYSLNK disk extent input to the linkage editor SYSRES disk extent system. residence device SYSVIS disk extent for virtual storage support SYSCAT disk extent VSAM catalog SYSCLB disk extent private core image library SYSRLB disk extent private relocatable library SYSSLB disk extent private source statement library SYSREC disk extent logging error records any device in the system user program input/output I I I Programmer Logical Units: SYSOOO SYSOO1 SYSnnn Figure 2.2. Symbolic Device Names Recognized by DOS/VS The system logical units are primarily used by the system. Units SYSOOO through SYSnnn are primarily used by problem programs and are called programmer logical units. The maximum value of SYSnnn varies with the number of partitions in a system. In addition to the programmer logical units. problem programs may also use the system logical units SYSRDR, SYSIPT, SYSPCH, SYSLST, and SYSLOG. Part 2. The Functions and Facilities of DOS/VS 17 Loading Programs for Execution All executable object programs, both IBM-supplied (such as supervisor, linkage editor, language translators, utilities) and user programs, must be stored in a core image library. Programs that are used frequently are stored permanently; those not often used may be stored only temporarily, just prior to loading for execution. Whether a program is to be stored permanently or temporarily can be specified by a parameter in a job control statement. Resident progr.ams that can be shared between partitions and that are used frequently may be stored in the shared virtual area (SVA). (These programs must be relocatable and reenterable.) Whether a program can be stored in the SV A is specified by the SV A parameter of the PHASE statement. The control cards following the SET SOL=CREATE statement are used to specify if a program is to be stored in the SV A; this is done when the system directory list (SOL) is built immediately after IPL. The storing (or cataloging) is done by the linkage editor, which processes the output from language translators and places its output, one or more executable program phases, into a core image library. A program is loaded from the core image library for execution by the supervisor. The supervisor itself may make the request, for example, in the case of error recpvery procedures; the request may come from the job control program after it has read the control statement identifying the next core image library phase to be loaded; or the request may come from any other program. The following sections illustrate two specific sequences of job control statements. The numbers on the left in Figures 2.3 and 2.4 indicate the sequence of events and correspond to the same numbers in the illustrations, which give a clearer picture of the flow. The first example (see Figure 2.3) is the execution of a program that has already been cataloged in the core image library. The seconu exampie (see Figure 2.4) is more complex. It illustrates how a source program would be compiled and executed in a single job. The job consists of three job steps: one for the assembly, the second for the link-editing of the object module, and the third for the execution of the core image phase. This sort of job control sequence is typical of the testing phase of program development. Test data is submitted during execution, but the program is only placed in the core image library temporarily. After all debugging has been completed and after successful runs with test data, the program would probably be cataloged permanently into the core image library. 18 Introduction to DOS/VS Job Control Statement Sequence Indicator Explanation The job control program is loaded at the completion of the previous job or at IPL. Job control then reads statements from the device assigned to SYSRDR. 1 2 / / JOB jobname The / / JOB card is the first of a set of control cards for a job. Its function is to indicate the start of a job, to provide Job accounting information, and to give the job a name. The programmer or operator may choose any name he wishes, within the rules imposed by DOS/VS. 3 / / EXEC PROG1 When job control reads this card, it causes the supervisor to locate the program with the specified name, PROG 1, In the core image library, load this and execute it. program into storage @ ®, Additional job control statements may be read and processed between the / / JOB and / / EXEC statements. If not, the system assumes 'default' values for the pOSSible vanables, according to specifications made dUring system generation or IPL. PROG1, during its execution, reads data on cards from the programmer logical unit SYS004. This may be the same physical device as SYSRDR. 6 7 /* 10 /& Figure 2.3. This card indicates the end of data. When PROG1 terminates its execution, it returns control to the supervisor which again loads job control from SYSRES,® ® Job control reads the next statement from SYSRDR. The characters / & in the f~r::;t ~'vA:~ pc!::t~cr.~ :ncHc~te the e~d of the ;ab. J~b ca!1tro l !her. te"m~r.a!es th~ job and proceeds to the next job in the job stream. Loading and Executing from the Core Image Library (Part 1) The job control statements cause programs permanently cataloged in the core image library to be loaded into storage and executed. ---1'-----.. 1& sYso~r SYSRDR (j SYSRDR Data Supervisor 0 e Cards II EXEC PROGl I I ,JOB jobname Storage Figure 2.3. Loading and Executing from the Core Image Library (Part 2) The job control statements cause programs permanently cataloged in the core image library to be loaded into storage and executed.' Part 2. The Functions and Facilities of DOS/VS 19 Sequence Indicator Job Control Statement Explanation After the IPL procedure, or on completion of the previous job, the job control program is loaded from the core image library on the SYSRES device. 2 / / JOB anyname Job control reads and processes the control cards, starting with the JOB card, from SYSRDR until an EXEC card IS encountered. / / OPTION LINK OPTION LINK signals that the assembler output is to be link-edited and cataloged temporarily (not permanently) into the core image library. / / EXEC ASSEMBLY The program name on the EXEC card is then passed to the supervisor@ which receives control and loads the deSired program (In this case, the assembler). - @ 5 The assembler reads and processes the source program input cards from SYSIPT, up to the /* card, which indicates the end of the source statements. 6 When processing the input cards, the assembler uses three work files for storing intermediate results. These are SYS001, SYS002 and SYS003. 7 The object module produced by the assembler is written on SYSLNK for subsequent processing by the linkage editor. This action IS triggered by the OPTION LINK card. 8 When the assembly is complete, the supervisor receives control and loads the job control program again. 10 / / EXEC LN KEDT Job control reads the next card from SYSRDR. 11 It passes the name of the desired pr~am (LNKEDT) to the supervisor, which loads the linkage editor into storage 13 The linkage editor retrieves the object module from SYSLNK, uses SYS001 as a work file and places its output, an executable program phase, temporarily into the core image library ®. Ij}), 16 18 @. The supervisor loads the job control program again / / EXEC @. Job control reads the next card from SYSRDR. The EXEC card with a blank operand indicates that the program phase just link-edited should be executed. @ loads the program phase from the 19 The supervisor receives control and core image library. 21 The assembledgogram begins processing and, in this example, reads data from SYSIPT ~ up to the /* card. " 23 At program termination, the supervisor loads job control 25 Job control reads the / & statement, indicating end-of-job. Figure 2.4. 3 Assembling, Link-Editing, and Executing a Source Program (Part 1) The program is temporarily cataloged into the core image library and executed immediately. 20 Introduction to DOS!VS SYSRDR 1& ;i /* SYSIPT Data - -...... SYSRD~ II EXEC Ii EXEC LNKEDT iIPT~/* SYS~ ~ SYSRDR Source _ _ _ _...,. M-OdUle~W: 1/ EXEC ASSEMBLY II OPTION LINK If JOB ,nyn,me ~ , SYSOOl Supervisor Storage SYSLNK Note: Disk files shown In Core Image Library this example may be on one or more physical units. Figure 2.4. Assembling, Link-Editing, and Executing a Source Program (Part 2) The assembler and the linkage editor are processing programs. They operate just as other problem programs using the supervisor and standard data management routines. Part 2. The Functions and Facilities of DOS/VS 21 Handling Program Termination The job control program handles normal program termination to ensure job-to-job transition. It also handles any unusual situations that would require abnormal program termination. There are three reasons for abnormal program termination: abnormal program termination Operator request for program termination from the console keyboard. He would request cancellation, for example, if he suspected that the program had entered an unending program loop. • Program failure or illegal program action. An example might be a program's attempt to address a non-existent or non-assigned I/O device. • Unrecoverable hardware failure. If an exceptional hardware condition occurs, the system tries to recover. Frequently, recovery is successful, but when it is not, an abnormal program termination occurs. An example would be a persistent read or write error that could not be resolved by the system's error recovery procedures. In case of abnormal program termination, the following series of events occurs: • If the system's error recovery procedures were involved, hardware and. environmental data is recorded on a system recorder file. (See the section on Reliability, Availability, and Serviceability (RAS) Aids.) The system issues a message to the operator, indicating the cause of the failure. (A malfunction of the console keyboard or display could prevent this.) user exit routines 22 Introduction to DOS/VS • The system may produce a storage dump (a hexadecimal printout). A dump can be specified or suppressed by the programmer at. any point in the job stream. The operator can request a dump or a trace of a particular set of instructions. Collectively, these are referred to as problem determination aids. (See the section on RAS.) • The remaining data and control cards for the job are bypassed in the input stream. • The rext job in the input stream is started. (It is possible that system operation is so extensively impaired that the IPL procedure has to be repeated.) If the user is programming in the assembler language, he has also the option of including program check handling and user exit routines in his program. Then, if an abnormal program termination occurs, the supervisor passes control to the appropriate user routine, giving information on the cause of the abnormal termination. The user routine can examine this data and take appropriate action. Resource Utilization For the user, the main measure of a system's efficiency is the throughput, that is, the amount of work handled in a certain period of time. The major resources to be examined when discussing the system's throughput are (1) CPU processing time and its use, (2) virtual storage space and its exploitation by problem programs, (3) disk library space and its employment, and (4) I/O devices and their efficiency. DOS/VS provides features that improve system throughput by allowing efficient utilization of system resources: Efficient use of CPU time through multiprogramming which allows concurrent execution of more than one program Efficient use of the problem-program area through multiprogramming and virtual storage support I • Efficient use of disk library space through DOS/VS system enhancements and the relocating loader feature • Efficient use of CPU time and unit-record I/O devices through the POWER program. Facilities also exist in DOS/VS for the user to monitor CPU usage and I/O activity through the job accounting facility. This may allow him to balance his mix of concurrently running jobs to achieve better total system utilization. In order to examine these features in more detail, it is first necessary to look briefly at the storage organization under DOS/VS. Storage Organization DOS/VS allows the user much greater flexibility than previous versions of the system in organizing and utilizing the storage in which to process his programs. In order to design a storage organization that best fits the needs of a particular installation, he must choose among a number of basic alternatives when generating his system. Single-Partition System The single-partition system presents the simplest type of storage organization. The lower storage area contains the supervisor, which remains resident throughout system operation. The remaining area, or background partition, is where all other programs, both IBM-supplied and user-written, execute. (See Figure 2.5.) A standard DOS/VS storage protection feature isolates the supervisor and all processing programs during system operation, so that one program cannot cause damage to another. Part 2. The Functions and Facilities of DOS/VS 23 OK Supervisor Area Storage Problem-Program Area or Background Partition max. K Figure 2.5. Single-Partition Storage Organization In a singJc-partition environment, storage is divided into the supervisor area and the background where all problem programs execute. Only one program can occupy the background at a time. CPU usage In a single-partition sy~tem, only one problem program can be in storage at a time. If it needs input or output, it issues an I/O request to the supervisor. The supervisor passes this request to a channel program, which then executes the I/O operation. During most of this time interval, the CPU itself remains idle, or in the wait state. (See Figure 2.6.) Multiprogramming System DOS/VS allows the user to divide the problem-program area into as many as five areas, called partitions (see Figure 2.7). Each partition can contain a separate program, which allows concurrent execution of mUltiple programs. This is called multiprogramming. Each program is logically independent, but it takes turns with the other programs in using the CPU facilities, thus reducing the time that the multiprogramming system is in the unproductive wait state. The user specifies the number and size of partitions at system generation time. The number of partitions cannot be changed during system operation, but the partition sizes can be modified between jobs or job steps by means of an operator command. The amount of storage allocated to a partition can even be set to zero, which, in effect, reduces the number of partitions. The number and size of partitions, which best meet the needs of an installation, depend upon such factors as the total amount of storage available, the size and structural characteristics of the processing programs, their balance among job streams, and the operating environment. The user may choose to vary the multiprogramming capability of his system at different intervals during the day or shift operation. He can even allow his multiprogramming system to function in single-partition mode by changing the size of all but one partition to zero, leaving all of the storage available to that one partition. 24 Introduction to DOS/VS With programs taking turns executing in a mUltiprogramming environment, processing must obviously proceed according to a set of priorities. The priority of a program for receiving CPU resources is dependent upon the priority of the partition in which it resides. The supervisor, of course, always has the highest priority. partition priorities The default values for the partitions are, from low to high, in the order of their distance from the supervisor: background, foreground-4, foreground-3, foreground-2, and foreground-I. In DOS/VS, the user can change these default values during system generation or by means of operator commands. By assigning a job to a certain partition, a programmer or an operator therefore assigns the priority of that partition to the job as well. I Figure 2.8 illustrates the passing of control among programs in a multiprogramming environment. Note how much less CPU time is left unused or idle when compared to CPU usage in a single-partition system (Figure 2.6). CPU usage I/O request from problem program Completion of I/O request I/O request from problem Completion of I/O request Supervisor Problem Program CPU time • active or processing I;~:d):::/::irl inactive Figure 2.6. CPU Usage in a Single-Partition System The CPU is in the wait state between the time an I/O request is issued and the operation is completed. A significant amount of CPU time is spent waiting in this way (gray areas in the diagram). Part 2. The Functions and Facilities of DOS/VS 25 ( 1 Background Background Problem program area Foreground-1 T Minimum number of partitions when multiprogramming J Figure 2.7. I I Foreground-4 Foreground-3 Foreground-2 Lowest default priority I I Maximum number of partitions Default Priorities in a Multiprogramming Environment The default priorities assigned by the system may be changed through an operator command. 26 Introduction to DOS/VS I/O requests or interrupts Supervisor Program 3 Program 2 Program 1 CPU time 2 • active or processing I·;;(;l!.::"i inactive 3 4 5 6 7 8 9 10 11 12 13 14 Note: This example is based on a multiprogramming system with three - - active partitions. Program 1 has the highest priority, program 3 the lowest. Figure 2.8. CPU Usage in a Multiprogramming System. CPU time is more usefully employed when three programs call upon the CPU resources. The bottom line shows a noticeable reduction in the amount of time the CPU spends in an inactive state (gray areas). Points 1, 3, 5, and 13. A program (numbers 1, 2, 3, and 1 respectively) issues an I/O request and enters the wait state pending its completion. The supervisor takes over to start the I/O operation, and to determine which other program can start processing. Points 2, 4, and 14. Programs 2, 3, and 2, in that order, receive control, because they are waiting with no I/O requests pending. Point 6. The supervisor is unable to find a program waiting with no I/O requests pending. The system enters the wait state, waiting for an I/O interrupt. Part 2. The Functions and Facilities of DOS/VS 27 Points 7, 9, and 11. An I/O interrupt occurs, signaling the completion, in turn, of the I/O operation for programs, 3, 2, and 1. The supervisor determines which is the highest priority program ready to resume processing. Point 8. Program 3 regains control, because programs 1 and 2 are still waiting. Points 10 and 12. Programs 2 and 1 resume processing, because they are the highest priority programs waiting with no pending I/O requests. In the example, note that the switch from one partition to another is always made upon an I/O request, or I/O interrupt. Multitasking Multitasking is a special form of multiprogramming which allows concurrent execution of two or more sections of a program, called "tasks", within a single partition. The purpose of this facility is again to make more efficient use of CPU time by providing a means of allowing various parts of one program to execute concurrently. main and subtasks With multitasking, one main program, the main task, "attaches" one or more subprograms, or subtasks. The main task gets control from the supervisor following an EXEC statement and then initiates, or attaches, the subtasks. The main task and its attached subtasks always reside in the same partition. Usually, the main tasks and its subtask(s) are parts of one program. It is, however, also possible to attach completely different programs to a common main task for execution in the same partition. The total number of tasks in a system depends on the number of partitions. The sum of all subtasks and all partitions must not exceed 15: 2-partition 3-partition 4-partition 5-partition system: system: system: system: 13 12 11 10 sub tasks sub tasks sub tasks subtasks maximum maximum maximum maximum All of these subtasks can be attached to one main task, or they can be divided among any number of main tasks. Subtasks have higher priority than the main tasks for processing within the partition. The pnonty of a sub task in the partition is determined by the sequence in which it is attached by the main task. The subtask attached first has the highest priority, and so on. That part of the main task that attaches or detaches subtasks must be written in DOS/VS assembler language. The rest of the main task and the subtasks may be written in any high-level language, provided certain restrictions are observed. 28 Introduction to DOS/VS Virtual Storage Support Virtual storage support is the most significant new function in DOS/VS. DOS users in the past have been restricted to an address space defined by the storage physically contained in their computer system. There are a number of terms used to describe this storage. The most common are processor storage, main storage, CPU storage and internal storage. We will refer to the computer's internal, physical storage as real storage. Prior to the availability of DOS/VS, the total of supervisor and partition sizes could not exceed this constraint and programs were confined to real storage partition limits. The size of a partition was usually determined by the size of the largest program that was to run in it. This meant that whenever programs smaller than this maximum were executed, real storage was fragmented, frequently leaving some storage in each partition unused and unproductive. DOS/VS changes these concepts. Virtual Storage and Address Areas Through a combination of System/370 hardware design and programming system support, DOS/VS has an address space, called virtual storage, that starts at zero and can extend to the maximum allowed by the system's addressing scheme. A System/370 address consists of 24 bits, providing for up to 16,777,216 bytes of address space. How much of this address space "'lil! be used in ~ particul:lr ~iT:;tcm depends upon a number of factors: the size of the computer's real storage, the number of partitions, their size, and the characteristics of the installation's programs and operating environment. Based on these factors, trade-offs are made to arrive at an optimal virtual storage size for the requirements of the particular installation. A tailored system is then generated to this size, which will contain a virtual storage smaller than the maximum limit of 16,777,216 bytes, and normally larger than the real storage installed in the system. I real address area Assume a virtual storage system of 544K with 160K bytes of real storage. (Later in this section, figures 2.15 and 2.16 will illustrate the example that produced this result.) That part of the installation's virtual storage which can be directly equated to real storage is called the real address area. virtual address area That part beyond the end of the real address area, up to the limit of the system's generated virtual storage, is the installation's virtual address area. The relationship can be represented as shown in Figure 2.9. Through the availability of the virtual address area, the constraint imposed by real storage on program size is no longer absolute. The virtual address area, as well as the real address area, is available for DOS/VS partitions. Since the maximum size of virtual storage is very large, such partitions and the programs in them can also, theoretically, be of similar magnitude. In practice there are limitations on these sizes. The user must consider such factors as the amount of real storage available, the size and structural characteristics of the programs in the virtual address area, and make trade-offs between program size limitations and the efficiency of program execution. The impact of these factors will be evident as the description of virtual storage proceeds. Part 2. The Functions and Facilities of DOS/VS 29 Real Address Area 160K ~~~~~~---+---- Virtual Storage of Installation's Generated System Virtual Address Area Figure 2.9. Virtual Storage Virtual Storage in a DOS/VS System is made up of the real address area and the virtual address area. Allocating Storage to Partitions During system generation the user specifies the number of partitions his system will support. In DOS/VS this may be from one to five, as discussed previously. Next, storage must be allocated to partitions. As in earlier releases of DOS, storage is allocated to partitions at system generation time and the amount of storage can be subsequently modified by the operator through a job control command. The difference in DOS/VS is that storage in both the real and the virtual address areas is allocated to the partition. 30 Introduction to DOS/VS I real address area allocation I The computer installation's real storage is used for four functions: 1. Supervisor Residence. The supervisor resides in the real address area. 2. Partition Allocation. Portions of the real address area may be allocated to any or none of the partitions defined during system generation. If this allocation is made, programs may be loaded from a core image library into the real address area allocated to the partition and be executed there. This allocated portion of the real address area is called a real partition and the program loaded there runs in real mode. Programs running in real mode cannot exceed the limit of their real partition. They are characterized by a high level of performance efficiency. 3. Execution of Programs from the Virtual Address Area. As an alternative to running a program in real mode, a programmer may think of his program as executing in a partition in the virtual address area. However, instructions must be physically resident in real storage to be executed, and OOS/VS assumes the responsibility for placing the code from the virtual address area into real storage for execution. The mechanism that does this is explained in more detail later; it is important at this point to understand that an area of real storage must be available to receive the code from the virtual address area. 4. Execution of Programs Resident in the Shared Virtual Area (SVA). The SVA c0ntain~ reenterab!e, relacatab!e user phases that ~a!i be shared between partitions. The code of these phases is in executable format. Because the SV A is in the high portion of virtual storage, a phase that is to be executed need not be loaded again. If the user wants to execute a program, the system directory list (SOL), which contains pointers to all phases in the SVA and pointers to frequently-used phases in the elL, may be searched to see if the required phase is in the SVA. If so, the program is executed immediately. Some programs must execute in real mode. The supervisor always runs in real mode because the control of the entire virtual storage mechanism is contained within the supervisor. For any of these functions to occur, then, the routines must be present in real storage. A category of user programs which should execute in real mode are those which have a high level of time dependence. The QTAM message control program, for example, must occupy a real partition. The POWER program, too, has to run in real mode. virtual address area allocation I Storage in the virtual address area must be allocated for all active partitions whether the user programs that run in them will execute in real mode or in virtual mode. Virtual mode means, conceptually, that when the program is loaded from a core image library for execution, it is loaded into the virtual address area allocated to the partition. Virtual mode also means that programs or phases that are in the SV A are executed immediately from that area. The virtual address area allocated to a partition is called the virtual partition. For actual program execution, OOS/VS then places the program, or sections of it as required, into real storage. There are several factors that would cause a user to plan to run certain programs in virtual mode. One is program size. Virtual partitions can be allocated to contain programs that are too large to reside in the real Part 2. The Functions and Facilities of DOS/VS 31 partitions. Frequently it is more economical to have a program execute in virtual mode than to require the programmer to develop an overlay structure to force the program to fit into a real partition. In cases where a program contains significant amounts of code that are only infrequently referenced, execution efficiency need not be substantially impacted. However, the user must be aware that execution efficiency can decrease if the sum of the sizes of programs running in virtual mode is considerably greater than the size of real storage available for those programs. Some of the pertinent factors are discussed under the heading "Performance Considerations" in this section. Here is another factor favoring virtual mode. DOS/VS assumes the responsibility for managing that portion of real storage where programs from virtual partitions are placed for execution. DOS/VS storage management involves the dynamic assignment of real storage among all the programs running concurrently in virtual mode. This can substantially reduce or eliminate the storage fragmentation which occurred with earlier versions of DOS when programs were smaller than the partition in which they ran. Assignment of real storage is done according to partition priority and storage requirements of each program at different stages of its execution. The system can also temporarily suppress one or more programs when there is not enough real storage to support all programs running in virtual mode at a reasonable level of performance. The more real storage available for this storage management activity and the higher the percentage of the installation's programs running in virtual mode, the greater the utilization of DOS/VS storage management to exploit the valuable system resource of real storage. This benefit to an installation may prove to be the greatest advantage of DOS/VS over prior DOS releases. Job streams are usually built for execution in a specific partition. Each program of the job stream executes either in real mode or in virtual mode; each partition may have parts of both the real and virtual address areas allocated to it. Each partition must have part of the virtual address area allocated to it in order to contain certain of the IBM system programs, such as job control, which run in virtual mode. The minimum virtual partition allocation allowed by the system is 64K. Therefore each partition must have at least 64K of virtual address area. It may of course have more. Consider the example of a DOS/VS system, as shown in Figure 2.10, to which the following considerations apply: • Number of partitions: Four. • Allocate real storage to F3 and F2. • Remember that portions of the virtual address area must be allocated to each partition. (The terms F3-R and F3-V, meaning the Foreground-3 Real partition and the Foreground-3 Virtual partition, describe the real address area allocated to the foreground-3 partition and the virtual address area allocated to the foreground-3 partition. Comparable designations and descriptions apply to each of the other partitions.) 32 Introduction to DOS/VS Virtual Storage ........ ,::'::::':. .... : . ... i;:"~~i#:' •. '·.: . .":.:...... .·::>:jii:~i'; ..:. ·'·:i'f~f~:it'•.·: ·• Real Address Area ··.··. ··uoaiio~·.·· Required Partitions ·::::::::.:.,':~~~t '~tQrage:: :.:." .:' . .Jr+o~ ~.~~~~~~~~.' ....... '. Qf .~~tijm$ : :". ': .'\ .~~.':~k~~t· . ':' . • Background . .:','.,' Mo.). " .." "':,": :' ,;'" ',::',: .... ',,:.::. ," • Foreground 3 BG-V • Foreground 2 F3-V ; FOiegrounc 1 Also required F2-V Virtual Address Area • Shared Virtual Area F1-V SVA Figure 2.10. An Example of Storage Allocation Each partition must have an associated virtual address area and may have an associated real address area. Part 2. The Functions and Facilities of DOS/VS 33 The Concept of Paging page data set DOS/VS must have a means of physically representing and containing the programs which at any instant are running in the virtual partitions. For this purpose, the user establishes an area of disk storage that is equivalent in capacity to the virtual address area allocated to the system. The disk area is called the page data set and it is used by DOS/VS to contain programs or parts of programs currently running in virtual mode for which there is no real storage available. pages, page frames, and page pool As already discussed, a part of real storage has to be kept available to contain programs running in virtual mode. When the limitations of this real storage prevent all programs running in virtual mode from being simultaneously present in real storage, DOS/VS exchanges sections of programs between the page data set and real storage, as they are required for execution. The program sections are called pages, each 2K bytes in length. The area of real storage into which the system loads a page is called a page frame. All the real storage page frames into which pages from any program running in virtual mode may be brought for execution make up the page pool. (Refer to Figure 2.11.) The page pool can dynamically change in size as the system runs. Real storage contributing to the size of the page pool at any moment is made up of: • Real storage not occupied by the supervisor and not allocated to partitions. (This must be at least 16K bytes unless all programs are running in real mode. In this case it may not be required at all.) • Real storage allocated to a partition when the program in that partition is running in virtual mode. In this case, the program may be thought of as occupying the virtual address area of the partition, leaving available to the page pool any real storage allocated to that partition.) • Any real storage allocated to a partition in excess of that actually required by the program currently running in that partition in' real mode. (For example, if a 40K byte program is running in real mode in ·the 54K real address area of a partition, the surplus 14K bytes can be made available to the page pool.) Contributions to the page pool from these last two sources can obviously change as each subsequent program is initiated. page fault 34 Introduction to DOS/VS When a program is running in virtual mode, all code required for execution may not be in real storage. When a program tries to refer to a storage address within a page which is not in real storage, a page fault occurs. The DOS/VS supervisor then performs a page in operation, locating the page containing the required code in the page data set, and bringing it into a page frame in the page pool. The interrupted program can then continue its execution. If all page frames are occupied, the system tries to locate a page frame not recently referenced and makes it available for the incoming page, after first paging out the contents of that page frame, if necessary. ',: .: :;.::.: ......... ; ..;. ::':';:::':::::.~~~~~.::;::::'::::::::: ·.:·····:·.. ·f3::...ff··:·:··:··.. ·::··::· .,' Real Address Area ... ,' .......;..;:..;..;...... . ...' ...... F2-.l·:·.· ;: .: ....... Pa9~ ..... . Porn., ':':: :......... 8G-V - - I - -__~ F3-V Virtual Address Area F2-V _ _I--__~ Page Data Set F1-V SV A _ _I---1~ Figure 2.11. Page data set The capacity of the page data set is equivalent to the size of the system's virtual address area. Part 2. The Functions and Facilities of DOS/VS 35 f"axing pages in real storage Some programs that run in virtual mode contain code that must be in real storage at a certain time and therefore cannot tolerate paging. In such cases the page or pages must be fixed in real storage and not written out onto the page data set. The supervisor always fixes an I/O area until successful completion of the operation. There are other parts of some programs, however, that also cannot tolerate paging, and these parts are not necessarily kept in real storage by the system. For instance, I/O appendages and programs that control time-dependent I/O operations cannot tolerate paging. The user can avoid page faults in these programs by fixing the affected pages in real storage. Fixing pages in real storage means that in a mUltiprogramming environment fewer pages are available to other programs running in virtual mode, potentially degrading system performance. That is why the system frees the pages it fixed as soon as possible, to make the page frames available to all programs running in virtual mode. the user should do the same. dynamic address translation The system cannot anticipate where in real storage a page from a program running in virtual mode will execute, until the page is actually placed in a page frame by the DOS/VS .supervisor. Therefore, the determination of absolute addresses is delayed and, in fact, takes place dynamically during program execution. This is accomplished by dynamic address translation which is a basic part of System/370 design. The following points summarize how a program is prepared for execution in virtual mode, and the activity that takes place whiler it executes. After a prognim is written and assembled or compiled, it is Hnk-edited for a virtual partition or the user may specify link-editing for relocatable loading into any real or virtual partition. The linkage editor places all phases in a core image library. If the user requests it and if the phase is reenterable and relocatable, it is also declared SV A-eligible and placed in the SVA (provided it is indicated as such in the SDL). I Compilation Linkage Editor Core Image Library As a program is loaded for execution in virtual mode, pages are transferred from a core image library to page frames in real storage. If sufficient page frames are not available, pages are paged out to the page data set until the entire program has been loaded. Figure 2. 12 illustrates this concept. If the program is in the SV A, it need not be loaded and can be executed immediately from the SVA. I As program execution proceeds, pages not in real storage are retrieved by the system from the page data set as they are needed and placed in page frames in real storage for execution. If the contents of a page frame have been altered during execution (or if a duplicate copy of the replaced page does not exist on the page data set), the page is paged out onto the page data set before the new page is brought into that page frame. (See Figure 2.13.) 36 Introduction to DOS/VS Core Image Library Real Storage 1 Page Pool Page Data Set J Figure 2.12. Loading a Program for Execution in Virtual Mode During loading, pages spill over to the page data set if sufficient page f .. ain~" ai-\3 ilCit a-yailablc iii the page PGGI. ' Page Data Set .... Real Storage D 1 Page Pool I Figure 2.13. Paging between Real Storage and the Page Data Set As execution proceeds, pages may be exchanged by the system between the page data set and page frames in the page pool. Part 2. The Functions and Facilities of DOS/VS 37 Address translation is accomplished as each instruction is executed by a combination of System/370 dynamic address translation and functions of the DOS/VS supervisor. All page frames in the page pool are available to any of the programs currently executing in the virtual mode. Designation of page frames is done by the DOS/VS supervisor which works toward keeping frequently used pages in real storage while placing new pages, as they are called in during execution, in page frames occupied by code no longer required, or, at least, less frequently required. • Four programs executing concurrently in the virtual mode might be represented as shown in Figure 2.14. Real Storage Page Data Set BG Virtual Address Area F3 Page Pool F2 4F1 I SVA Figure 2.14. Four Programs Executing in Virtual Mode Assignment of of page frames is done by the supervisor, which works toward keeping the most frequently used pages of each program in real storage. 38 Introduction to DOS/VS Performance Considerations System performance is usually measured in terms of system throughput, or the total amount of productive work accomplished by the system in a specific length of time. A number of factors have influenced system performance in the past, and virtual storage support introduces an additional variable which can enhance performance if used properly or degrade performance if used indiscriminately. Performance can be enhanced by exploiting the DOS/VS capability of dynamically allocating the real storage making up the page pool to those programs currently executing in virtual mode. DOS/VS can more closely approach maximum utilization of real storage than was practical with earlier versions of DOS, which could accomodate only real storage partitions that were relatively fixed in size. Performance can be degraded when the size of programs, and the virtual partitions in which they run, is extended to a point that is disproportionate to the size of the page pool. This condition may cause excessive paging, and consequently can slow the useful production of the computer system. Therefore, choosing this point of optimal relationship between the size of a program to run in virtual mode (plus the size of the others concurrently running in virtual mode) and the size of the page pool is important in achieving a properly balanced system. An easy solution would be to say that the sum of these program sizes should equal or only slightly exceed the page pool size. This would eliminate paging or reduce it to a minimum. But ilii:) 1:Iolutil.Jl1 wulilJ hI;; im;Ulll;;d bl;;l;dU~1;; it l;uu::)iJl;;l~ ullly illl;; fdd()1 uf program size without considering program chJlracteristics. Programs that are well adapted to paging tend to have a modular structure, in which code and data for each subroutine or for each type of record or transaction is kept physically contiguous within the program; routines for error handling or unusual situation routines are kept as separate subprograms, away from the main section of the program. In very general terms, small programs frequently do not have such a structure and are therefore not well adapted to a pagmg environment. Large programs more frequently possess these characteristics (often because the sheer size of the program forces a "subroutine" approach for implementation). For this reason they tend to be better adapted to paging. J With a knowledge of the appropriate programming style and techniques, programs can be written with structures optimized for execution in a paged environment. VSAM, the virtual storage access method available in DOS/VS, is an example of coding structure adapted to paging requirements. VSAM functions require as much as 200K bytes of virtual address space, but execute efficiently in real storage only a fraction of that size. Other factors must also be considered when balancing program sizes against available real storage. The operational requirements of an installation must be taken into account. In some cases execution efficiency and total throughput will be an installation's prime objective. In other instances, an installation may easily tolerate slower performance (because of more frequent paging) in order to have fewer constraints on program size. Larger programs may well be justified and can result from several causes: • Use of a high level language rather than assembler. This usually results in greater programmer productivity. Part 2. The Functions and Facilities of DOS/VS 39 Programs that do more extensive processing in one pass of the data. This may obviate the need for additional runs. Functional segmentation of programs into logical units. This may allow a large application to be implemented faster by dividing the work among several programmers -- usually at the expense of code compactness. DOS/VS can accomodate virtual partitions which the user knows will exceed the page pool size. He therefore has the options of realizing one or more of these advantages, at the expense of execution efficiency. The user must also consider the degree to which he "overcommits" his real storage. There is certainly a point beyond which he can not go in sacrificing execution efficiency for programmer productivity. The variables contributing to the definition of this point are numerous; some are oriented to the computer itself, such as real storage availability, CPU speed and utilization, and speed of the disk device containing the page data set. Other factors are oriented to the installation's operational environment, such as characteristics of the program library, (size of programs, I/O requirements, frequency of use and length of runs) present and projected shift usage, turn-around requirements and prescribed job sequences. In balancing all these factors to arrive at an optimal system definition, the management of an installation will probably wish to do some experimenting and tuning, varying job mixes, partition sizes and perhaps the number of active partitions. The point of departure for this experimentation should be a conservative one, in which any overcommitment of real storage is based on understanding both the justification for it and the anticipated result of it. 40 Introduction to DOS/VS An Example of Partition Allocation The examples used so far to illustrate partition allocation have not defined partition sizes. Consider one further illustration that does use specific storage allocations and in general terms defines the use of each partition. Figure 2.15 lists the partitions, their use, and the size of the real and virtual address areas allocated to each one. Figure 2.16 is a schematic representation of these storage allocations. Note that the figures in the example are not program sizes, but partition sizes. All virtual partitions and the shared virtual area are at least 64K. I Partition Program Run Mode Supervisor Real Background Virtual Foreground 3 Partition Use Real Address Area Allocation 42 K -- System Maintenance Large applications & tests (not frequently used) OK 256 K Virtual Urgent jobs (non-scheduled, high priority jobs) Test runs OK 64 K Foreground 2 Virtual Normal Batch Production OK 96 K Foreground 1 Real or Virtual Real: POWER (36 K) Virtual: Job Control (64 K) 36 K 64 K SVA Virtual Shareable programs -- 64 K System Control 78 K Total Allocated to Supervisor and Real Partitions. 544 K Total Allocated to Virtual Partitions and SVA. 72 K Minimum Available Page Pool (When POWER is active). 108 K Page Pool when POWER is inactive. Figure 2.15. I Virtual Address Area Allocation Example of Partition Definition This example represents a Model 145 with optional features for the 3215, Integrated File Adapter, and Extended Precision Floating Point. Because of Control Storage requirements, the original 160K bytes of real storage are reduced by t OK, leaving 150K bytes for the real address area. o Part 2. The Functions and Facilities of DOS/VS 41 Real Address Area :', ,,: :.~. . .' .':, '::':'. :',: :: ":' : ..:~.~:.: .:.:', ':.: ';',. ' . . . :.:.:P~~~: P~~·I···:..·:~ ,. j2'k'i::::" .. ··::;(BG.R OK)f,':'\ f¥;'~~;:.;. ~\~:i~t~~ ,r h ~ '? BG·V = 256K '/ ~ F3-V = 64K Virtual Address Area F2·V =96K Fl·V = 64K Figure 2.16. Storage AUocation Example 42 Introdudion io DOS/VS POWER In all computing systems there is a large discrepancy between CPU speeds, which are electronic and therefore very high, and the speeds of card readers, punches, and printers, which are largely mechanical and therefore relatively slow. The user can lessen this discrepancy by running his jobs in the DOS/VS mUltiprogramming environment. A program that can offer further improvement of system performance is POWER (Priority Output Writers, Execution Processors and Input Readers). This is an optional service program designed to reduce CPU dependence on the relatively slow speeds of card readers, punches, and printers. POWER decreases the execution time of unit record I/O-bound jobs by servicing 110 requests addressed to such devices at disk I/O speed. The peripheral reading and punching of cards and the printing is done by POWER in parallel during the execution of other jobs. The additional CPU time used by POWER is negligible. In a typical environment of jobs with mixed characteristics, throughput may be substantially improved. Additionally, POWER allows the user to multiprogram in up to four other partitions without the need for separate unit-record devices for each partition. The unit record devices used by POWER can provide the I/O requirements for all the partitions that are being serviced by POWER. Processing with POWER is as follows (see Figure 2.17): POWER reads the job streams (job control statements, programs, and data cards) for the individual partitions and stores these in input queues on disk. From disk, the jobs are transferred by POWER to the partitions and executed. Unit-record output (printer and punch) of every job is stored on disk by POWER before it is finally printed and/or punched. Job input as well as job output may be held in the POWER queues for execution or printing/punching at a later time. This allows the user to hold jobs that need, for example, two hours of execution or printing time until the system is less occupied. Execution of POWER may be controlled by the operator. He may start and stop input reading and output printing/punching independently of job execution. Whenever a card reader, a punch, or a printer becomes inoperative or fails, the system can continue processing with those jobs already in the input queues on disk and store the output of these jobs in the output queues on disk. When the I/O unit becomes available again, reading, punching, or printing can continue. Part 2. The Functions and Facilities of DOS/VS 43 Remote Job Entry POWER also offers a teleprocessing facility: Remote Job Entry (RJE). With POWER RJE, the user may enter jobs for processing from remote terminals. RJE supports up to five 2770, 2780, or 3780 terminals on the same number of leased or dial-up lines. Once a job has been entered into the input job queue, execution proceeds under DOS/VS supervision. All data files required by the job are subject to DOS/VS specifications, just as if the job had been entered locally. I Job Input Job Processing POWER Input Queue(s) POWE R Output Queue(s) ~~~ Job Output Disk Data Files These user files are not handled by the POWE R program Figure 2.17. Processing with POWER A job's normal punched-card input is read from the card reader and queued on disk before the start of a job. Similarly, a job's output is stored on disk in an output queue and printed and punched at a later stage. 44 Introduction to DOS/VS RJE job output may be directed to the terminal from which the job was entered, to other terminals, or to the normal (local) output units of the system. It can be immediately transmitted to the specified unit-record device or be held in the POWER queue for printing or punching on demand. Performance with POWER The performance of DOS/VS with POWER is best illustrated by a typical example, shown in Figure 2.18. The upper part shows the processing of a DOS/VS job stream in a partition without the POWER facilities. Note that the first job, which needs a great deal of printing time, slows down throughput. The lower part of the figure shows the processing times of the same job stream, with POWER. Here, the total time is divided into CPU time, queue time (the time the output of the job is in the print queue, ready for printing), and printing time. (Input queuing is not considered in this example.) Although the time elapsed between the reading of a job and the completion of its output increases under POWER, overall system performance is improved considerably. This can be seen from the difference in time between points 2 and 3, when all five jobs have finished processing. In addition the CPU is available for processing, because between points 1 and 2 the only activity here is the printing of the output queues, which requires little CPU time. This is only a theoretical example. The actual increase in throughput that may be achieved depends, for example, on the CPU or I/O orientation of each program, the sequence of the particular jobs, the number of partitions supported, and the speed and number of unit-record devices. Practical Considerations for Using POWER The POWER program is distributed as a set of macro instructions and phases from which the user may assemble his own version according to his needs. One option is to generate a reduced version that performs printing and punching only (called a writer-only system). Through operands of a POWER generation macro, the user may specify that input and output of queues be started automatically upon initiation of POWER, rather than under operator control. The only DOS/VS unit-record device not supported by POWER is the IBM 2596 Card Read Punch. POWER always has to run in a real partition, which must have higher priority than any other partitions serviced by POWER. The user has the option to store POWER output queues on tape instead of on disk. Part 2. The Functions and Facilities of DOS/VS 45 Without POWE R (CPU and printer time) With POWER CPU time 131 T ~JOB2 ~-~ I _ _ _ _~~~ _ _ _ _ _ _ _ _~~: r!otal Time Without POWER =-- ~ ~ 2 3 4 5 ~:::~~ I I I I I I ,I. I I I i ! 5 "~ 1 I I !! I I I Queue time 1 I I I Pri nter ti me 13 II ff?!%_I I 4 2 JOB 1 II ~ "'- V"I ~ 1 I I I I I 'I I 13 14 ,5 1 2 : ~--------------------~~~~.-----------------------~ ---M~ Total Time With POWE R I 1 \1 SAveD .. , Figure 2.18. Processing Five Jobs With and Without POWER The improvement in system performance achieved by output queueing under POWER is shown by the difference in time between points 2 and 3. Job Accounting A DOS/VS user can write a simple program to keep track of CPU usage and the usage of the various I/O devices by accessing the job accounting data accumulated by the system. This enables the installation manager to: Charge usage of the system to the various users • Help supervise system operation Check on efficient use of I/O devices .. Plan for new applications, additional devices, and new systems. The necessary information for this program is provided by the job accounting interface, an optional feature specified during system generation. With this feature, the following information is automatically gathered by the system for each job step and stored in a table in the supervisor area: Job name, date, and partition in which the job is running Start and stop times of the job, CPU time used by the program, CPU time used by the control program (overhead), and CPU idle time chargeable to that partition • 46 introduction to DOS!VS Optionally, counts of the operation of the various I/O devices. At the end of each job step, the user's accounting program is automatically loaded into the partition where the job step has just finished processing, either to transfer the information from the job accounting table to auxiliary storage (tape or disk) for future use, or to format and print the information. The next job or job step is then started. Each installation must provide its own accounting program to charge the various users for the computer time used, or to analyze the performance of a program or job stream. For more details on this subject refer to the DOS/VS System Management Guide. The job accounting procedure is summarized in Figure 2.19. II JOB ... II EXEC ... ~ .. :: ..... : ........,> Job Accounting Table (in Supervisor area) .. ..:.....:;.:.. " .... :::.,.> ... Your Accounting Program ... :.:.................. :::> ... For Future Use 1& Your Job T__________1 For Billing and analysis -....- Figure 2.19. Job Accounting Procedure An appropriate accounting program extracts and analyzes the data in the job accounting table and prints it or stores it on disk (or tape). Part 2. The Functions and Facilities of DOS/VS 47 Libraries ) One of the most powerful features of DOS/VS is its range of libraries, which enable programming data to be stored online in readily accessible form. PRDC- ::. f~~~u~~ L'B~~ I DOS/VS supports four types of libraries: core image, relocatable, source statement, and procedure. The first three types of libraries exist in two different classes, system libraries and private libraries, whereas the procedure library exists only as a syst(!ffi l!l:!rary. The system libraries are contained in the system residence file (SYSRES), and can be accessed by all partitions. Private libraries can be contained on separate disk packs, and can be accessed only by programs in the partitions to which they are assigned. DOS/VS also supports the shared virtual area (SV A), which is closely related to the system core image library. The system librarian program provides service and maintenance functions for all types of libraries. In addition, two system programs are related to core image libraries. These are the linkage editor and the loader, which is a part of the supervisor. DOS/VS offers the user two types of loader programs, the relocating and the non-relocating loader. The linkage editor also services the SV A if the required phase is SV A-eligible and is indicated as such in the SDL. , U sing the Libraries The DOS/VS libraries have the following main functions: core image library The core image library serves to catalog programs in units. called phases, that have been processed by the linkage editor and are ready for loading. Each system must contain a system core image library in order to catalog certain system programs. In DOS/VS, phases can be in either non-relocatable or relocatable format. A non-relocatable phase is loaded directly at the address computed at link-edit time into a real or virtual partition. A DOS/VS feature now allows the linkage editor to produce relocatable phases as well. The load addresses, entry points, and the address constants of these phases can be modified by the relocating loader, and such phases can, therefore, be loaded at storage addresses different from the ones for which they were link-edited. shared virtual area The shared virtual area (SV A) is located in high virtual storage. It contains a system GETVIS area, a system directory list (SDL) of frequently-used phases, and code in executable format. The GETVIS area is located in the high end of the SV A. Phases that are relocatable and reenterable can be placed in the shared virtual area. These phases are also in the core image library. The name of each phase in the SVA is stored in the SDL with an indication that the phase is loaded in the SV A. The linkage editor produces phases that are placed in the core image library and in the SVA when the user has requested it. These phases are relocatable and can be used by all partitions in the system. Because they Part 2. The Functions and Facilities of DOS!VS 49 I are already in virtual storage, they need not be loaded again before execution. relocatable library When the linkage editor encounters a reference to a module not being processed, it searches the relocatable library for a module with the name specified in the external reference. If the search is successful, the module found is linked with the modules being processed. Explicitly specified modules from the relocatable library can be included with modules being link-edited. In this way, sections of code that are used by a number of different programs need be written, translated and cataloged in relocatable object format only once. source statement library The source statement library contains sequences of source language statements, called books. The library consists of a number of sublibraries used, for example, to store macro definitions. When the assembler encounters a source statement with an unknown operation code, it tries to retrieve the book with the same name as the unknown operation code from the source statement library. It then substitutes the code found in the library for the source statement in question. Similarly, when a compiler encounters a reference to a book in the source statement library, it g~ts the specified book from the library and substitutes it for the reference in the source program it is processing. The procedure library is used to catalog frequently used sets of job control and linkage editor statements in card image format. Depending on a system generation option, procedures may contain inline data, such as utility modifier or librarian control statements. Cataloged procedures can be included in the job control input stream and may be modified by "overwrite" statements as the job stream is processed. private libraries In addition to system libraries, DOS/VS offers the user the option of private core image, relocatable, and source statement libraries. These are particularly useful under the following circumstances: In an installation with a large number of programs or applications. • In an environment where, for security reasons, it is desirable that certain programs be kept under lock and key. Linkage Editor and Relocating Loader The output of a language translator is an object module in machine language that may either be punched into cards (SYSPCH), which can be cataloged into the relocatable library, or stored in an intermediate storage area on disk (SYSLNK) if link-editing is to follow translation immediately. Assembly or compilation of source programs is not affected by virtual storage considerations. The generated object program is the same whether it is to be executed in real or in virtual mode. Object modules cannot yet be executed for the following reasons: • 50 introduction to Dosivs Programs, in most cases, have to be relocated to the partitions in which they are to run. ( \" • References to locations or labels in other modules (that is, external references) may still have to be resolved. Relocation and resolution of references are done by the linkage editor which gets its input from SYSLNK and, optionally, from a relocatable library. The output - executable programs, called phases, with specific load addresses - are always stored in a core image library, either permanently or temporarily. If the output phases are reenterable and relocatable, they are also placed in the SVA if the user has so requested. The phases are executable, either directly or after processing by the relocating loader. I In earlier versions of DOS, whenever a user program had to be able to run in any partition, the program had to be self-relocating, or three different copies had to be present in a core image library, each link-edited for one of the three partitions, and each with a different name. DOS!VS, however, allows the linkage editor to make its output relocatable. The phase then contains relocation information, and the relocating loader in the supervisor relocates the phase, if necessary, when loading it into the partition that the user selects at execution time. This feature is of particular advantage (1) in a multiprogramming environment, where it can save a considerable amount of processing time and disk storage space, as shown in Figure 2.20, (2) in a single partition environment where programs are to run in real mode at one time and in virtual mode at another time, and (3) when the supervisor size has irrcreased in which case it saves relink-editing of programs that are loaded at the end of the supervisor. The relocating loader is an optional feature. Its inclusion in the supervisor has to be specified during system generation. Figure 2.21 summarizes the possibilities of link-editing and relocating prior to execution. Figure 2.22 shows how the libraries, the language translators, and the linkage editor fit together in DOS!VS. Librarian Program DOS!VS contains a librarian program that performs maintenance and service functions for all libraries. These functions include: Cataloging and deleting of any element in a library. • Printing of any element or directory. • Punching of any element. • Copying of elements from one library to another of the same type. Condensing and changing the size and location of the libraries. • Creating a new system disk pack and private core image, relocatable, and source statement libraries. Part 2. The Functions and Facilities of DOS/VS 51 Linkage Editor ... SV BG Language Translator Source Linkage Editor F2 Fl Linkage Editor Wl.!hQY!.I!llo..fill:1D..919~Q..~: 3 linkage editor runs 3 copies in core image library .... BG L. ( rl=> Source F4 Language Translator Linkage Editor F3 F2 Fl '~.i.!h_@J..Q£.~Lo9...J..Q~@r..; 1 linkage editor run 1 copy in core image library Figure 2.20. Linkage Editing With and Without Relocating Loader Feature Contrast the multiple link-editing plus multiple core image library copies of user programs without relocating loader with the single (relocatable) core image library copy needed when the relocating loader feature is included. I * This step (program loading) is not required for programs that are contained in the SV A. Such a program is executed directly from the SV A, regardless of the partition by which it is called. 52 Introduction to DOS/VS NO If the user specifies ACTION REL, the linkage editor can produce a relocatable phase. This supervisor can load such a phase only into the virtual partition for which it was originally link-edited (that is, the relocation factor is not applied). YES YES LINK-EDITING FOR A SPECIFIC PARTITION NO - Default: Addresses will be adjusted for the specified virtual partition. Option: User may specify linking for the associated LINKAGE EDITOR PRODUCES RELOCATABLE PHASES rPAI p;lrtitinn, System retains flexibility of loading in any partition. Program may be included in job stream for any partition when program is loaded. Default: Program runs in virtual mode. Option: User may specify execution in associated real partition. Figure 2.21. Options Available During Link-Editing Part 2. The Functions and Facilities of DOS/VS 53 Control Information ~==~1 I SSl (system & private) Pl (system) language Translation f..=::ll '\ ~--'--'-..... J I / I I __..........__..... __ J SSL Rl CI l Pl - source statement library Linkrelocatable library Editing core image library system procedure library ...._ _..,.._ _--' ,----~ /·...:'\-1 ,..-____---. ) J ,----~ ---I I I ...._,.-___..... __ J 1 Cil (system & private) * 1--+--------..., * If a phase IS SV A-eligible and the user has Program Execution requested It in the PHASE statement and in the SDl, the phase is also placed in the SVA. From there it can be executed directly whenever It is called by any of the partitions. Figure 2.22. Interrelationship of Language Translators, Linkage Editor, and Libraries S4 Introduction to DOS/VS Data Management Data storage and retrieval requirements, and how the data processing department responds to those requirements are often essential concerns of everyone affected by the data processing operation. Some basic questions involving data management are: • What processing requirements is each data file to be subject to? What type of file organization is best suited to the processing requirements for the file? What medium (magnetic tape, cards, disk, etc.) is each data file to be stored on? What data security considerations should apply to the file during and after its processing cycle? How the DOS/VS data management facilities provide a means of arriving at appropriate answers to these questions is outlined in the sections that follow. Data Oqzanization and Access Methods data organization Data Organization refers to the techniques used in placing records on an auxiliary storage device such as cards, magnetic tape or disk. It involves such considerations as: • The choice of storage media best suited to the processing requirements of the data. The sequence of the individual records in the file. For example, the file could be sorted on one control field or on several, in a prescribed hierarchy; the file could be in ascending or descending order. • The length of records. Records in a file can be of a fixed length or of variable length. • The blocking factor for the file. This determines how many logical records constitute a physical record, and is an important factor in storage media utilization and in processing efficiency. • The use of indexes with a file on a direct access device to provide an efficient means of randomly selecting specific records. • The use of programmed addressing techniques to determine where a record is stored on a direct access device and the location from which it can subsequently be retrieved for processing. • The type of data additions to an already existing file. It is of major importance whether many or few data additions and updates are made to a file, whether additions and updates are made in sequential or random order, whether a file is accessed by more than one program in different partitions, and whether it is a read-only file. Part 2. The Functions and Facilities of DOS/VS 55 access methods Access methods refer to the routines which assist the programmer in transferring records in a particular data organization format between storage and an I/O device. It is important to understand the relationship between data organization and access methods. Broadly speaking, how data is organized and the type of device that it is stored on largely determine the access methods that can subsequently be used to retrieve it. DOS/VS provides several methods of data organization. For each of these there is an access method which allows one or more techniques of file <;reation and retrieval. The following sections briefly describe these data management facilities. Sequential Access Method (SAM) and Organization file organization Sequential organization means that records physically follow one another in a sequence usually determined by one or more control fields within each record. Examples of control fields are name or man-number in a personnel file, or catalog number or part number in an inventory file. Sequential organization is the most widely used method of data organization and is supported for all device types except teleprocessing terminals. Card files, print files, diskette unit files, and magnetic tape files are always organized sequentially, simply because the physical characteristics of those devices require the reading or writing of one record after another. Data files on disk are also frequently organized sequentially, in control number sequence. data access If required, records are sorted into their prescribed sequence prior to, or as a part of, creating a sequentially organized file. The Sequential Access Method (SAM) can create a sequential file from the sorted records presented to it and subsequently retrieve those records for sequential processing. In addition, by utilizing certain macros, sequential files on disk or tape may be positioned to specific physical blocks prior to reading or writing. Records from sequential disk files may be "updated," meaning that each record may be written back onto its original physical location after having been changed by the program. applications Sequential organization and access methods are used for some files in most data processing installations since the requirements of many applications are met entirely by "batch processing". This means that transactions are held and batched until a number of them are available for processing against a master file. The batch of transactions is then sorted into the same sequence as the master file, which is then updated at periodic intervals, such as daily, weekly or monthly, depending on the volume of activity and the need for keeping the master records current. Payroll files are frequently organized sequentially; they are, typically, processed once per pay period with transactions consisting of employee time cards, piecework records or similar applicable data, producing checks and earnings statements and updating year-to-date figures in the master records. Figure 2.23 shows how tape and disk sequential files appear. 56 Introduction to DOS/VS II AHEARN \I AERLE Figure 2.23. Sequential Data Organization Records of a sequential file are arranged in the order in which they are processed. In this instance the order established is alphabetical. Note that only small segments of the file are shown and that only the control field by which the file is organized is shown. The remaining data in each record is irrelevant in this context. Part 2. The Functions and Facilities of DOS/VS 57 Indexed Sequential Access Method (ISAM) and Organization The physical characteristics of a disk make it practicable to retrieve a record from any location in the file, instead of having to go to the next one in physical sequence. DOS/VS exploits this capability by providing the indexed sequential access method and organization. index and file organization An indexed sequential file is made up of (1) records in logical sequence by control field (or key) and (2) an index, which is built when the file is created. The index itself is structured in two or three levels. Each index entry is composed of the key of a data record, or a lower level index entry, and the physical address at which the record, or lower level index entry, is located on the disk. The programmer may process indexed sequential files sequentially when the definition of the programming application requires this approach, or process them randomly, retrieving a particular relevant record from the entire file, if this approach is better adapted to the CYLINDER 96 I (Track index for cyl. 96) • TRACK 8 CYLINDER 57 Cylinder Index • TRACK 0 (Track index for cyl. 57) I • TRACK 2 • TRACK 17 • TRACK 18 Figure 2.24. Indexed Sequential Data Organization Records of an indexed sequential file are arranged in logical sequence by key. Indexes to these keys permit direct access to individual records. All or part of the file can be processed sequentially. In this illustration, the file starts on cylinder 57 and ends on cylinder 96. 58 Introduction to DOS/VS requirements of the job. He may even combine both facilities in the same program. Both retrieval methods are easy from the programmer's viewpoint: data access For sequential retrieval he simply issues the appropriate I/O command or macro, such as GET, at the point in his program where he requires the next record, and ISAM makes the record available to him. For random retrieval the programmer merely provides the key of the record he needs, issues the appropriate command, and ISAM presents the specific record to him for processing. Index searching, deblocking records, and handling device requirements are all accomplished internally by the access method. overflow area ISAM also provides the routines for creating a file from sorted input, building the index, and adding records to an existing file. For the insertion of records into an existing file, additional disk space, called overflow area, is reserved. On sequential retrieval of a file that has data in the overflow area, records are retrieved in logically sequential order. applications This degree of processing flexibility makes ISAM attractive in many applications. It is frequently used in inventory record maintenance, where, for exampie, sequential retrieval is most convenient for stock status reports and batch transaction processing of non-critical items, but where random retrieval is necessary for real-time inquiry or for stock maintenance of high turnover merchandise. The sequential file illustrated in the previous section may be represented in indexed sequential format as shown in Figure 2.24. As new records are added to an indexed sequential file, exceptions will occur. However, the access method handles the insertions, and both sequential and direct retrieval requirements, regardless of insertions. For direct retrieval, ISAM follows the sequence: MASTER INDEX (oPtional) P9 ints to CYLINDER INDEX TRACK INDEX DATA TRACK Part 2. The Functions and Facilities of DOS/VS 59 Virtual Storage Access Method (VSAM) and Organization VSAM is a new access method for direct or sequential processing of fixed and variable length records on direct-access devices. It has more functions, generally better performance, better data integrity and security, improved data organization, and is easier to use and control than the DOS/VS DAM and ISAM access methods. file organization The records in a VSAM file can be organized either in logical sequence by a key field (key-sequence) or in the physical sequence in which they are written on the file (entry-sequence). The user can read, add, delete, and modify records in a VSAM file. He can access the records sequentially or directly by key or by address. A key-sequenced file has an index, like ISAM; the records in a key-sequenced file can be accessed by key or by address. An entry-sequenced file does not have an index, and records can be accessed by address only. It can be processed like a sequential file or a direct file. key-sequenced files Like indexed sequential files, key-sequenced files are ordered according to a user-defined key field in each record. Key-sequenced files, however, can generally be processed faster than ISAM files because VSAM has a more efficient index and does not use chained record overflow. When a key-sequenced file is created, certain portions can be left empty, that is, free space can be distributed throughout the file. When a record is inserted or when an existing record is lengthened, the free space at or near the existing records closest in key sequence is used. This eliminates the need for overflow chains and overflow areas; it also minimizes data movement. Thus performance does not degrade substantially as records are added and the file does not have to be reorganized as often as an IS AM file. VSAM reclaims space when a record is deleted or shortened, and the space released becomes free space. The index of a key-sequenced VSAM file is more efficient than an ISAM index because it generally requires less direct-access space and less updating of index entries. Space is saved by eliminating redundant key information in the index entries (key compression) and by blocking index records. A shorter index requires less time to search and update. Updating is infrequent, however, because index entries are not usually modified when records are added to the file. Several index options are available to speed VSAM processing: the index and the data can be on different devices. all or part of the index can be loaded into virtual storage if the user provides enough space for it. the lowest level of index records can be written adjacent to the data to reduce disk-arm movement, and several copies of an index record can be written on a track to reduce rotational delay. entry-sequenced files 60 Introduction to DOS/VS Records are stored in entry-sequenced files in the order in which they are submitted to or written on the device. No keys are recognized and, consequently, no indexes are built. The order of records is fixed; they are not moved. Thus, free space is not distributed throughout the file, and new records are placed at the end. Records can be shortened but they cannot be deleted. If a record is lengthened, a new copy of it is written at the end of the file. Since there is no index, the user must either access the file sequentially (in the order the records were written) or directly by record addresses. VSAM passes the user the address of each record as it is added to the file. He can maintain a table of those addresses, or supply a randomizing algorithm for addresses, to access the records. data organization The data organization of ISAM is based on the physical units of disk cylinder and disk track, while the data organization of VSAM is based on logical units called control intervals and control areas. A control interval is the unit of direct-access storage that is transferred to and from virtual storage. It can contain one or more records in one or more blocks. Each entry in the lowest index level of a key-sequenced VSAM file points to a control interval. Free space in a key-sequenced file is distributed in terms of control intervals. A percentage of each control interval can be free space and some control intervals can be entirely free space. Indexes are also organized in control intervals. Each contains a single index record which can have many index entries. A control area is a group of control intervals. The number of control intervals of data in a control area equals the number of index entries in each index record. VSAM data organization provides for device independence by reducing the programmer's concern about the physical characteristics of the data and the index. Figure 2.25 illustrates VSAM data organization. data access As with ISAM, VSAM records can be accessed either sequentially or directly. Key-sequenced files can be accessed by key or address, entry-sequenced tiJes can be accessed by address oniy. The key can be that of an individual record or it can be a generic key (the front part of a key field) which specifies the keys of a group of individual records. The address is a relative address of the record from the beginning of the file, and is called the relative byte address. VSAM allows retrieval, storage, update, and deletion of records. The access can be either sequential or direct and can be by record key or record address. With a key-sequenced file, several records in sequence can be inserted as a group at one point in the file. This is faster than inserting them one at a time with direct access, as ISAM requires. Also, the user can access several records in key-sequence and then have VSAM skip to another portion of the file and access more records in sequence without having to search the entire index to find the new group of records. A single I/O macro, such as GET, can access one record or several records at one time. Also, more than one I/O macro can be issued to access records in different parts of the file at the same time. VSAM catalog VSAM keeps central control over the creation, access, and deletion of files and over the management of direct-access storage space allocated to those files. This is done by keeping information on file and space characteristics in one place, the VSAM catalog. The catalog, which is unique to VSAM, makes it easier to (1) keep track of both files and available direct-access space, (2) write job control statements to create and process VSAM files, and (3) move VSAM files to other DOS/VS systems or to OS/VS systems. Once the user has allocated a volume or portion of a volume to VSAM, each file he creates is automatically sub-allocated space on that volume by VSAM. There can be more than one VSAM catalog. However, only one catalog at ~ time can be connected to the system. Each catalog can keep Part 2. The Functions and Facilities of DOS/VS 61 track of VSAM files on many volumes; it is not necessary to mount a volume to determine whether or not it has space available for a VSAM file. I file and volume portability A significant feature of VSAM files is that either the files alone, or the volumes containing them, can be moved from one DOS/VS system to another or to an OS/VS system. This is possible because VSAM data format and accessing techniques are identical under both DOS/VS and OS/VS. Also, the VSAM catalogs for the two systems are identical in format. language support VSAM files can be accessed through assembler language macro instructions or COBOL statements. Existing assembler language ISAM programs can access VSAM files by using the ISAM interface program which translates ISAM requests into comparable VSAM requests. New and existing programs, written ·in ANS COBOL, PL/I, and RPG II to use ISAM also process VSAM files through the ISAM interface program. service programs VSAM has an extensive service program package, called access method services, which can be used to: Define (create), print, copy, or reorganize VSAM files. Add, alter, delete, or print catalog entries. Convert ISAM and SAM files to VSAM files. Copy a VSAM file and catalog entries in a format required for transporting to another DOS/VS system or to an OS/VS system. file sharing VSAM uses the DOS/VS track hold feature to allow files to be shared across partitions. When a record is updated, the track containing the record is protected under exclusive control. The remainder of the file can be retrieved by programs running in other partitions. Direct Access Method (DAM) and Organization DAM offers the user a third possibility for making efficient use of the random access capabilities of disk storage. Whereas both VSAM and ISAM are comprehensive file management systems, offering both sequential and random retrieval capability, DAM is more specialized. DAM concentrates on random retrieval requirements only and provides the user with an access method that can accomplish this function efficiently. It does this by requiring the user to establish a direct relationship between the keys of the records and their physical addresses on the disk. This means that the programmer, by using the key of a record, can calculate or look up in a table the corresponding record address, and either directly store the record (on output) or directly retrieve it (on input). Greater programming burden and responsibility is placed on the user; the benefit is a potentially faster record retrieval time for specialized applications such as reservation systems, securities price and transaction inquiry programs, or selective retrieval from large tabular arrays. A representation in DAM format of the personnel file used in previous examples might appear as shown in Figure 2.26. 62 Introduction to DOS/VS Indexes are kept in Control Intervals which are stored in index files. _~r __- - - - - - - - - - - - - - - - - - - - - - - - AHEARN ACKEY AERLE Free AKRON ALBERT Free AZUR Free - --- ----- Each Control Area contains no more Control Intervals than index entries that can be put in one index Control Interval. Free Free • • • DANCEY DARCEY DUGAN Free DUNCAN DUNN DUPONT Free DUR Free Free Free • • • ~ELLER ~IEGLER YOUNG Free ~ADOW Free ~WEIG Free Free Free Note: The length of the key and the percentage of free space to be distributed is determined by the user. The control area and the physical mapping are automatically determined by the system. Figure 2.25. VSAM Data Organization In the key-sequenced file shown, the records may be processed sequentially or directly. Records in a key-sequenced file can be accessed either by their key or by their address. The index file and the data file can be on different devices. Part 2. The Functions and Facilities of DOS/VS 63 Disk -II DARCEY DA -1IAHEARN DA ~1- YOUN9.-! Of>.. DA Figure 2.26. Direct Access Method Data Organization Direct file organization implies that, for purposes of organization and retrieval, there is a direct relationship between the content of the records and their addresses on disk storage (DA in diagram). Note that: Records are not in logical sequence by key. Tables to accomplish retrieval functions are not built and maintained by the access method. The physical location on the disk at which each record is stored and from which it is retrieved is determined by the programmer. Depending on the addressing technique used by the programmer, "gaps" may be left in the file. Also, the addressing technique could produce "synonyms," which are multiple records for the same address. The programmer is responsible for solving these problems. Summary of Retrieval Methods for Disk Figure 2.27 summarizes the types of retrieval available with each of the access methods supported for direct access devices. Teleprocessing Access Methods In teleprocessing, data processed by the computer system is obtained from other locations. Input and output of data to and from the computer is performed using terminals, comparable to 110 devices, which are connected to the CPU through communications lines. 64 Introduction to DOS/VS Data rganization Method Type of Access Provided Sequential Sequential Organization Indexed VSAM Direct - (or RANDOM) Organization Sequential Organization Provided Provided Provided Not provided directly; available Retrieval/ only when implementation is Storage programmed by user Direct Retrieval/ Not Provided (Exception: SORT. Using a Storage sequential disk file as input. can provide Provided Provided Provided output consisting of record addresses.) Figure 2.27. Summary of Retrieval Methods The specialized routines provided by DOS/VS to support message transmission are contained in the Basic (BTAM) and Queued (QTAM) Teleprocessing Access Methods. Use is made of these facilities through assembler language macros. BTAM provides broad device support and wide functional flexibility. QT AM, which must run in real mode, is functionally more restrictive but relieves the programmer of many activities with which a BT AM user must be concerned. QT AM generally requires two or more tasks that may run in one or more partitions, one for a message control program that interfaces directly with the communications lines, and one or more for message processing programs that act upon information received from remote stations, and that may generate messages for those stations. Data can be processed as it arrives at the central computer, or be stored in intermediate storage, such as a disk volume, for later processing in batches. There are five ways in which teleprocessing may be used in DOS/VS: Message switching: messages from one remote station are routed to another through the CPU. • Message processing: messages received from remote terminals are processed by an application program running in the CPU. • Remote job entry: entire jobs are submitted to the central CPU from remote terminals. Part 2. The Functions and Facilities of DOS/VS 65 Data collection: the CPU collects information presented by the various remote terminals for later analysis and processing. Inquiry/response: remote stations request information from a central source of data. applications Some factors that would indicate the applicability of a teleprocessing system are: • Customer convenience. Brokerage firms, for example, require rapid execution and confirmation of customer orders. Inventory control. Manufacturing applications are common, but there are other "inventories" - such as airline space availability - that can be effectively controlled by a TP system. • Credit Control. Central data files can provide assurance that a customer has funds or credit approval. • Management control. Immediate access to centralized data files provides more timely information for control of business operations. • Industrial control. Comput~r control of key production factors increases productivity of capital equipment (for example, in petroleum refineries). • Equipment centralization. In collecting data from remote sources, either intermittently (as in production data collection) or periodically (as in central summarizing of statistical data from distant branch offices), one CPU may do the processing that would otherwise require a separate system at each remote site. • Innovation. Some applications are just not possible without a TP system (for example, online debugging, text editing, and computer-assisted instruction). Logical and Physical IOeS The access methods provided by DOS/VS are designed to meet the file organization and access needs of the large majority of the system users. The data management facilities contained in these access methods are collectively called LIOCS (Logical Input/Output Control System). LIOCS functions, expressed by the user in the format of macros or high level language statements, are translated by the access methods to a physical level prior to the actual execution of machine fUlictions. DOS/VS also allows the programmer to write at this physical level if he wants to. Data management performed in this manner is called PIOCS (Physical 10CS). PIOCS provides the user with a degree of flexibility in handling I/O operations greater than that provided by LIOCS, but at the same time, requires a greater understanding of and responsibility for the detailed aspects of input/output operations. PIOCS could be used to write programs for an I/O device not supported by DOS/VS, or for some unusual data organization or retrieval! storage requirement that is not met by the standard DOS/VS access methods. 66 Introduction to DOS/VS High-Level Language Support for Data Management Functions In addition to the assembler, IBM provides compilers in the form of program products for the following languages: • I fORTRAN DOS/VS COBOL, Full ANS COBOL, and Subset ANS COBOL • PL/I RPG II. Each language has data management facilities based on those provided by the standard access methods. These are summarized in Figure 2.28. The I/O statements in these languages are not macros as in assembler language, but are statements in the format prescribed by the language. ~ SAM ISAM VSAM DAM Method Language Using Key and Track Reference Using Record ID and Track Reference BTAM QTAM DOS/VS COBOL YES YES YES YES YES NO Full ANS COBOL YES YES YES , YES YES NO Sub::;ct ANS COBOL YES YES PIC/grain Cii:Y YES YES ~O FORTRAN YES NO NO NO YES PL/I YES YES Through ISAM Interface Program Only YES YES RPG II YES YES Through ISAM Interface Program Only YES YES NO Assembler (SCP) YES YES YES YES YES YES Through ISAM Interface I I I NO NO I The direct access support is implemented by having the user specify the relative record number within the file. Figure 2.28. Language Support for Data Management Functions The assembler is included in this table for comparison purposes. Data Security and Data Integrity In any data processing installation, it is important to protect data and files against accidental or intentional misuse or destruction. In multiprogramming, this protection is even more important, since programs in different partitions may be attempting to retrieve and update the same file or even the same record simultaneously. The user must be aware of this possibility and exercise care to safeguard the validity of the data. Part 2. The Functions and Facilities of DOS/VS 67 In order to provide the necessary security, DOS/VS has two kinds of protection: 1. Functions that are either standard or that can be user-specified: • File labeling Protection against duplicate assignment DASD file protection Track hold function Data file security. 2. Resource protection macros that enable the user to provide his own protection facilities in a multitasking environment. File Labeling File protection is achieved by file labels. File labels are records associated with the files stored on tape, disk, or diskette. These labels provide unique identification for the files. In addition, tape, disk, and diskette volumes can be identified by labels . I .. ........_ _ _ Creating an Output Tape ........- - - - - - Processing an Input Tape - - - - - -......... Label Information Data Management Routines ,:.:': Data Management Routines .~.:; ~ Yes :~: ~.:•.. ~:~:.{.:~ ......,.. ••••:!!.! ...!"' .. :.,....,.: .........1'!!:.:.::!!" .•::.:....... ..:!!!.:••• ..:.::: .. ::::....:.,'....,'.:.::..... :.,'.....:.......: ... ••••:••: ••::••:!•••:.•••:••::•••••••.:•• :!•.•: •••• ::••:, !"".: •••• ••• ••• Label Information Process Data Figure 2.29. Label Processing On output, the data management routines create labeb from information specified by the user. Prior to any subsequent processing of the tape, the data management routines verify the labels against information supplied in the job control cards. 68 Introduction to DOS/VS For tape storage, all labels are optional; for disk or diskette storage, each volume must have one volume label, and each file must have a file label. Additional labels can be created and processed by the user on tape or disk storage. I Whenever a file is created, the user can specify the contents of the labels. Then, when the file is processed as input (see Figure 2.29), the user must specify, in job control statements, the contents of the label, so that the data management routines can compare the specified data with the actual label. If data management detects a mismatch between the actual label and the label information, the job is terminated. This checking function is useful only if: • • • I All output files are created with labels. All labels are unique. Label checking is always performed during input. Complete information on the way DOS/VS handles tape, disk, and diskette labels is provided in the manuals DOS/VS Tape Labels and DOS/VS DASD Labels. Protection Against Duplicate Assignments In a multiprogramming environment, it is essential that no two programs in different partitions gain access to the same devicl!, I!xcl!pi fur uisk. uuit1). A single disk unit may contain a number of files; therefore disk units can contain files for more than one partition; as a result, the DOS/VS provides the following protection against duplicate assignments: • Unit-record devices and tape drives assigned to a program in one partition cannot be assigned to a program in another partition. • A tape to be used for SYSOUT data cannot be used for any other system or programmer logical unit. If this is attempted, a message is issued to the operator, who can then take corrective action. • If additional protection for a tape unit is required, that tape should be assigned with the volume serial number specified. The system then bypasses unassigned tapes that do not contain the requested volume label. If the system cannot find a tape for the requested volume serial number, it must be mounted by the operator. • If a disk should not be shared between partitions, it should be assigned without specifying the share option (SHR) in the ASSGN statement/ command. DASD File Protection This is a system generation option that, in case of a programming error, prevents programs from writing outside the extents specified for their files. The other files on the DASD device are thus protected against accidental destruction. Part 2. The Functions and Facilities of DOS/VS 69 Track Hold Function This is a system generation option that prevents two or more different programs from accessing the same track on a DASD device concurrently. All programs that make use of this feature should specify the function. The track is then held for the first program that accesses it and is relinquished when processing is completed. Track hold is required for VSAM and the ISAM interface program. Data File Security Upon creation of a DASD output file, it can be specified by means of a job control statement that the file is to be secured. A secured diskette file, however, can be created by specifying a DTF parameter. Creating a secured file means: I • The operator is notified with a message when a secured file is being used as input. He can then make the decision as to whether the file should be processed. • The label cylinder display program does not display the label information of any secured files. Access to VSAM data files is protected by four levels of passwords. In addition, VSAM provid~s an exit for users to impose their own routines. Resource Protection Macros In a multitas~ing environment, there is essentially nothing to prevent a task from using the resources of another task in the same partition. These resources can be I/O devices, files, data areas, routines, real storage, and the like. When, however, all tasks in a partition use resource protection macros to protect shared resources, concurrent use is prevented. For example, a task can gain exclusive control of a resource by issuing an ENQ macro, and relinquish control after use by issuing a DEQ macro. Any other taks which also does this for the same resource is placed in the wait state until the first task has completed its use. I/O Devices Supported See "Part 5. Configurations" for a complete survey of the I/O devices supported by DOS/VS. 70 Introduction to DOS/VS System - Operator Interaction Operator-system communication plays a vital part in the efficient operation of a data processing installation. DOS/VS provides facilities that ensure timely and effective interaction between man and machine. operator's duties The operator's primary duties in a computer installation are: • Start up the system. • Prepart? the I/O devices. For example, mount tapes and disk packs for each individual job. • Initiate and control the execution of jobs. • Interpret and respond to the system's or programs' requests for information or action. More specifically, the operator of a DOS-controlled computing system can: • Initiate and control multiprogramming operation. • Interrogate the system to obtain information about its status. • Cancel the execution of a job, for instance, in the case of an unending program loop. Diagnose problems with the hp,Jp of prohlem determination aids. system action I system-operator communication For its part, the system: • Alerts the operator when a condition requiring his intervention occurs. • Provides information such as start and stop times of jobs and run times. Communication from the system to the operator is in the form of messages written on the operator communications device, which may be a keyboard console, or, for Models 115 and 125, the screen of the display operator console. The messages describe the situation that requires operator action. Each message is identified by a unique number. This number serves as an entry point into the DOS/VS Messages manual, where an explanation is given for each message, along with a description of the action required. Operator responses to messages are generally short, one-word answers, such as RETRY, IGNORE, or CANCEL. Alternatively, the operator can allow the system default option to take effect in most situations requiring intervention. Communication from the operator to the system is in the form of commands and replies to messages. There are three types of commands: I • Job control commands: almost identical in format and scope to the job control statements. • Operator commands: statements for performing controlling duties (for example, changing the size of partitions), or for asking for specific information (for example, the assignment of I/O devices). • Screen control commands: statements for manipulating the information displayed on the display operator console of Models 115 and 125. Part 2. The Functions and Facilities of DOS/VS 71 The operator can interrupt processing at any time by pressing the REQUEST key on the console keyboard. He can then type in commands and signal the system to resume processing. In addition, he can instruct the system to suspend processing after the current job or job step in any partition, for example, in order to allow time for changing printer forms or device assignments. In addition to operator-system communications, there can be direct operator-problem program communication, provided that the problem program has a special operator communications routine. The operator can then request direct communication with this routine by pressing the external interrupt key on the console (for background programs), or by issuing a command (for foreground programs). This could be useful, for example, for inquiry to an inventory file at unpredictable times. The inquiry routine could be included in any program that always occupies a partition and be invoked through the operator's communications routine when desired. 72 Introduction to DOS/VS Reliability, Availability, and Serviceability Reliability, Availability, and Serviceability (RAS) facilities are designed to maintain a high degree of trouble-free performance of the System/370. Debugging procedures are provided to help the user to choose the debugging aid best suited to obtain information about a particular type of error or malfunction. The facilities that make up RAS are: Debugging aids that provide the user with information about his system at the time of a program, operator, or hardware error. • Recovery Management Support Recorder (RMSR) that, depending on the severity of the failure, enables the system to recover from an error condition caused by any of the following hardware failures: real storage errors, central processing unit instruction errors, inputloutput channel errors, control unit errors, and device errors. It also records hardware failures on the system recorder file (SYSREC) and prints messages on SYSLOG that keeps the operator informed about the condition of the system hardware. • Environment Recording, Edit and Print Program (EREP) that allows the us~r to print the contents of the system recorder file, pre-formatted, on SYSLST. EREP has many options that provide the user and his IBM Customer Engineer with details about the state of his system hardware. • Online Test Executive Program (OLTEP), together with a set of device test programs, constitutes the online test system. Its functions include the diagnosing of 110 errors, the verification of 110 device repairs and engineering changes, and the checking of 110 devices. OLTEP is an optional program. If it is included in the system, it must be executed in real mode in the background partition. Reliability Data Extractor (RDE) that is an option that, if specified during system generation, enables the user and his IBM Customer Engineer to record the reason for an IPL procedure as well as the number of IPL procedures carried out on a system over any specified time period, for example, during an operator's shift. RDE also enables a time stamp. End of Day (EOD), to be recorded on SYSREC during system operation. Part 2. The Functions and Facilities of DOS/VS 73 Integrated ICflB~ators An emulator is a combination of programming and special machine features that permits a computing system to execute programs written for another kind of system. An emulator, for instance, can enable programs written for System/360 Model 20 to run under DOS/VS on an IBM System/370 machine. However, emulators should be used only during the short period of installation of a new system. In order to make full use of the faster processing and I/O device speeds of the new system, applications should be reprogrammed. Integrated emulation offered with DOS/VS allows the user to emulate a number of non-DOS/VS programs on the System/370 concurrently with the execution of normal DOS/VS programs. A program running under an integrated emulator can be executed in any partition of a multiprogramming configuration without affecting processing in the other partitions. Figure 2.30 indicates the machine configurations that can be emulated on System/370 under DOS/VS. I Emulation Model Emufation of 1401/1440/1460 Emulation of 1410/7010/ Emulation of System/360 Model 20 Model 155 - II and 158 yes yes no Model 145 yes yes no Model 135 yes no yes Model 125 yes no yes Model 115 yes no yes Figure 2.30. Emulation on System/370 Under DOS/VS Part 2. The Functions and Facilities of DOS/VS 75 The user should bear in mind the following general considerations: The size of the emulator program depends on the system to be emulated. DOS/VS emulators allow device independence for unit-record devices used by the emulated programs. 1401/1440/1460 and 1410/7010 Emulator Considerations: • Disk files must be converted before they are used by the emulator program, unless the CS30 or CS40 compatibility options have been used. • Tape programs can be in original or converted format. DOS spanned variable record (VRE) format is set as standard for the System/370 emulators. System/360 Model 20 Emulator Considerations: 76 introduction to DOS/VS • Mixed parity/density on 7-track tapes is not supported. • Load ues is pedormed by a DOS/VS utility, not a Model 20 utility program. System Generation System generation is the creation of an installation-tailored operating system based on the general DOS/VS system distributed by IBM. System generation procedures include: Generating a supervisor adapted to the installation and its application needs. I Assembling or compiling, and link-editing user and IBM programs as necessary, and cataloging them in the appropriate libraries, and, if possible and required, in the SVA. Deleting unnecessary components to free additional disk space. Editing, formatting, or deleting libraries as required. The system that is shipped by IBM to the user is capable of immediate operation. Most users, however, must generate supervisors that are adjusted to meet the configuration of their installation to ensure optimum efficiency. I II I The system core image library, the shared virtual area, the relocatable library, the source statement library, and the procedure library may also be edited. The private libraries may be created according to the user's needs. Briefly, the system generation process is as follows: the user, with the assistance of FE, codes a set of supervisor macro instructions describing his system configuration and functional options. These macros are assembled, resulting in the production of a new supervisor, which is then cataloged into the system core image library. Certain modules, such as IOCS modules, may be assembled from the macro definitions in the ~ource statement library and added to the relocatable library. Finally, the user may link-edit certain system service programs and catalog these into the core image library and in the shared virtual area as well. The result of these operations is the user's operational system, to which IBM Program Products can be added. Planning System Generation Detailed planning for system generation saves the user unnecessary repetition during the procedure. Essentially, planning for system generation consists of: Planning the options and estimating the size of the supervisor. This entails selecting from the programming services provided by IBM those options to be included in the supervisor, and estimating the cost of these services in terms of bytes of real storage. The supervisor program is composed of assembled supervisor generation macros. These macro instructions describe the machine configuration, the standard I/O assignments, and standard processing options. The size of the assembled supervisor depends on the options selected in each of the supervisor generation macros. Part 2. The Functions and Facilities of DOS/VS 77 • I I I Planning the contents, organization, and ultimate size of the system and private libraries, and of the shared virtual area. This entails distributing the storage space available on the disk packs among the libraries needed for daily use. The user must decide on the size and number of libraries and on the size of the shared virtual area and the system GETVIS area contained in it when planning an operational system. He must take into consideration the number of disk drives available, the number and size of the programs, which programs he wants resident in the core image library and which programs he wants in the shared virtual area, the impact that the expansion of one library has on the other libraries on the same disk pack, and the plans for future space requirements. Detailed information for planning system generation may be found in the DOS/VS System Management Guide. Implementation procedures will be documented in DOS / VS System Generation. Shipment of DOS/VS DOS/VS is shipped in the form of a system core image library, a system relocatable library, a system source statement library, and a system procedure library. The contents of these libraries are identified in Attachment 1 of the Memorandum to Users that accompanies the shipment. The system core image library must be retained on the operational volume, because it contains'the DOS/VS programs in executable format. The other libraries may be either retained or deleted. I I I 78 Introduction to DOS/VS • The core image library contains IBM programs that are link-edited and ready for execution. System control programs and system service programs are always shipped in the core image library, and so the system is immediately operational upon arrival at the user's installation. If the user wants to increase system throughput, he should set up a shared virtual area with a system directory list and place programs that are reenterable and relocatable in that area, provided he intends to use those programs often. Placing programs and program phases in the shared virtual area saves the time required for loading the phases at execution time. The core image library shipped to the user also contains an assembler program. • The relocatable library contains IBM programs that have not been link-edited, plus data management modules. The programs include all of the IBM-supplied components, such as job control, linkage editor, and librarian. The data management modules perform input and output procedures for the IBM-supplied programs, and can also be used by the user's problem programs. • The source statement library contains IBM-supplied macro definitions. The user may specify parameters to assemble the macros that he requires. Thus, he can generate a new supervisor from the supervisor generation macro definitions. He can also assemble the POWER modules (if he wants to operate under POWER), and assemble IOCS modules from the IOCS macro definitions. For the user's convenience, the source statement library also contains sample problems and system generation job streams that can be retrieved as needed. I • The procedure library contains a procedure that will help improve system performance. This procedure is a list of the names of IBM-supplied phases, which are to be loaded into the SDL (system directory list) in the SVA (shared virtual area). IBM supplies the Disk Operating System on either magnetic tapes or disk packs. If DOS/VS is shipped on tape, it must be copied at the installation onto disk before the system generation procedure can begin. Program Products must be ordered separately. Part 2. The Functions and Facilities of DOS/VS 79 Part 3. What's New in DOS/VS? I This section is primarily intended for readers who are already familiar with versions of DOS earlier than Release 28. New items in Release 28 and 29 are covered here. For ease of identification, the items new in Release 29 are marked with an asterisk. The capabilities that DOS provides to users have continually expanded over the years. In keeping with this, DOS/VS further extends support of the System/370 line of computers and peripheral equipment. DOS/VS features also expand the programming facilities available to the user. Among the highlights: virtual storage support With DOS/VS, the new storage concept of the System/370 - virtual storage support - is made available to the user. DOS virtual storage support provides the user with improved processor, or real, storage management and reduces the programming constraints imposed by the limited size of this storage. relocating loader A relocating loader feature has been added to the system. It allows the linkage editor to create program phases that are relocatable. It also causes the relocating loader to be generated in the supervisor, which resolves the load address to any location specified by the user at execution time and updates all of the entry points and address constants in the relocatable phase. The user need retain only a single copy ot his program in a core image library for execution in any partition. Prdgrams that are link-edited to a beginning address at the end of the supervisor, for example, are now no longer influenced by increases in supervisor size, if they are processed by the relocating loader. new assembler The DOS assembler D has been replaced by the DOS/VS assembler. All IBM macros are shipped in edited format. User-written macros can also be converted into pre-processed format by the assembler using the new EDECK option; or they can be retained and assembled with a COpy statement. VSAM VSAM is a new, easy-to-use DASD access method with advantages over existing IBM access methods. It combines an increased and extendible scope of processing functions with high performance and high reliability and data integrity. These properties of VSAM stem from (1) the introduction of a new data and free-space organization, (2) a basically new access method design, and (3) the application of new data processing technologies. *shared virtual area (SVA) In a multiprogramming system, the shared virtual area is located in the high end of virtual storage. Phases cataloged in the system core image library that are relocatable and reenterable are eligible to reside in the SV A. Such phases can be shared concurrently by programs running in any partition. The system directory list (SDL) can also be contained in the SVA. The SDL contains a list of pointers to frequently-used phases. Usage of the SDL can improve performance. *extended I/O device assignment The ASSGN statement/command has been extended to provide for a greater flexibility and ease of use in making symbolic assignments. Part 3. What's New in DOS/VS? 81 *supervisor selection In some installations it is convenient to have more than one supervisor, for example, one generated with teleprocessing support and another without such support. Multiple supervisors can be present on the same system residence file if they each have a different name. A new function gives the user the opportunity to specify at IPL time which supervisor he wants to use. procedure library To the existing three system libraries a fourth, the procedure library, has been added. The procedure library enables the user to catalog frequently used sets (procedures) of job control and linkage editor statements and to include the cataloged procedures in the job input stream with a job control statement. integrated emulator A new integrated emulator allows programs written for the System/360 Model 20 to run under DOS/VS on the System/370 Models 115 and 125. The 1401/1440/1460 emulator has been extended to run on the System/370 Models 115 and 125. POWER program POWER, which provides automatic spooling support for unit record input/ output, is now a part of the DOS/VS SCP (System Control Programming). Users having jobs that are predominantly unit-record bound can benefit from performance gains due to the more efficient use of unit-record I/O devices and CPU time. POWER allows multiprogramming in up to four partitions, using only one set of unit-record I/O devices. additional foreground partitions DOS/VS supports one background and four foreground partitions. The BJF facilities in DOS have become standard. The single program initiator (SPI) program is no longer supported. system residence devices The direct access devices that may be used as system residence device are listed in Figure 5.5. I I 82 Introduction to DOS!VS Processing Flexibility DOS/VS requires a minimum supervisor of 26K bytes for Models 115 and 125, 28K bytes for Models 135 and 145, and 30K bytes for Models ISS-II and 158 of System/370. DOS/VS allows the user with a minimum configuration more flexibility in allocating his storage resources to obtain maximum job throughput. Multiprogramming in up to five partitions and virtual storage support allow the user to optimize CPU usage and storage space. New processing f~atures available under DOS/VS include: Virtual storage support The relocating loader feature Five-partition support Variable partition priority The shared virtual area (SV A) Extended I/O device assignment I Supervisor selection The procedure library A new timing facility A new DOS/VS assembler I System/360 Model 20 emulation on Models 115 and 125 1401/1440/1460 emulation on Models 115 and 125. Virtual Storage Support The rapid growth in the number and types of data processing applications has led to an increasing demand for freedom in designing applications without being functionally constrained by the physical characteristics -system architecture, I/O deVice types, and CPU space -- of a particular computer system. While System/360 with DOS already allowed the programmer a certain degree of device independence, the need for making programs fit into the available real storage still existed. , this often required overlay techniques to make the program fit into a partition. Structuring these overlays added to the complexity of solving a problem. With the increased use of high-level languages, multiprogramming, expanded 'system control programs, and applications that require relatively larger amounts of real storage (teleprocessing, data base, etc.), the need for more real storage space and a more dynamic use of it is still growing. Part 3. What's New in DOS/VS? 83 To meet this need, the System/370 models provi~e significantly more real storage capacity than the comparable System/360 models. The availability of more storage though, did not relieve all the constraints associated with this storage. It did not eliminate the waste of storage resources through, for example, dormant code, as might be the case with an inactive or low activity teleprocessing network, or through storage fragmentation as a result of programs running in bigger partitions than required for their execution. The system had no means of dynamically utilizing the fragments of free storage space. Consider also the following situations: 1. An application is designed to operate in a 50K real storage area, which is adequate to handle current processing needs and provides room for some expansion. Some time after the application is installed, maintenance changes and the addition of new function causes one of the programs in the application to require 51 K and another to require 52K. Installation of the next real storage increment cannot be justified on the basis of these two programs, so time must be spent restructuring the programs to fit within 50K. 2. An existing application has programs with an overlay structure. The volume of transactions processed by these programs has doubled. Additional processor storage is installed. However, the overlay programs cannot automatically use the additional storage. Therefore, reworking of the overlay structure programs is required to make them non-overlay and, thereby, achieve the better performance desired. 3. A simple, low-volume, terminal-oriented inquiry program that will operate for three hours a day is to be installed. If the program is written without any overlay structure, it will require 60K of real storage to handle all the various types of inquiries. However, because of a low inquiry rate, only 8K to 12K of the total program is active at any given time. The inquiry progr'am is designed to operate in 12K with a dynamic overlay structure in order to justify its operational cost. 4. A series of new applications are to be installed that require additional compute speed and twice the amount of real storage available on the existing system. The new application programs have been designed and are being tested on the currently installed system until the new one is delivered. However, because many of the new application programs have storage design points that are larger than those of existing applications, testing has to be limited to those times when the required amount of real storage can be made available. Although another smaller scale model is also installed that has time available for program testing, it cannot be used because it does not have the amount of real storage required by the new application programs. 5. A large terminal-oriented application is to be operative during one entire shift. During times of peak activity, four times more real storage is required than during low activity periods. Peak activity is experienced about 20 percent of the time and low activity about 40 percent. The rest of the time activity ranges from low to peak. Allocation of the peak activity storage requirement for the entire shift cannot be justified and a smaller design point is chosen. As a result, a dynamic program structure must be used, certain desired functions are not included in the program, and response during peak and near peak activity periods is affected. 84 Introduction to DOS/VS In the situations described, real storage is the constraining factor. However, even if more real storage were added to a system as needed, the system could not automatically make use of it. Applications would still have to be redesigned, and the waste of storage through fragmentation and dormant code would still exist. To assist in solving these problems, the new System/370 virtual storage concept offers a means of dynamically and automatically using real storage resources, storage fragments as well as storage space added to the system at later times. With virtual storage support, programs are no longer restricted to the address space available to their partition in real storage. They may exceed this limit to a certain extent and still get the necessary real storage as it is ne~ded for the execution of each section of the program. The time required for any program to execute under any operating system has always been and still is dependent on such factors as the mix of programs executing concurrently, their relative priorities, system and application file placement, and in some cases on the particular data being processed. Under DOS/VS, program performance is also highly dependent on such factors as the amount of real storage overcommitment, the storage reference patterns of the program, and the speed of the paging device. The performance of each program must be evaluated in the light of at least these factors. For online or real time systems with specific performance or response requirements, particular attention must be given to assuring that adequate resources (real storage, CPU time, channels, disk arms, etc.) are available. In some cases it may be necessary to test the program using the specific user workload and configuration to verity what system resources are necessary to give adequate performance. How virtual storage works and how the system makes use of all real storage space available is shown in the second part of this book under the heading "Virtual Storage Support". Implementation The user must provide accommodation for virtual storage support at a number of points during his preparation and use of the system. Details of implementation are not provided in this manual. They are found in the DOS / VS System Management Guide. SYSGEN - Virtual storage support is a standard function in DOS/VS. At system generation time, the size of the real and the virtual address areas must be specified in the new VSTAB supervisor macro. The statement defining system default values for partition allocation has been extended to provide for both virtual and real partitions. I The page data set required for virtual storage support may be defined during system generation or IPL. It is initialized and preformatted during IPL. (However, it need not be reformatted at every IPL.) Part 3. What's New in DOS/VS? 85 Relocating Loader The relocating loader allows all users, including those who program in high-level languages, to load single-phase and multi-phase programs at any valid problem-program address in the'system. Under this option, the linkage editor is able to catalog relocatable phases into the core image library, and the relocating loader in the supervisor assigns the absolute machine addresses that are necessary for program execution. This means that the user need retain only one copy of the program in the core image library. In previous versions of DOS, the user could vary a program's load address only by coding the program as self-relocating, by storing mUltiple copies in the core image libraries, or by relink-editing before execution. Consequently, the relocating loader saves programmer time, reduces core image library storage space, and minimizes the number of linkage editor runs. Implementation The relocating loader is a DOS/VS option that is included in the system if RELLDR= YES is specified in the FOPT system generation macro. The following points must be considered: • A relocatable phase differs from a non-relocatable phase only in that it has relocation information appended to it. Usually, this does not increase the library space used by the phase; in some cases, however, one or more' additional library blocks may be necessary. • If RELLDR= YES has been specified, the user may suppress this option for a particular program by specifying NOREL in the linkage editor ACTION statement. I • If the supervisor has been generated with RELLDR=NO (default value), the user can link-edit a particular phase as relocatable by specifying REL in the linkage editor ACTION statement. In a system without the relocating loader feature, a relocatable phase can only be loaded into the virtual partition for which it was originally link-edited (that is, the relocation factor is not applied). I • Regardless of relocating loader support therefore, the user can specify at link-edit time that a program is self-relocating, that it has an absolute load address, or that it be relocatable. Additional Foreground Partitions Users of DOS/VS can multiprogram in one background and four foreground partitions (BG, F4, F3, F2, Fl). Details on multiprogramming in the virtual storage environment are found in the second part of this book under the heading "Virtual Storage Support". 86 Introduction to DOS!VS Implementation The new NP ARTS parameter in the SUPVR macro is used during system generation to indicate, for a multiprogramming system, the number of partitions required. From two to five partitions can be specified. Each specified partition requires one DASD track for its standard label information, and one track for its user label information. Variable Partition Priority The user can modify the sequence of partition priorities. After setting the priorities during supervisor generation, he can modify them later by using an operator command. Implementation The user, through the PRTY parameter in the FOPT macro, specifies the relative priorities of partitions during system generation. During subsequent operation, the operator can request the system to print or change the current priorities by issuing a PRTY command. The Shared Virtual Area (SVA) The shared virtual area (SVA) is a new area in the high end of virtual storage in which the user can place phases that are cataloged in the core image library. For a phase to be placed in the SVA, it must be reenterable and relocatable. VSAM phases, for example, can be located in the SVA. The SVA contains a system directory list (SDL), which in turn contains the pointers to all phases in the SVA and pointers to a number of frequently-used phases not contained in the SVA (such as transients). The SVA can also contain a special area called the system GETVIS area. The user can ask the system to place a phase in the SV A by adding the SVA parameter to the PHASE statement. The system then checks to see if the phase is SVA-eligible and listed as such in the SDL and, if so, places it in the SVA. All phases that are in the SV A are shareable between partitions. The retrieval of phases from the SVA is faster than the retrieval of the same phases from the core image library. Implementation The user can specify the creation of a shared virtual area when he generates a multiprogramming supervisor for his system. To set the size of the SVA, Part 3. What's New in DOS/VS? 87 he must specify the SV A parameter in the VSTAB macro. If no specification of the SV A is made, the system will contain an SV A of 64K bytes and a system GETVIS area of OK bytes. The size of the SV A can also be changed by the SET command immediately following an IPL. Extended I/O Device Assignment The ASSGN statement or command assigns a logical I/O unit to a physical device. Sometimes the user is not aware of the environment in which his job will run, or he may not be concerned with which particular physical device is to be used for his purposes. For these cases (among others) the following new functions are now available for making device assignments: • Generic assignments • Automatic volume recognition • Clearer distinction between a permanent and a temporary assignment. Implementation In addition to being able to specify a physical address X'cuu', the user can specify the following parameters: (1) A logical address (SYSyyy), which may be any system or programmer logical unit of the system (2) A device class (READER, PRINTER, PUNCH, TAPE, DISK, or DISKETTE) (3), A device type (for instance, 2400T9 or 3525RP) (4) A list of physical unit addresses. Two other new parameters of the ASSGN statement/command are: The VOL parameter, which provides for volume serial number recognition for tapes and disks. When this parameter is specified, the system searches for the requested volume and, if not found, issues a message to the operator. The PERM parameter, which is the opposite of the TEMP parameter. Supervisor Selection The user can have more than one supervisor on a single system residence file. At IPL time the user can specify which supervisor he wants to use. 88 Introduction to DOS/VS Implementation Before the IPL routines load the supervisor into real storage, the wait state is entered. By pressing the external interrupt key, the operator indicates that he wants to use the default supervisor. If he wants to use another supervisor, he can communicate its name via the console or a card reader. If the console is used, a message prompts the operator to type the supervisor name. If a card reader is used, a card with the supervisor name (punched in columns 1-8) is read. The Procedure Library The procedure library is a new system library that may be used to store - in card image format Frequently used sets, procedures, of job control and linkage editor statements (basic support). Procedures additionally containing inline SYSIPT data, especially control statements for system utility and service programs (extended support). The inline SYSIPT data must be processed under control of the device-independent sequential IOCS or by IBM-supplied service programs and language translators. The procedure library is part of SYSRES, so the maintenance and service functions available for the other DOS/VS libraries will also support the procedure library. Cataloged procedures may be included in the job control input stream by a job control statement and temporarily modified by overwrite statements. Implementation The procedure library exists only as a system library, not as a private one. It may be generated during system generation. The basic support is available in the DOS minimum system, while the extended support requires a supervisor with the SYSFIL option. Part 3. What's New in DOS/VS? 89 Interval Timer Support for Multiple Tasks With multiprogramming, the interval timer support for mUltiple tasks allows for the concurrent satisfaction of timer requests of all tasks, main task as well as subtasks, in all partitions. The timer is used by programs to schedule certain processing on a time interval basis, for example, to initiate the creation of checkpoint records every fifteen minutes, to poll a terminal every three seconds, or to change the traffic analysis algorithm every two hours. Implementation Through the IT parameter in the FOPT macro, the user specifies the inclusion of interval timer support during system generation. Details of implementation are not provided in this manual. They are found in the DOS/VS System Management Guide. The DOS/VS Assembler The DOS/VS assembler is a system control program that translates source programs written in System/370 assembler language into machine language. Its optimum real storage requirement is 20K, but if more storage is available, the assembler will use it to expand buffers and work areas. The DOS/VS assembler replaces the Assembler D. In addition to supporting the System/370 instruction set, the new assembler is up to 30% faster than Assembler D. This improved performance is achieved through a new design which has been made possible by placing all library macro definitions on a separate sublibrary in edited format. (A library macro definition is a macro definition placed in a macro library and which can be called directly by a macro instruction. A source macro definition is a macro definition which is included in the source deck, either physically or by a COPY instruction.) All IBM-supplied macro definitions are delivered in edited format, and the user can use the assembler to produce his own edited macros for inclusion in the macro sublibrary. There are three ways in which a user macro can be retained: 90 introduction to DOSivS • A macro used only temporarily is normally maintained as part of the program, and is physically included in the source deck. • A macro used in more than one program can be included as a separate book in the copy sublibrary and be maintained in this form. To call it, the programmer must first include a COpy statement at the beginning of his program to identify the macro as a source macro. • A macro used more frequently should, after testing, be edited and kept in the macro library. Then it can be referenced directly by macro instructions. A macro library used by previous assemblers can either be used as a copy sublibrary, or be converted to a macro sublibrary by letting the assembler edit all the macros and including them in a macro sublibrary. . Implementation The assembler requires DASD space for three work files in addition to the standard DOS/VS requirements. Edited macros residing in the macro sublibrary cannot be updated by single statements. The update is made to the original source code and, after editing by the assembler, the complete macro is replaced using the library maintenance program. If the source macro is not available, a de-editor program, supplied with the assembler, can be run to re-create the macro definition in source format from edited format. I Emulation on Models 115 and 125 A new integrated emulator allows programs written for the System/360 Model 20 to run under DOS/VS on a System/370 Model 115 or 125. The 1401/1440/1460 emulator has been extended to run on a System/370 Model 115 or 125. Implementation There are several considerations that apply to the use of tape and disk files with the emulators: For the 1401/1440/ 1460 emulator, disk files must be converted by copying them to and restoring them from tape before they are used by the emulator. Tape files can be in original or converted format. DOS spanned variable record format is set as standard for the System/370 emulators. • For the Model 20 emulator, tapes used by the Model 20 or by the Model 25 in Model 20 mode can be used by the emulator program without change, except that mixed parity or density on 7-track tapes is not supported. Disk volumes must be converted, using tape as intermediate output, to the format supported by the emulator. Part 3. What's New in DOS/VS? 9l 110 Flexibility DOS/VS supports a continually expanding range of data management facilities, compilers and application programs available from IBM, and IBM peripheral equipment on the System/370 to allow the user a great deal of flexibility in tailoring data files, their processing, and I/O equipment to his specific needs. New I/O features available under DOS/VS are: VSAM - a new access method. The POWER program. • New I/O devices. VSAM - a New Access Method The Virtual Storage Access Method (VSAM) is a new data management facility which has improvements in data organization and access over other DOS/VS access methods. VSAM has key-sequenced files with an index. 'they are processed either sequentially or directly, like ISAM files. VSAM also has files arranged in the physical sequence in which the records are written on a direct access device. These files, called entry-sequenced, can be processed like sequential (SAM) or direct (DAM) files. An entry sequenced file does not have an index. VSAM has the following improvements over ISAM: Allocation of space on the direct-access device is managed by the access method. The user simply sets aside a total area for VSAM which allocates whatever space is needed for each file when it is created from the total space VSAM controls. The access method maintains a catalog to keep track of the characteristics of and the space allocated to VSAM files and to help reduce the number of job control statements the user needs. An extensive service program package, called access method services, which can be used to: Define (create), print, copy, or reorganize a VSAM file. Convert an ISAM or SAM file to a VSAM file. Add, alter, delete, or print entries in the VSAM catalog. Create backup copies of VSAM files. Copy a VSAM file and catalog entries in a format which makes it easily portable to another DOS/VS system or to an OS/VS system. Access method services functions are requested through job control statements, like utilities. A series of access-method services commands can be executed in one job step, and commands can be modified depending on the results of previous commands. Part 3. What's New in DOS/VS? 93 Free space can be distributed throughout a key-sequenced file when it is created for subsequent use when records are added. Also, free space is made available when records are deleted. Use of distributed free space replaces the chained record overflow of ISAM. Therefore, VSAM performance does not degrade significantly when records are inserted into a key-sequenced file, and those files do not have to be updated as oftep as ISAM files. Further performance improvement results because VSAM indexes are usually not modified when records are added. The security and integrity of data is improved for VSAM files. A file can be protected against unauthorized use by up to four levels of passworqs, one of which the user must know and issue in order to access the file. The password levels grant authority to read a file, authority to read and update a file, or authority to read and update both a file and the VSAM catalog. Data integrity is improved by (1) minimizing data movement 'and index updating when records are added to a file, (2) preserving both new and old index paths to data until an update is completed, and (3) special formatting to indicate the end of a file as it is being created or extended. VSAM files contain .variable-length as well as fixed-length records. Blocking and deblocking is done by the access method, whic~ optimizes block length to suit the device on which the file is written. Also, VSAM's data organization allows a great deal of device independence; files can be moved easily from one type of device to another. When accessing key-sequenced files by record key, $he key can be that of an individual record or a generic key (one or more rightmost bytes of the key field are omitted) that specifies a group of records. Several rec.ords in sequence can be inserted as a group at one point in a key-sequenced file. This is faster than inserting them one at a time with direct access as the user must do with ISAM. Also, VSAM can process sequentially, skipping to di(ferent parts of a key-sequenced file without searching the entire index. • VSAM files can be moved to another DOS/VS system. This is made possible by the identical data organization and access techniques of DOS VSAM and OS VSAM and by the VSAM catalog, described above. Implementation Support of VSAM is provided through macros in the assembler language and DOS/VS COBOL. Most existing ISAM programs written in assembler language and ISAM programs written in PL/I, ANS COBOL, and RPG II can process statements into comparable VSAM statements. The interface routines are incorporated as a file is opened, so the program does not have to be compiled 9r link-edited again. llowever, since only the ISAM statements of a program are mapped into comparable VSAM statements, the full scope of VSAM functions cannot be obtained through the interface. VSAM files are created or converted from ISAM or SAM files by access method services. I VSAM uses DOS/VS virtual storage facilities to load the required access method modules and to assign storage for input/output buffers. 94 Introduction to DOS/VS The POWER Program POWER has been included in DOS/VS as a component of the system control programming. It supports spooling of unit record input/output for up to four partitions. All unit record input/output devices supported by DOS/VS are also supported by POWER. For a complete list of these devices, see the lists of punched card devices and printers in Part 5. Configurations. In addition, POWER supports the IBM 3540 Diskette Input/Output Unit as an input device. POWER is designed to increase throughput by reducing the time the CPU waits for the completion of unit-record I/O operations. With POWER, the unit-record input and output for all jobs in all partitions is performed using a DASD as intermediate storage. A job's normal punched-card input (including job control statements) is read from the card reader and stored on disk by POWER in input queues before the start of the job. Similarly, a job's output is stored on disk in an output queue and printed and punched at a later stage. I Normally when multiprogramming with DOS/VS, separate unit-record devices must be assigned to each partition. A significant advantage of POWER is that this requirement for multiple card devices and printers has been removed by allowing a single input or output device to serve up to four partitions. Remote Job Entry POWER also offers the remote job entry (RJE) capability. This is a teleprocessing feature that allows jobs to be entered simultaneously into the system from up to five remote terminals. Implementation User programs do not need to be modified in order to run under POWER control. However, the DOS/VS supervisor must be generated with the POWER=YES operand. In addition, the POWER program must be generated from IBM-supplied macros and phases. POWER must be activated by the operator in order for any program to run under its control. A number of considerations apply to the use of POWER under DOS/VS: • The POWER program occupies one user partition and can service from one to four other user partitions. • The size of the POWER program depends on the options used. Without remote job entry, the writer-only POWER program that supports one partition requires a minimum of 20K bytes of real storage; with remote job entry, it requires about 70K bytes of real storage with one terminal supporting four partitions. POWER must always run in real mode. Part 3. What's New in DOS/VS? 95 Although POWER builds the input and output queues on a DASD, output for individual jobs can be directed to magnetic tape as intermediate storage. New Devices Supported Among the new I/O devices supported by DOS/VS are: All models of the IBM 3330/3333 and 3340 disk storage devices for attachment to CPU Models 125, 135, 145, 155-11, and 158. The 3340 can also be attached to the Model 115. The display operator console, which is the standard operator console on Models 115 and 125. This console allows the system to display messages at high speed on a cathode ray tube (CRT) screen. Various options, such as the redisplay feature and the facility for obtaining a printed copy of all the displayed messages on the 5213 Console Printer enhance operating flexibility. The display also replaces the manual control switches. I The multi-function card unit (IBM 5425), which attaches to a Model 115 or 125 CPU, and which handles 96-column cards. The multifunction card machine (IBM 2560), which attaches to the Model 115 or 125. The IBM 5203 Printer, which attaches to the Model 115. The IBM 3203 Printer, which attaches to the Model 115 and 125. The IBM 3540 Diskette Input/Output Unit. The IBM 3881 Optical Mark Reader. A complete list of the I/O equipment supported by DOS/VS is given in "Part 5. Configurations." 96 Introduction to DOS/VS Compatibility Current DOS users can transfer to DOS/VS support of the System/370 series with approximately the same effort normally required for a new version. I Current DOS data files can be processed by DOS/VS, if compatible I/O devices are used. Programs written for a 2311 can be processed on a 3333, 3330, or 3340 attached to a System/370 Model 125 through the use of the 2311 Compatibility Feature of the System/370 Model 125. Programs written for the 1052 Console Printer-Keyboard can be processed on the video display and 5213 Console Printer of the Model 125 through the use of the 1052 Compatibility Feature of the System/370 Model 125. Existing assembler language source programs can be assembled by the DOS/VS Assembler, provided that no user written macros are called. If such macros are called, the user must either supply COPY instructions for the macro definitions at the beginning of all source decks in which the macros are used, or convert his library macros to edited macros and include them in the macro sublibrary. Existing high level language source programs can be compiled if the appropriate compiler is available for DOS/VS. COBOL 0 programs must be changed or converted with the Language Conversion Program before they can be processed by an ANS COBOL compiler. RPG programs must be adapted to RPG II. Previously compiled or assembled DOS object programs can be link-edited without modification under DOS/VS. User programs will execute provided the following points have been taken into account: Programs that reference supervisor control blocks or manipulate data in the supervisor area of the first 512 bytes of storage (including specific bits such as the former PSW ASCII bit) may not run properly with DOS/VS. Because these areas are subject to change, user program compatibility can be protected only when user written routines employ STXIT and other appropriate IBM macro instructions. Devices specified by the program must be available on the system on which DOS/VS will run. Programs that depend on CPU circuitry not supported on System/370 may not execute properly. Proper processing of time dependent programs run under earlier versions of DOS is not ensured. Programs that deliberately create program checks may not run properly. Part 3. What's New in DOS/VS? 97 Supervisor sizes will generally be larger in DOS/VS than with previous DOS versions. Therefore, in most cases programs will have to be relink-edited if they were not written to be self-relocating. User written I/O appendage routines must either run in real mode or adhere to certain restrictions which are described in the DOS / VS System Management Guide. Programs with self-modifying channel programs must run in real mode. 98 !r.troducHor. to DO§/V§ Part 4. DOS/VS Component Programs The DOS/VS component programs are divided into two general categories: the system control programming and program products (see Figure 4.1). - Control Programs_ [J ~ Service Programs_ Linkage Editor ro-Language Trans ators_ _ Application Programs_ DOS/vS Assembler Userwritten Librarian Emulators Supervisor System Utilities Scientific Applications FORTR';N Job Control DOS/VS COBOL, Full ANS COBOL, and Subset ANS COBOL PL/I Optimizing Compiler r------l II I Data Management Routines r II I Business Applications Sort/Merge IL ______ ..JI . . . .SYSTEM CONTROL_ PROGRAMMING Figure 4.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . PROGRAMPRODUCTS . . . . . . . . . . . . . . . . . . . . . .. . . Program Structure Within DOS/VS Part 4. DOS/VS Component Programs 99 System Control Programming This programming performs all functions necessary to generate, control, and service the Disk Operating System Virtual Storage. It controls the operation of program products and user-written problem programs. Because the functions that it performs are basic to the operation of the computing system, system control programming is supplied to all DOS/VS users without additional charge. These programs and their functions are described in "Part 2. The Functions and Facilities of DOS/VS". IBM also provides a number of SCP system utility programs that are essential to proper functioning of the system. These include: • Alternate track assignment program for disks • Programs for clearing disks • Copy and restore programs for back-up data transfer between disk and tape, card, or other disk • Initialization programs for disk and tape • A program that displays a disk volume table of contents. Part 4. DOS/VS Component Programs 101 Program Products A program product executes under supervision of the system control programming and is directly concerned with the processing of user programs or user data. Program products are optional and available for additional charge from IBM. Program products include compilers, a sort/merge program, an interactive terminal facility, and various business and scientific applications. The last category will not be dealt with in this manual. RPG n Compiler RPG II is a programming language in which a wide variety of commercial data processing applications may be implemented. The RPG II language is an expanded version of the previous RPG language provided with DOS. RPG II offers performance improvement in two areas: • Improved storage efficiency for object programs • Improved throughput performance for CPU-bound programs. In addition, many new functions have been These functions make RPG II: auut:u io iiIt; RPG II language. • Easier to use than the previous version • More flexible, so that the programmer can choose the method of coding most suited to his needs • More powerful, so that many programs once difficult or impossible to code using RPG, can now be coded using RPG II. For more details on this program product and the manuals available for it, consult the RPG II General Information Manual, GC21-5021. FORTRAN Compiler FORTRAN, a language specifically designed for the solution of scientific and computational problems, is supported under DOS/VS by the DOS FORTRAN F Compiler, a Type I program. Together with this compiler, the DOS FORTRAN IV Library Option 1 must be used if new I/O device support is desired. This is a program product providing support for the new I/O devices of the System/370. I For more details on the FORTRAN library, consult the FORTRAN IV Library (Option 1) Program Product Specifications, GC28-6882. Part 4. DOS/VS Component Programs 103 COBOL Compilers I IBM offers to DOS/VS users three COBOL compilers as program products: DOS/VS COBOL, full American National Standard (ANS) COBOL, and Subset ANS COBOL. These compilers translate ANS COBOL programs directly into object code, including most of the functions necessary for processing the user's data files. The remaining I/O functions are taken from the relocatable library by the linkage editor. In order to be in a form suitable for the ANS COBOL compilers, COBOL D source programs can be converted by the Language Conversion program. The amount of conversion that must be done by direct programming varies with each application program. The COBOL 0 Compiler will also operate under DOS/VS. However, the current device support for object programs compiled by COBOL D has not been extended. DOS/VS COBOL This program product compiles programs written in the ANS COBOL language, and is designed for use under DOS/VS. DOS/VS COBOL contains all the functions of DOS COBOL compiler, version 3, as well as VSAM, 3886 OCR, 3340 direct access storage, 3540 diskette input output unit, 5202/3203 advanced printer support and the FIPS flagger, which identifies areas of the user's program that do not conform to the Federal Information Processing Standard. This compiler requires a partition size of at least 60K. For more detail on this program product and the manuals available for it, consult the DOS/VS COBOL General Information Manual, GC28-6473. Full ANS COBOL Compiler, Version 3 This program product compiles programs written using the full ANS COBOL language. COBOL Version 3 provides improvements that reduce the size of the object modules, extensive debugging facilities, alphabetized cross reference lists, and ASCII support. This compiler can run in a partition of at least 54K and requires use of the Object Library Program Product for execution of compiled programs. For more details on this program product and the manuals available for it, consult the Full ANS COBOL and Library General Information ' Manual. GC28-6421. Subset ANS COBOL Compiler, Version 1 This program product supports a subset of the ANS Standard COBOL language. Level 2 of the National Bureau of Standards is implemented, together with additional features taken from higher levels. The subset is more powerful than the COBOL D language, adheres to the ANSI 104 Introduction to DOS/VS standards, and has been given additional flexibility through special IBM extensions. This compiler can run in a partition of at least 20K and thus provides powerful features in a limited amount of space. Programs written for the Subset COBOL compiler can also be compiled by the Full ANS COBOL compiler. For more details on this program product and the manuals available for it, consult the Subset ANS COBOL and Library General Information Manual, GC28-6402. PL/I Compiler PL/I is a general purpose programming language which can be used to program both commercial and scientific applications, and is particularly useful for applications that require a combination of techniques to be used in a program. PL/I support under DOS/VS is provided by the PL/I optimizing compiler and by two object-time libraries, the resident and transient libraries. Source programs which were written for the PL/I D compiler can be. compiled by the new compiler provided that those programs are expressed !r! valid Pl!T hmgnage. A facility is provided by the new compiler to allow communication between PL/I modules and existing modules produced by certain FORTRAN and COBOL compilers. The PL/I D compiler will also operate under DOS/VS. However, the current device support for object programs compiled by PLjI D has not been extended. PL/I Optimizing Compiler The PL/I optimizing compiler is designed to provide optimized object programs from a comprehensive level of PL/I. It provides a high level of PL/I language, diagnostics at both compile-time and object-time, and optimized object programs. If optimization is specified, the compiler will process the PL/I source program, reorganizing it if necessary, so as to produce an efficient object program. If optimization is not specified, compilation time will be reduced. The language level implemented by the optimizing compiler contains extensions beyond the PL/I D and the F level subsets. ) For more details on this program product and the manuals available for it, consult the PL/ I Optimizer, Resident Library, and Transient Library General Information Manual, GC33-0004. Part 4. DOS/VS Component Programs 105 PL/I Libraries Two object-time libraries are required for the execution of object modules produced by the optimizing compiler. These libraries contain subroutines which must be combined with the object module to produce an executable program (the PL/I resident library), and other subroutines which are required dynamically as the object program is being executed (the PI/I transient library). Both the resident and transient libraries are separate program products. Interactive Terminal Facility The interactive terminal facility (ITF) allows engineers, analysts, executives, and other non-professional programmers to work directly with the computer through terminals. With ITF, the user keys in statements or problems and receives replies or answers immediately. Two languages are available: ITF:BASIC and ITF:PL/I, a subset of PL/1. For more details on this program product and the manuals available for it, consult the ITF PL/ I and BASIC General Information Manual, GC28-682S. DOS/VS Sort/Merge A sort/merge program enables the user to sort multiple files of logical data records into a predetermined sequence, or to merge files of previously sequenced records. The DOS/VS Sort/Merge Program Product, besides giving improved performance in virtual mode over DOS Sort/Merge, offers a number of additional functions. These include: • Support of 3340 Disk Storage for input, output, and work files. • Support of key-sequenced and entry-sequenced VSAM files for input to and output from the sort/merge. • Ability to incorporate a user-written routine to read input for merging. This feature was previously available only for sorting applications. • New control statements: For specifying selection of records to be included in the sort/merge For specifying reformatting of records F or requesting a summary of records For specifying a user-defined collating sequence. For more details on this program product and the manuals available for it, consult the publication IBM DOS/VS Sort/Merge General Information, GC33-4030. 106 introduction to DOS!VS Part 5. Configurations Magnetic Tape Units Display Devices Punched Card Devices Figure 5.4 Centra I Processi ng Units • Printers Terminal Devices Figure 5.2 Figure 5.7 Figure 5.6 Figure 5.10 Manual Controls * For minimum system Miscellaneous Equipment Direct Access Devices configuration: See Figure 5.11 FlgUl'e 5.1. IBM System/370 Comagurations Supported by DOS/VS In each of the figures referenced there is a full list of devices supported. Part 5. Configurations 107 System/370 No. I I I Model I Storage size in bytes 3115 F FE G GE 65,536 98,304 131,072 163,840 3125 FE G GE GF H 98,304 131,072 163,840 196,608 262,144 3135 FE GO GF OH H HF HG 1 98,304 147,456 196,608 245,760 262,144 327,680 393,216 524,288 3145 GE GFO H HG 1 H2 HG2 12 IH2 J2 163,840 212,992 262,144 393,216 524,288 262,144 393,216 524,288 786,432 1,048,576 3155 H HG I IH J JI K 262,144 393,216 524,288 786,432 1.048.576 1,572,864 2,097,152 I J JI K KJ L MP1 MP2 MP3 MP4 MP5 MP6 524,288 1,048,576 1.572.864 2,097,152 3,145,728 4,194,304 524,288 1,048,576 1,572,864 2,097,152 3,145,728 4,194,304 I II 3158 Figure S.2. Central Processing Units 108 Introduction to DOS!VS Central Processing Units Remarks System/370 I Magnetic Tape Devices Maximum Data Rates No. Model 2401 1 2 3 4 5 6 8 Kilobytes per second Remarks Bytes per inch Control Unit Unit Unit Unit Unit Unit Unit Unit 30 60 90 60 120 180 60 800 800 800 1600 1600 1600 800 1-3 Magnetic Tape Unit and Control 15 800 4-6 Magnetic Tape Unit and Control 30 1600 2420 5 7 Magnetic Tape Unit Magnetic Tape Unit 160 320 1600 1600 2803 2495 1 Tape Cartridge Reader 20 none 3410 1 2 3 Magnetic Tape Unit Magnetic Tape Unit Magnetic Tape Unit 20 40 80 1600 1600 1600 3 4 5 Magnetic Tape Unit Magnetic Tape Unit Magnetic Tape Unit ~Y1agnct~c Tape Urdt Magnetic Tape Unit Magnetic Tape Unit 120 470 200 7BO 320 1250 1600 6250 1600 6250 1600 6250 2415 3420 e 7 8 I Name Magnetic Magnetic Magnetic Magnetic Magnetic Magnetic Magnetic Tape Tape Tape Tape Tape Tape Tape .9 2803 or 2804 I Not attachable to a Model 115 or 125 none } ? ) See Note 1 Not attachable to a Model 115 or 125 3411 Note N,ote Note Note Note Note 2 3 2 3 2 3 Note 1: Three models of the 3411 Magnetic Tape unit with Control are available. These are identical to the 3410 Magnetic Tape Unit models except that the control unit is built in. Note 2: Attaches to the 3803 Models I and 2. Note 3: Attaches to the 3803 Model 2 only. Figure 5.3. Magnetic Tape Units Part 5. Configurations 109 System/370 No. I Model Punched Card Devices Name Maximum Speed Reading Cards per minute 1442 I Cards per minute - 600 1000 - - none Card Read Punch Card Punch Card Punch 500 - none - 500 500 300 Card Read Punch 1000 - 300 2821 Multifunction Card Machine 500 260 - none For Models 115 and 125 only. (See Note 3) Card Read Punch (Note 1) 500 120 none 96-column card machine Card Reader Card Reader 800 1200 none } For Model 125 only (See Note 2501 81 82 Card Reader Card Reader 2520 81 82 83 2540 1 2560 Al A1 A2 Cols. per second 160 160 Card Read Punch Card Punch 3504 Punching Remarks - N1 N2 2596 Control Unit 400 - none - 2) 3505 A1,81 A2,82 Card Reader Card Reader P1 P2 P3 Card Punch Card Punch Card Punch A3 A4 3525 I I I 5425 800 1200 - - - - none - 3505 Card Reader - 100 200 300 - M u Itifu nction Card Unit 250 - 60 none } For Models 115 and 125 only. (See Note 3) Multifunction Card Unit 500 - 120 none 96-column card machine. Note 1: DOS/VS and POWER do not support SYSRDR and SYSPCH files on this device. Note 2: The following devices may be attached natively to a Model 125, either: I) One 5425, or 2) One 2560 and one 3504 Model A 1 or A2, or 3) One 3504 Model A 1 or A2 and one 3525. Note 3: To a Model 115 either one 2560 or one 5425 can be attached. Figure 5.4. Punched Card Devices 110 Introduction to DOS/VS See Note 2 System/370 I Direct Access Devices Name Million Bytes Capacity (Max.) Control Unit No. Model 2311 1 2312 A1 2313 A1 2314 A1,B1 2318 A1 Disk Storage 58 2314 2319 A-series B-series Disk Storage Disk Storage 87 2314 2321 1 Data Cell Drive 400 2841 3333 1 Disk Storage 200 3330 1 2 Disk Storage Disk Storage 200 100 Note 3 Direct Access Storage Direct Access Storage Direct Access Storage 140 70 140 Note 4 Note 5 Note 5 3340 I I Disk Storage Drive A2 B1 B2 7 2841 Disk Storage 29 2314 Disk Storage 117 2314 Direct Access Storage Facility 233 none ( ( Note Remarks See Note 1 Note attachable to a Model or 115 125 See Note 1 21 Not attachable to a Model 115 - Note 1: The 2311 and 2321 are not supported as the system residence device. Note 2: Attaches to the integrated file adapter ((FA) on Model 135, to the :.i:.i4' Controi blOrag\! Ull MuJd i45, tv ili~ integrated storage control (lSC) on Model 158, or to the 3830-2 Storage Control Unit on Models 135 and 145. It also attaches directly to the Model 125 .. Note 3: Attaches to the 3333-1 and 3830-1. Note 4: Attaches directly to Models 115 and 125, to the integrated file attapter (IFA) on Model 135, to the integrated storage control (ISC) on Models 145 and 158, or to the 3830-2 Storage Control Unit on Models 135, 145, 155-11, and 158. Note 5: Model 8 I or 82 of the 3340 attaches directly to a Model A2 or to another 8 model. Figure 5.5. Direct Access Devices Part 5. Configurations 111 I System/370 Name Printers Control Unit Max. Print Speed Remarks No. Model 1403 2,7 3, Nl Printer Printer 2821 600 lines per minute 1100 lines per minute 1443 Nl Printer none 240 lines per minute 3211 1 Printer 3811 2000 lines per minute Console Printer none 85 chars per second For Model 158 only (Notes 1 and 4) 3213 Selective Tape Listing feature is excluded Not attachable to Model 115 5213 1 Console Printer none 85 chars. per second For Model 125 (Note 2) and Model 115 (see also Note 4) 3203 1 2 Printer Printer none none 600 lines per minute 1200 lines per minute For Models 115 and 125 only 5203 3 Printer none 300 lines per minute For Model 115 only (Note 3) Note 1: The 3213 is required to operate the Model 158 display console in 3215 mode. Note 2: The 5213 is required to operate the Model 125 display console in 3052 mode. I Note 3: If the 5203 is the only printer on the system, it must have at least 120 print positions. Note 4: POWER does not support the 3213 or the 5213. Figure 5.6. Printers 112 Introduction to DOS!VS I System/370 No. Model 1030 Terminal Devices Name Control Unit Data Collection System 1050 Data Communication System 1060 Data Communication System 2721 Portable Audio Terminal 2740 1, 2 I ( 2780 1-4 2790 Data Communication System 2972 Banking Terminal 3735 I Data Transmission Terminal Programmable Buffered Terminal 3780 Data Communication Terminal ) 2703 3705 7770 Communication Terminal Data Communication System ( 2702 J ) ,I t 2702 ) 3704 ) • 2770 12701 ( (3704 Optical Image Unit 2760 Remarks ~ I, 2701 ~ 2703 ) ·3705 \2701 2703 3704 \ 3705 2715 "I ~ , The 2790 with the 2715 can be attached to the CPU either directly or via a 2701/2703/3705/ICA 2701 2703 3704 ( 3705 ( ) ,I Note: In addition to the above terminal devices, DOS/VS supports TP attachment to the CPUs of the systems t t 30, 1800, System/3, System/7, System/360 and System/370. Devices supported by former releases are also supported by DOS/VS. All the specified devices, except the 7770, can be attached via the ICA. Figure 5.7. Terminal Devices Part 5. Configurations 113 System/370 I Display Devices Control Unit No. Model 2260 1 2 Name Characters * Display Station Display Station 960 480 2848 Local or remote attachment 2265 Display Station 960 2845 For remote attachment only 3270 Information Display System 3272 Local or remote attachment * For remote attachment Figure 5.8. * a 2701 control unit is required. Display Devices System/370 I Remarks I Name Manual Controls Speed Control Unit No. Model 3210 1, 2 Console PrinterKeyboard 15.5 cps none 3215 1 Console Printer-Keyboard 85 cps none Remarks Not attachable to System/370 Models 115, 125, and 158 * 32 t 5 operation mode on the System/370 Model t 58 display console requires the 3213 printer plus attachment features. Figure 5.9. Manual Controls 114 Introduction to DOS!VS System/370 I I I * ** I Miscellaneous Equipment No. Model* 1017 1,2 Paper Tape Reader 120 cps 2826 1018 1 Paper Tape Punch 120 cps 2826 1255 1-3 Magnetic Character Reader 750 dpm none 1259 2 Magnetic Character Reader 600 dpm none 1270 1-4 Optical Character Reader 750 dpm none 1275 2,4 Optical Character Reader 1600 dpm none 1287 1-5 Optical Reader 665 dpm none 1288 1 Optical Page Reader 1419 1 Magnetic Character Reader 1600 dpm none 2671 1 Paper Tape Reader 1000 cps 2822 2816 1 Tape Switching Unit 3540 B1,B2 3881 1 Optical Mark Reader 3886 1 Optical Character Reader 7770 3 Audio Response Unit Name Diskette I/O Unit Max. Speed Control Unit Remarks none 2803 3636 rpm input 2212 rpm output none ** none 100 dpm none For Models 135 and 145 only none For the additional models that are available outside of the United States of America, refer to the current sales manual. For 8 1/2" x 11 1/2" documents, approximately 4,000 documents can be read per hour. Higher throughput rates occur for documents shorter than 11 inches. Approximately 6,000 documents can be read per hour for 3" documents. Figure 5.10. Miscellaneous Equipment Part 5. Configurations 115 r::i1) - - - -.....~2) Card Reader 1) Notes: Central Proc. Unit and Channel 1) Card Punch 2) I) The card reader, card punch, and printer can each be replaced by a magnetic tape unit or by a disk extent. This does not apply to the card reader during IPL. 2) The printer and the card punch may be replaced by one'magnetic tape unit. Figure 5.11. Minimum Practical System Configuration 116 Introduction to DOS/VS Part 6. DOS/VS Documentation A full set of manuals and educational courses is available to describe the Disk Operating System Virtual Storage and its use. Like DOS/VS itself, the documentation is a functional enhancement of previous releases and editions. The DOS/VS library has been revised to consolidate coverage of each major subject into the proper manual, thus reducing the time needed to find a specific topic or item. Education IBM offers an array of education courses and manuals answering the needs of both users new to data processing and users new only to DOS/VS or some of its applications. For a summary of the educational help -offered, - consult the IBM Data Processing Education Selector Guide, GR20-1055, and the IBM DOS Education Selector Guide, GR20-2330. The DOS/VS SCP library is a set of manuals describing the functions and uses of the DOS/VS system control programming and the operation of the system. It is divided into several topical groups and logical types of manuals. Topical Groups in the SCP Library The SCP library can be divided into the following eight topical groups: System Generation System Control and Service Data Management Operation System Utilities Teleprocessing Emulation Assembler System Control Programming Library (SCP Library) Titles of the manuals that fall into these topical groups can be found in Figure 6.1. Part 6. DOS/VS Documentation 117 Types of Manuals in the SCP Library Wherever appropriate in the SCP library, a distinction is made between several levels of information, each level serving a different purpose: 1. Descriptive Information Descriptive information is aimed at developing full understanding of a component or group of components and the part they play in the working of the system. In developing a topic, a descriptive manual or section attempts to address practical implications by means of examples and careful explanation. This information is contained in manuals called Guides. 2. Reference Information This type of information represents the concise specifications for using a feature or component, and is contained in manuals that are reference sources in both name and design. Accompanying explanatory text is reduced to a minimum, allowing rapid retrievability of information. Figure 6.1 shows a number of manuals, particularly in the group dealing with basic system functions, classified entirely as guides or reference manuals. The DOS/VS System Management Guide, for example, and the DOS/VS Data Management Guide contain the necessary descriptive information on the basic functions of the system while DOS/VS System Control Statements and DOS/VS Supervisor and I/O Macros are quick-reference sources for the corresponding control statements and macro instructions. In other instances, both descriptive and reference information may properly be contained within a single manual, one that fully covers a topic, such as VSAM Access Method Services, within one volume. Manuals in the Program Product Library I The IBM System/360 and System/3 70 Bibliography, GA22-6822, lists the specific manuals available with each program product. Program Logic Information Logic manuals, in presenting the internal details of system programs and components, mix reference and descriptive/tutorial information. In their reference role, logic manuals contain information such as register usage by the program, or layout of data areas. They take on a more descriptive role when presenting the module-by-module logic and the overall flow of control within the program. Constructed in this way for readers who need to know (or learn) program internals, they consolidate logic information on a particular programming topic into one volume. 118 Introduction to DOS/VS Figure 6.1, Part 1: The DOS/VS System Library Manuals. The overall subject of DOS/VS is logically divided into several major topics such as Operation, Data Management, or Teleprocessing, and dealt with in descriptive, reference, and logic manuals as appropriate. Logic Reference Descriptive Develops a full understanding of the subject and the part It plays In the overall working or use of the system. The concise specifications for using the componenU of the system, organized for ease of access. Internals Information to round out the user's understanding of the flow of logic In the system and IU componenu. System Generation DOS/VS System Generation GC33·5377 How to prepare, build, and maintain a Disk Operating System Maintenance Serviceability aid intended for persons involved in program maintenance System Control & Service Use of the system, its libraries, and control and service functions for' the processing of programs in both batch and multiprogramming environments. DOS/VS Handbook SY33-857l DOS/VS System Management Guide GC33-5371 DOS/VS Supervisor Logic SY33-855I DOS/VS Linkage Editor Logic SY33-8556 DOS/VS System Utilities Reference GC33·5381 DOS/VS Error Recovery and Recording Transients Logic SY33·855:! DOS/VS POWER Logic SY33·8565 DOS/VS Loglcal'lranslents Logic SY33·8553 noslVs POWER RJE DOS/VS IPL& Job Control Logic SY33·8555 DOS/VS System Serviceability Aids Logic SY33-8554 DOS/VS Libmrian Logic SY33-8557 DOS/VS System Utilities Logic SY33·8558 Logic SY33-8566 DOS/VS Supervisor and I/O Macros Reference GC33-5373 Data Management Use of storage media and data organization and access methods for the preparation and mani· pulation of data. DOS/VS System Control Statements Reference GC33·5376 DOS/VS Data Management Guide GC33-5372 DOS/VS Tape Labels Reference GC33·5374 DOS/VS LlOCS Vol. I Introduction and Imperative Macros Logic SY33-8559 DOS/VS LlOCS Vol. 3 DAM and ISAM Logic SY33·8561 DOS/VS LlOCS Vol. 2 SAM Logic SY33-8560 DOS/VS LIOCS Vol. 4 VSAM Logic SY33-8562 DOS/VS DASD Labels Reference GC33.5375 DOS/VS Access Method Services Logic SY33-8564 DOS/VS System Utilities: Access Method Services GC33·5382 Figure 6.1. DOS/VS Documentation (Part 1 of 3) Part 6. DOS/VS Documentation 119 Figure 6.1, Part 2: The DOSNS System Library Manuals. The overall subject of DOS/VS is logically divided into several major topics, such as Operation, Data Ma· nagement, or Teleprocessing, and dealt with in descriptive, reference, and logic manuals as appropriate. Descriptive Reference Logic Develops a full understanding of the sub· ject and the part it plays in the overall working or use of the system. The concise ~cification for using the components of the system,organized for ease of access . Internals information to round out the user's understanding of the flow of logic in the system and its components. Operation Running monitoring, and directing the system for the processing of jobs, and initlatinQ the proper steps for recovery from errors. DOS/VS Operating Procedures GC33·5378 IBM System/370 Modellxx Operation Procedures DOS/VS Messages Reference GC33·5379 DOS/VS Serviceability Aids & Debugging Procedures GC33·5380 DOS/VS On-Line Test Executive Program (OLTEP) Reference GC33.5383 DOS/VS On·Line Test Executive Program (OLTEP) Logic SY33·8568 OSIVS DOSIVS VM/370 Assembler Language Guide GC33·4010 DOS/VS Assembler Logic SY33-8S67 Assembler Using all available machine instructions directly, and striking the best balance between storage utilitlzation and speed of program execution. Guide to the DOS/VS Assembler GC33-4024 Teleprocessing DOS/VS Basic Telecommunications Access Method - Reference GC27·6989 Processing of data obtained from remote terminals using communications access methods. QTAM Message Control Program Guide GC27·6986 DOS/VS BTAM Logic SY27·725I DOS/VSQTAM Message Control Program Logic SY27·7249 QTAM Message Processing Program Services GC27·6985 Figure 6.1. 120 ~ntiOduct;on to DOS!VS DOS/VS Documentation (Part 2 of 3) Figure 6.1, Part 3: The DOS/VS System Library Manuals. Descriptive Reference Logic The overall subject of DOS/VS is logically divided into several major topics such as Operation, Data Ma· nagement, or Teleprocessmg, and dealt with in descriptive, reference, and logic manuals as appropnate. Develops a full understanding of the sub· ject and the part it plays in the overall working or use of the system. The concise specifications for using the components of the system organized for ease of access. Internals information to round out the user's undentanding of the flow of logic in the system and its components. Emulation 1401/1440/1460 DOS/V~ Emulator on System/370 GC33·5384 Use of data and program on System/370 that were developed for another system. 1410/7010 DOS/VS Emulator on System/370 GC33·5385 Movmg from Model 20 to DOS/VS GC33·5386 Model 20 Emulator on System/370 : Reference GC33·5388 1401/1440/1460 DOS/VS Emulator on System/370: Logic SY33·7008 1410/7010 DOS/VS Emulator on System/370 : logic SY33·7009 Model 20 Emulator on System/370 Usmg DOS and DOS/VS: Logic SY33·7010 Moving from System/3 to DOS/VS GC33·5389 IBM Emulator for Honey· well Senes 200 on System/370 using DOS and DOS/VS: TransitIon Guide GH20·1153 IBM Emulator for Honey· well Senes 200 on System/370 usmg DOS andDOS/VS: Reference GA24·3604 IBM Emulator for Honey· well Senes 200 on System/370 usmg DOS and DOS/VS: Logic LY24·3606 IBM Emulator for RCA 301 on System/370 usmg DOS and DOS/VS: Transition Guide GH20·1152 IBM Emulator for RCA 30 on System/370 using DOS and DOS/VS: Reference GA24·3605 IBM Emulator for RCA 30 on System/370 usmg DOS and DOS/VS: Logic LY24·3607 Figure 6.1. DOS/VS Documentation (Part 3 of 3) Part 6. DOS/VS Documentation 121 Glossary IBM is grateful to the American National Standards Institute (ANSI) for permission to reprint its definitions from the American National Standard Vocabulary for Information Processing (Copyright 1970 by American National Standards Institute, Incorporated), which was prepared by Subcommittee X3KS on Terminology and Glossary of American National Standards Committee X3. ANSI definitions are preceded by an asterisk (*). access method: A technique for moving data between virtual storage and input/ output devices. *address: (1) An identification, as represented by a name, label, or number, for a register, location in storage, or any other data source or destination such as the location of a station in a communication network. (2) Loosely, any part of an instruction that specifies the location of an operand for the instruction. alternate track: One of a number of tracks set aside on a disk pack for use as alternatives to any defective tracks found elsewhere on the disk pack. application program: A program written by a user that applies to his own work. assembler language: A source language that includes symbolic machine language statements in which there is a one-to-one correspondence with the instruction formats and data formats of the computer. attach: (1) To create a task and present it to the supervisor. (2) A macro instruction that causes the control program to create a new task and indicates the entry point in the program to be given control when the new task becomes active. auxiliary storage: Data storage other than real storage; for example, storage on magnetic tape or disk. Synonymous with external storage, secondary storage. blocking: Combining two or more logical records into one block. blocking factor: The number of logical records combined into one physical record or block. book: A group of source statements written in any of the languages supported by DOS/VS and stored in a source statement library. buffer: An area of storage that is temporarily reserved for use in performing an input/ output operation, into which data is read or from which data is written. Synonymous with I/O area. byte: A sequence of eight adjacent binary digits that are operated upon as a unit and that constitute the smallest addressable unit of the system. Glossary 123 card punch: A device to record information in cards by punching holes in the cards to represent letters, digits, and special characters. card reader: A device which senses and translates into machine code the holes in punched cards. catalog: To enter a phase, module, book, or procedure into one of the system or private libraries. *central processing unit: A unit of a computer that includes the circuits controlling the interpretation and execution of instructions. Abbreviated CPU. channel: (1)* A path along which signals can be sent, for example, data channel, output channel. (2) A hardware device that connects the CPU and real storage with the l/O control units. compile: To prepare a machine language program from a computer program written in a high level language by making use of the overall logic structure of the program, or generating more than one machine instruction for each symbolic statement, or both, as well as performing the function of an assembler. compiler: A program that translates high level language statements into machine language instructions. configuration: The group of machines, devices, etc., which make up a data processing system. control area: A group of control intervals used as a unit for formatting a file before adding records to it. Also, in a key-sequenced file, the set of control intervals pointed to by the lowest level index; used by VSAM for distributing free space and for placing a low-level index adjacent to its data. control interval: A fixed-length area of auxiliary storage space in which VSAM stores records and distributes free space. It is the unit of information transmitted to or from auxiliary storage by VSAM, independent of blocksize. control program: A program that is designed to schedule and supervise the performance of data processing work by a computing system. control unit: A device that controls the reading, writing, or display of data at one or more input/output devices. core image library: A library of phases that have been produced as output from link-editing. The phases in the core image library are in a format that is executable either directly or after processing by the relocating loader in the supervisor. CPU busy time: The amount of time devoted by the central processing unit to the execution of instructions. data file: A collection of related data records organized in a specific manner. For example, a payroll file (one record for each employee, showing his rate of pay, deductions, etc. or an inventory item, showing the cost, selling price, number in stock, etc.) See also file. 124 introduction to DOS!VS data integrity: See integrity. data management: A major function of DOS/VS that involves organizing, storing, locating, retrieving, and maintaining data. data security: See security. deblocking: The action of making the first and each subsequent logical record of a block available for processing one record at a time. default value: The choice among exclusive alternatives made by the system when no explicit choice is specified by the user. deletion of an I/O device: Removal of the I/O unit from the supervisor configuration tables. diagnostic routine: A program that facilitates computer maintenance by detection and isolation of malfunctions or mistakes. dial-up terminal: A terminal on a switched teleprocessing line. direct access: (1) Retrieval or storage of data by a reference to its location on a volume, other than relative to the previously retrieved or stored data. (2)* Pertaining to the process of obtaining data from, or placing data into, storage where the time required for such access is independent of the location of the data most recently obtained or placed in storage. (3)* Pertaining to a storage device in which the access time is effectively independent of the location of the data. Synonymous with random access. direct organization: Direct file organization implies that for purposes of storage and retrieval there is a direct relationship between the contents of the records and their addresses on disk storage. directory: An index that is used by the system control and service programs to locate one or more sequential blocks of program information that are stored on direct access storage. disk pack: A direct access storage volume containing magnetic disks on which data is stored. Disk packs are mounted on a disk storage drive, such as the IBM 3330 Disk Storage Drive. I diskette: Consists of a flexible magnetic oxide coated disk, permanently enclosed in a semi-rigid protective plastic jacket approximately 8 inches square. During data processing operations, the disk turns freely within the jacket. It is capable of storing 1898 128-character data records. distributed free space: Space reserved within the control intervals of a key-sequenced file for inserting new records into the file in key sequence; also, whole control intervals reserved in a control area for the same purpose. dump: (1) To copy the contents of all or part of virtual storage. (2) The data resulting from the process as in (1). dynamic address translation (OAT): (1) The change of a virtual storage address to an address in real storage during execution of an instruction. (2) A hardware function that performs the translation. Glossary 125 entry sequence: The order in which data records are physically arranged in auxiliary storage, without respect to their contents (contrast with key sequence). entry-sequenced file: A VSAM file whose records are loaded without respect to their contents, and whose relative byte addresses cannot change. Records are retrieved and stored by addressed access, and new records are added to the end of the file. error message: The communication that an error has been detected. error recovery procedures: Procedures designed to help isolate, and, when possible, to recover from errors in equipment. The procedures are often used in conjunction with programs that record the statistics of machine malfunctions. *file: A collection of related records treated as a unit. For example, one line of an invoice may form an item, a complete invoice may form a record, the complete set of such records may form a file, the collection of inventory control files may form a library, and the libraries used by an organization are known as its data bank. hard copy: A printed copy of machine output in a visually readable form, for example, printed reports, listings, documents, and summaries. *hardware: Physical equipment, as opposed to the computer program or method of use, for example, mechanical, magnetic, electrical, or electronic devices. Contrast with software. *idle time: That part of available time during which the hardware is not being used. index: (1)* An ordered reference list of the contents of a file or document, together with keys or reference notations for identification or location of those contents. (2) A table used to locate the records of an indexed sequential file. indexed-sequential organization: The records of an indexed sequential file are arranged in logical sequence by key. Indexes to these keys permit direct access to individual records. All or part of the file can be processed sequentially. Initial Program Load (iPl;: The initialization procedure that causes DOS/VS to commence operation. integrity: Preservation of data or programs for their intended purpose. *in~erface: A shared boundary. An interface might be a hardware component to link two devices or it might be a portion of storage or registers accessed by two or more computer programs. *1/0: An abbreviation for input/output. ISAM interface program: A set of routines that allow a processing program coded to use ISAM to gain access to a key-sequenced file with an index. job: (1)* A specified group of tasks prescribed as a unit of work for a computer. By extension, a job usually includes all necessary computer 126 ~ntiOduction to DOS!VS programs, linkages, files, and instructions to the operating system. (2) A collection of related problem programs, identified in the input stream by a JOB statement followed by one or more EXEC statements. job accounting interface: A function that accumulates, for each job step, accounting information that can be used for charging usage of the system, planning new applications, and supervising system operation more efficiently. job control: A program that is called into storage to prepare each job or job step to be run. Some of its functions are to assign 110 devices to certain symbolic names, set switches for program use, log (or print) job control statements, and fetch the first program phase of each job step. job (JOB) statement: The job control statement that identifies the beginning of a job. It contains the name of the job. job step: The execution of a single processing program. K: 1024. "'key: One or more characters associated within an item of data that are used to identify it or control its use. key sequence: The collating sequence of data records, determined by the value of the key field in each of the data records. May be the same as, or different from, the entry sequence of the records. key-sequenced file: A file whose records are loaded in key sequence and controlled by an index. Records are retrieved and stored by keyed access or by addressed access, and new records are inserted in the file in key sequence by means of distributed free space. Relative byte addresses of records can change. label: Identification record for a tape or disk file. language translator: A general term for any assembler, compiler, or other routine that accepts statements in one language and produces equivalent statements in another language. leased facility: A circuit of the public telephone network made available for the exclusive use of one subscriber. librarian: The set of programs that maintains, services, and organizes the system and private libraries. library: A collection of files or programs, each element of which has a unique name, that are related by some common characteristic. For example, all phases in the core image library have been processed by the linkage editor. linkage editor: A processing program that prepares the output of language translators for execution. It combines separately produced object modules, resolves symbolic cross references among them, generates overlay structures on request, and produces executable code (a phase) that is ready to be fetched or loaded into virtual storage. The linkage editor also produces relocatable phases. Glossary 127 load: (1)* In programming, to enter instructions or data into storage or working registers. (2) In DOS/VS, to bring a program phase from a core image library into virtual storage for execution. message: See error message, operator message. microprogramming: A method of working of the CPU in which each complete instruction starts the execution of a sequence of instructions, called microinstructions, which are generally at a more elementary level. multiprogramming system: A system that controls more than one program simultaneously by interleaving their execution. multitasking: The concurrent execution of one main task and one or more subtasks in the saine partition. object code: Output from a compiler or assembler which is suitable for processing to produce executable machine code. *object module: A module that is the output of an assembler or compiler and is input to a linkage editor. object program: A fully compiled or assembled program. Contrast with source program. *online: (1) Pertaining to equipment or devices under control of the central processing unit. (2) Pertaining to a user's ability to interact with a computer. operand: (1) * That which is operated upon. An operand is usually identified by an address part of an instruction. (2) Information entered with a command name to define the data on which the command processor operates and to control the execution of the command processor. operator command: A statement to the control program, issued via a console device, which causes the control program to provide requested information, alter normal operations, initiate new operations, or terminate existing operations. operator message: A message from the operating system or a problem program directing the operator to perform a specific function, such as mounting a tape reel, or informing him of specific conditions within the system, such as an error condition. *overflow: (1) That portion of the result of an operation that exceeds the capacity of the intended unit of storage. (2) Pertaining to the generation of overflow as in (1). overlay: (1) A program segment (phase) that is loaded into virtual storage. It replaces all or part of a previously retrieved section. (2) The process of replacing a previously retrieved program section in virtual storage by another section. page: (1) A fixed-length block of instructions, data or both, that can be transferred between real storage and the page data set. In DOS/VS, a page is 2K bytes in length. (2) To transfer instructions, data, or both between real storage and the page data set. 128 Introduction to DOS/VS page data set: An extent in auxiliary storage, in which pages are stored. page frame: A block of real storage that can contain a page. page in: The process of transferring a page from the page data set to real storage. page out: The process of transferring a page from real storage to the page data set. page pool: The set of all page frames available for paging viriual-mode programs. paging: The process of transferring pages between real storage and the page data set. ··parameter: A variable that is given a constant value for a specific purpose or process. peripheral equipment: A term used to refer to card devices, magnetic tape and disk devices, printers, and other equipment bearing a similar relation to the CPU. phase: The smallest complete unit that can be referred to in the core image library. printer: A device that expresses coded characters as hard copy. priority: A rank assigned to a partition that determines its precedence in receiving CPU time. private library: A user-owned library that is separate and distinct from the system library. problem determination aid: A program that traces a specified event when it occurs during the operation of a program. Abbreviated PDAID. problem program: Any program that is executed when the central processing unit is in the problem state; that is, any program that does not contain privileged instructions. This includes IBM-distributed programs, such as language translators and service programs, as well as programs written by a user. processing program: (1) A general term for any program that is not a control program. (2) Synonymous with problem program. processor storage: The general purpose storage of a computer. Processor storage can be accessed directly by the operating registers. Synonymous with real storage. queue: (1) A waiting line or list formed by items in a system waiting for service; for example, tasks to be performed or messages to be transmitted in message switching system. (2) To arrange in, or form, a queue. random processing: The treatment of data without respect to its location in auxiliary storage, and in an arbitrary sequence governed by the input against which it is to be processed. real address: The address of a location in real storage. Glossary 129 real address area: In DOS/VS, the area of virtual storage where virtual addresses are equal to real addresses. real mode: In DOS/VS, the mode of a program that may not be paged. real partition: In DOS/VS, a division of the real address area of virtual storage that may be allocated for programs that are not to be paged, or virtual programs that contain pages that are to be fixed. real storage: The storage of a System/370 computing system from which the central processing unit can directly obtain instructions and data, and to which it can directly return results. Synonymous with processor storage. relocatable library: A library of relocatable object modules and IOCS modules required by various compilers. It allows the user to keep frequently used modules available for combination with other modules without recompilation. relocatable phase: Output of the linkage editor containing relocation information. The relocating loader in the supervisor uses this information to relocate the phase into any partition the user selects at execution time. restore: To return a data file created previously by a copy operation from cards, disk, or magnetic tape to disk storage. *routine: An ordered set of instructions that may have some general or frequent use. secondary storage: Same as auxiliary storage. security: Prevention of access to or use of data or programs without authorization. sequential organization: Records of a sequential file are arranged in the order in which they will be processed. service program: A program that assists in the use of a computing system, without contributing directly to the control of the system or the production of results. I shared virtual area: An area located in the highest addresses of virtual storage. It can contain a system directory list (SDL) of frequently-used phases, resident programs that can be shared between partitions, and an area for system GETVIS support. software: A set of programs, concerned with the operation of the hardware in a data processing system. source: The statements written by the programmer in any programming language with the exception of actual machine language. *source program: A computer program written in a source language. Contrast with object program. source statement library: A collection of books (such as macro definitions) cataloged in the system by the librarian program. 130 Introduction to DOS!VS spanned records: Records of varying length that may be longer than the currently used blocksize, and which may therefore be written in one or more continuous blocks. A spanned record may occupy more than 1 track of a disk device. I spooling: The reading and writing of input and output streams on auxiliary storage devices, concurrently with job execution, in a format convenient for later processing or output operations. stand-alone dump: A program that displays the contents of the registers and part of the real address area and that runs independently and is not controlled by DOS/VS. standard label: A fixed-format identification record for a tape or disk file. Standard labels can be written and processed by DOS/VS. storage protection: An arrangement for preventing access to storage supervisor: A component of the control program. It consists of routines to control the functions of program loading, machine interruptions, external interruptions, operator communications and physical IOCS requests and interruptions. The supervisor alone operates in the privileged (supervisor) state. It is loaded by the IPL program and occupies the lowest area of real storage throughout system operation. switched line: A communication line in which the connection between the computer and a remote station is established by dialing. Synonymous with di~l I lint' system directory list: A list containing directory entries of frequently-used phases and of all phases resident in the shared virtual area. This list is placed in the shared virtual area. system residence device: The direct access device on which the system residence volume is located. system residence volume: The volume on which the basic operating system and all related supervisor code is located. task: A unit of work for the central processing unit from the standpoint of the control program. teleprocessing: The processing of data that is received from or sent to remote locations by way of telecommunication lines. terminal: (1)* A point in a system or communication network at which data can either enter or leave. (2) Any device capable of sending and receiving information over a communication channel. throughput: The total volume of work performed by a computing system over a given period of time. *track: The portion of a moving storage medium, such as a drum, tape, or disk, that is accessible to a given reading head position. transient area: An area in real storage used for temporary storage of transient routines. UCS: Universal character set. unit record: A card containing one complete record; a punched card. Glossary 131 universal character set: A printer feature that permits the use of a variety of character arrays. Abbreviated ues. unrecoverable error: A hardware error which cannot be recovered from by the normal retry procedures. user label: An identification record for a tape or disk file; the format and contents are defined by the user, who must also write the necessary processing routines. utility program: A problem program designed to perform a routine task, such as transcribing data from one storage device to another. virtual address: An address that refers to virtual storage and must, therefore, be translated into a real storage address when it is used. virtual address area: In DOS/VS, the area of virtual storage whose addresses are greater than the highest address of the real address area. virtual mode: In DOS/VS, the mode of a program which may be paged. virtual partition: In DOS/VS, a division of the virtual address area of virtual storage that may be allocated for programs that may be paged. virtual storage: Addressable space that appears to the user as real storage, from which instructions and data are mapped into real storage locations. The size of virtual storage is limited by the addressing scheme of the computing system and by the amount of auxiliary storage available, rather than by the actual number of real storage locations. Virtual Storage Access Method (VSAM): VSAM is an access method for direct or sequential processing of fixed and variable length records on direct access devices. The records in a VSAM file can be organized either in logical sequence by a key field (key sequence) or in the physical sequence in which they are written on the fiJe (entry-sequence). A key sequenced file has an index, an entry-seq~enced file does not. volume: (1) That portion of a single unit of storage media which is accessible to a single read/write mechanism, for example, a drum, a disk pack, or part of a disk storage module. (2) A recording medium that is mounted and dismounted as a unit, for example, a reel of magnetic tape, a disk pack, a data cell. VSAM access method services: A multifunction utility program that defines VSAM files and allocates space for them, converts indexed sequential files to key-sequenced files with indexes, facilitates data portability between operating systems, creates backup copies of files and indexes, helps make inaccessible files accessible, and lists file and catalog entries. VSAM catalog: A key-sequence.d file, with an index, containing extensive file and volume information that VSAM requires to locate files, to allocate and deallocate storage space, to verify the authorization of a program or operator to gain access to a file, and to accumulate usage statistics for files. work file: A file on a secondary storage medium reserved for intermediate results during execution of the program. 132 ~!1!rodl!c!!O!1 to DOS!VS Index A abnormal program termination access method . . . . . . summary of . . . . . . access method services (VSAM). address area real. . . . . virtual . . . . address relocation. . address space address translation (see dynamic address translation) allocating storage . . application program . assembler program assembling a program auxiliary storage 22 55 64 89 · 29 · 29 SO 29 30,31 10 · . 90 20 55 B background partition . basic id~PIOl,;t;~shig aCC~5S method (BTAM:) . book BTAM . . . . . . . . . . . . . . . 23 65 SO 65 c catalog (VSAM) · 61 cataloged procedure . · 50,89 cataloging programs 18 permanently. . 18 temporarily . . central processing unit 108, 7 models supported by DOS/VS COBOL compiler · . 104 command 71 job control 71 operator . communication 71 operator-system. 97 compatibility . compiler · 103 RPG II . . 103 FORTRAN · . 104 COBOL . · 105 PL/I 99, 10 component program configuration · 107 configurations supported by DOS/VS . 55 control field . . . . . · . 61 control interval (VSAM) 9 control program. . 49, 18 core image library CPU model models supported by DOS/VS . CPU capacity . . . . . CPU storage . . . . . CPU usage . . . . . . in single-partition system in multiprogramming system CPU wait state . . . . . . . 108 . . 108 29 . . . . 25 27 24 D DAM (see direct access method) DASD file protection . . . . · 69 DAT (see dynamic address translation) data integrity . . . . . · 67 55 data management. . . 10 data management routine . data organization · 56 sequential · 58 indexed sequential 62 direct . . . · 60 virtual storage 67 data security 73 debugging aid . device assignment . 81,88 extended. 16 permanent . . 16 standard . . . 16 temporary direct access device . . . . · 111 models supported by DOS/VS . · 62 direct access method (DAM) disk operating system/virtual storage . 10 component programs of the . . . 10 summary of concepts of the . . . . 108, 7 System/370 CPU models supported display device . 114 models supported by DOS/VS . . documentation (DOS/VS) . . . . 117, 119 DOS/VS (see disk operating system/virtual storage) . . . . 90 DOS/VS Assembler· . . . . . . 22 dump . . . . . . . . . . . . 69 duplicate assignment (of I/O devices) dynamic address translation (DAT) . . . . 36 E education. . . . . . . . . 117 emulation on System/370· . 75,91 emulator . . . . . . . 75, 91 entry-sequenced file . 60 Environment Recording, Edit and Print program (EREP). . . . . . 73 executable program . . 18,49 executing a program· 18,31 in real mode. . . . . 31 Index 133 in virtual mode. . . . . . performance considerations for exit routine 31,38 · 39 · 23 F 55 68 file . . . . . file label . . . file organization direct indexed sequential. sequential. . virtual storage file portability file protection . file sharing foreground partition FORTRAN compiler. free space (VSAM) 62 58 56 60 62 69 62 25,86 103 · 61 G glossary . . . . . . . . . . . . . . 123 I index for ISAM . . . . . . . . . . . · 58 for VSAM . . . . . . . . . . . 60 indexed sequential access method (ISAM) 58 initial program loader (IPL) 9 input queue (POWER) . . 43 integrated emulator . . . 75 interactive terminal facility. 106 internal storage . 29 interval timer . . . . . 90 I/O interrupt . . , . . . . . . . . 27 ISAM (see indexed sequential access method) ISAM interface program . . . . . . . . 62 J job . . . . . . job accounting . . job control program job control statement. examples of job step single multiple job stream · 13 · 46 9, 18 13 19 14 14 13 . 68 68 68 103,9 67 62 49 49 49 50 51 50 50 50 49 20,50 50,52,53 52,53 50 66 14 17 17 M magnetic tape unit models supported by DOS/VS main storage . . . . . . . . main task . . . . . . . . . maintenance and service of library manual control models supported by DOS/VS manuais for DOS/VS message' . . . module' . . . multiprogramming multitasking 109 29 28 51 114 117 . 71 50 24 28 o object program . . . . . . . . . . . 18,50 On-Line Test Executive Program (OLTEP). 73 71 operator command . . . . 71 operator-system communication 43 output queue (POWER) 40 overcommitting real storage 59 overflow area . . . . . p K key DAM ISAM VSAM key-sequenced file . L label 134 tape. . . . . disk . . . . . processing. . . language translator. language support for data management (summary). for VSAM ....... . librarian program library . . . . core image private . . maintenance and service of procedure. . . relocatable . . . source statement system . . . . link-editing with relocating load without relocating load linkage editor. . . . . LIOCS (see logical 10CS) logical IOCS logical unit. . system . . programmer Introduction to DOS/VS 63 58 60 60 page. page data set page fault. . page frame page in operation page out operation page pool. . paging. . . . . partition 34 34 34 34 34 34 34 38,34 allocating storage to a background . . . changing size of . . foreground number of tasks in priority of . real . . virtual . . performance with POWER, with virtual storage permanent device assignment . phase reloc~table non-relocatable . physical IOCS . . physical unit. . . PIOCS (see physical IOCS) PL/I compiler PL/I library . POWER . . POWER RJE PP (see program product) printer models supported by DOS/VS priority (partition) default priority ch~nging . . . private library problem-program area procedure. . . . procedure library . processing program processor storage program assembling a cataloging a executable executing a link-editing a . object . . . processing with POWER. self-relocating terminating a program product program run mode real . . . . . virtual . . . . program termination abnormal . . . programmer logical unit programming language Assembler. COBOL PL/I . . . RPG . . . FORTRAN ITF-Basic ITF-PL/I protection .30,33,41 · 23 · 24 25,86 · 28 25,87 31 31 45 39 16 50 50 66 14 105 106 43,95 44,95 112 25 25 50 24 50 50,89 9 29 20 18 18,49 18 · 20 18,50 44 51 22 103 31 31 22 22 17 90 104 105 103 103 106 106 file . . storage. publications protection macro punched card device models supported by DOS/VS 69 . 23 117 70 110 Q queue (POWER) input . . . . . . . . . . . 43 output . . . . . . . . . . . . . . 43 queued teleprocessing access method (QTAM) 65 R 73 RAS 29 real address area 31 real mode· 29 real storage . . 55 record . . . . Recovery Management Support Recorder (RMSR) . . . . . . . . . . . . 73 73 Reliability, Availability, Serviceability (RAS) 73 Reliability Data Extractor (RDE) 50 relocatable library. . 50,86 relocating loader . . 50 relocation of addresses 44,95 remote job entry . . 64 remote terminal 70 resource protection macro retrieval of data 65 summary of retrieval methods ROE (see Reliability Data Extractor) RJE (see remote job entry) RMSR (see Recovery Management Support Recorder) RPG II compiler . . . . . . . . . . . 103 s SAM (see sequential access method) SCP (see system control programming) security of data . . . . . . self -relocating program . . . . sequential access method (SAM) sequential data organization service program shared virtual area shipment of DOS/VS single-partition system sort/ merge program . source statement library. standard device assignment storage allocation of . auxiliary . . CPU fragmentation of internal. . . . main . . . . . management of . 67 51 56 56 9 81,87 78 23 106 50 16 30,31 55 29 29 29 29 29 Index 135 I organization of . processor real virtual storage allocation in real address area in virtual address area storage fragmentation storage management storage organization sublibrary . sub task . supervisor. . supervisor area . supervisor selection symbolic device name list of SYSCAT SYSCLB SYSIN . SYSIPT SYSLNK SYSLOG SYSLST SYSOUT SYSPCH SYSRDR SYSRES SYSRLB SYSSLB system action system configuration (see configuration) system control programming system generation . system library system logical unit. ! 36 !r:troductioil to DOS/Vi) 23 29 29 29 30 30 29 29 23 50 28 9, 77 24 82,88 14 17 17 17 17 17 17 17 17 17 17 17 17 17 17 71 . 101 77 49 17 system-operator communication SYSVIS SYSOOO ... SYSnnn 71 17 17 T task main. sub teleprocessing access method with POWER temporary device assignment terminal device models supported by DOS/VS track hold function' 28 28 64 44 16 . 113 70 U unit-record device user exit routine. utility program 43 22 . 101 V virtual address area 29 virtual mode · 31,36 virtual storage 29 virtual storage access method (VSAM) · 60,93 virtual storage support · 29,83 62 volume portability . VSAM (see virtual storage access method) 85 VSTAB supervisor macro W wait state 24 Introduction to DOS/VS READER'S COMMENT FORM GC33·5370·2 This sheet is for comments and suggestions about this manual. We would appreciate your views, favorable or unfavorable, in order to aid us in improving this publication. This form will be sent directly to the author's department. Please include your name and address if you wish a reply. Contact your IBM branch office for answers to technical questions about the system or when requesting additional publications. Thank you. Your comments· and suggestions: • We would especially appreciate your comments on any of the following topics: Clarity of the text Organization of the text Accuracy Cross-references Index Tables Illustrations Examples Appearance Printing Paper Binding GC33·5370·2 YOUR COMMENTS, PLEASE ••• This manual is part of a library that serves as a reference source for systems analysts, n programmers and operators of IBM systems. Your answers to the questions on the back of this form, together with your comments, will help us produce better publications for your use. Each reply will be carefully reviewed by the persons responsible for writing and publishing this material. All comments and suggestions become the property of IBM. .... c » ro Z C) ....J: en rZ M1 Please note: Requests for copies of publications and for assistance in utilizing your IBM system should be directed to your IBM representative or to the IBM sales office serving your locality. Fold Fold . ...................................................................................................................... FIRST CLASS :::J .-+ ac. c: "o· .-+ PERMIT NO. 1359 WHITE PLAINS, N. Y. :::J s- o o C/) < C/) BUSINESS REPLY MAIL eneN NO POSTAGE STAMP NECESSARY IF MAILED IN THE UNITED STATES o -..oJ ..,-c POSTAGE WILL BE PAID J3Y ... :;' ~ c. IBM Corporation 11 33 Westchester Aven ue White Plains, N.Y. 10604 :;' c en ~ G) C") ~ Attention: Department 813 U eneN -...! • • • • • • • • • • • • • • • • • • • • • • • • • • • 8 • • e e " . e e • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • ""'f'I"""'eocQ. Fold International Business Machines Corporation Data Processing Division 1133 Westchester Avenue, White Plains, New York 10604 (U.S.A. only) IBM World Trade Corporation 121 Uniied Nations piaza, New York, New York 10017 (International) Fold o ~ GC33-5370-2 :J r+ ~ o c. c o r+ o·:J r+ o C o en < en Ci5 Ul -..J o !IV S ~rnoo ~ International Buslne.. Machines Corporation Data Processing Division 1133 Westchester Avenue. White Plains. New York 10604 (U.S.A. only) IBM World Trade Corpor!!Uon i21 United Nations Plaza,-New York, New York 10017 (lntematlonal) GC335370·2 =' (3 ~ a. c o ~ o ..... o :J o o(f) "< enw (f) -....J o C) () w w tTl w -....J o N International BUllnels Machinel Corporation Data Proceiling Division 1133 Westchester Avenue, White Plains, New York 10604 (U.S.A. only) IBM World Trade Corporation 821 United Nations Plaza, New York, New York 10017 (International)
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.3 Linearized : No XMP Toolkit : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37 Create Date : 2012:05:24 17:29:52-08:00 Modify Date : 2012:05:24 17:57:27-07:00 Metadata Date : 2012:05:24 17:57:27-07:00 Producer : Adobe Acrobat 9.51 Paper Capture Plug-in Format : application/pdf Document ID : uuid:c493d7f8-d896-40b6-884f-df5c6f399020 Instance ID : uuid:f9e7fe7e-a07f-4938-8262-93a48f08231f Page Layout : SinglePage Page Mode : UseNone Page Count : 142EXIF Metadata provided by EXIF.tools