File No. S370-20 Order No. GC20-1800=9

IDl\n \/:u+•• ".1 I\n"n"': ..... ft IDIVI V IIlUQI .Via"'lllIlv Facility/370: Systems Introduction

Release 6 PLC 4

This publication introduces VM/370, and is intended for anyone who is interested in VM/370. However, the reader should have a basic understanding of I BM data processing.

VM/370 (Virtual Machine Facility/370) is a system control program (SCP) that tailors the resources and capabilities of a single System/370 computer to provide concurrent users their one unique (virtual) machine. VM/370 consists of a Control Program (CP), which manages the real computer, a Conversational Monitor System (CMS), which is a general-purpose conversational time-sharing system that executes in a virtual machine, a Remote Communications Subsystem (RSCS), which spools files to and from geographically remote locations, and a Interactive Problem Control System (I PCS), which provides problem analysis and management faci I ities.

The first section of the publication is an introduction; it describes what VM/370 can do. The second, third, fourth, and fifth sections describe the Control Program, Conversational Monitor System, Remote Spooling Communications Subsystem, and Interactive Problem Control System respectively. The appendixes include information about VM/370 publication-to-audience relationship and VM/370-related publications for CMS users.

, This publication is a prerequisite for the VM/370 system library.

--...------.------..------~-y- Page of GC20-1800-9 As Updated Aug 1, 1979 by TNL GN25-0U89

~b Edition (Karch 1919)

This edition (GC20-1800-~ together with Technical Newsletter GN25-0489. dated August 1, 1919, applies to Release 6 PLC 4 (Program Level Change) of IBM Virtual Machine Facility/310 and to all subsequent releases until otherwise indicated in new editions or Technical Newsletters.

Technical changes and additions to text and illustrations are indicated by a vertical bar to the left of the change.

Changes are periodically made to the information herein; before using this pUblication in connection with the operation of IBM systems, consult the latest IB~ System/310 Bibliograph~, Order No. GC20-0001, for the editions that are applicable and current.

It is possible that this material may contain references to, or information about, IBM products (machines and programs), programming, or services that are not announced in your country. Such references or information must not be construed to mean that IBM intends to announce such IBK products, programming, or services in your country.

Publications are not stocked at the address given below; requests for copies of IBK publications should be made to your IBM representative or to the IBK branch office serving your locality.

1 form for readers' comments is provided at the back of this publication. If the form has been removed, comments may be addressed to IBK corporation, VM/370 Publications, Dept. D58, Bldg. 706-2, P.o. Box 390, Poughkeepsie, New York 12602. IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation whatever. You may, of course, continue to use the information you supply.

© copyright International Business Machines corporation 1972. 1973. 1974, 1975, 1976. 1977, 1979 Preface

This publication introduces and describes the IBM Virtual Machine Facility/370 (VM/370) and its components, the Control Program (CP), the Conversational Monitor System (CMS), the Remote Spooling Communications Subsystem (RSCS), and the Interactive Problem Control System (IPCS).

This publication contains five sections and two appendixes:

• "Introduction" describes VM/370, virtual machines, and their applications.

• "Control Program" describes how the VM/370 control program manages the resources of the real computing system.

• "Conversational Monitor System" describes the facilities of CMS: problem solving and program development capabilities for interactive users. • "Remote Spooling Communications Subsystem" describes the functions and organization of RSCS.

• "Interactive Problem Control System" describes the organization and function of IPCS.

• "Appendix A: VM/370 Publication-to­ Audience Relationship"

• "Appendix E: in/370-Related Publications for CMS Users"

The reader must have a basic knowledge of data processing systems and definitions, and an understanding of virtual storage concepts. For information about virtual storage, see the student text publication In!!odYf!i2n !2 !i!!Y~l ~!2!~g~ in ~y§!emLllQ, GR20-4260.

RELATED PUBLICATIONS

~MS £Q!~~n~ GC20-1818 lThese three publications are available as a unit, GBOF-3576 2These three volumes are available as a unit, SEOF-3802

Preface iii In order to use the CPEREP command, the In additicn, all EREP messages are following publications are required: contained in the Q~L!~, ~Q~L!SE, VMLJ1~ !B!l!~B!~B!~! ~~£Q!diBg, !~ltiBg, gBg RflB!lBg (~]EP) ~~§§~~§, GC38-1045.

MISCELLANEOUS

The first publication provides general A complete description of VM/370 information on usage and detailed restrictions is available in !~L11~ ~I§!~! inforaation on command operands applicable ~~§§ggg§ and !~L37~ R!gBB1Bg ~Bg ~§!~! only to VM/370. The second publication Q~B~!~!iQB· Frovides detailed information on the operands that are common to OS/VS, DOS/VSE, Figure 1 is an overview of the VM/370 and VM/370. library, and supplemental support, with the publications grouped acccrding to their Program logic information describing the probable users. interface between CMS and OS/VS EREP, and describing OS/~S EREP, is contained in the References 1n the text tc titles of following: related VM/370 publications are given in abbreviated form. 1]~ !If!yal ~~~~l~ f~£111!IL11~: ~~!l£~ ]2utlB~§ Rf2gfg! Logl£, SY20-0882

iv IBM VM/370 Introduction Virtual Machine Facility/370 (VM/370) Library VM/370 Introduction VM/370 Glossary and (Release 6) Master Index GC20·1800 1201 GC20·1813 1201

VMl370 Terminal User's Guide GC20·1810 1401

Note: VMi370 System Messages V\1 .no SY"ll~111 :\1t· ....'''.!!l .... IS required for all users of GC20-1808 1401 v;rwa! machines.

Support

VM/370 Interactive Problem Con trol System f------,------,------,------._----...... I1PCSI User's Guide GC20·1823 (371 System CMS User Programming

t!1 VM/370 OL TSEP and " Error Recording Guide I VM/370 Planning and GC20·1809 137) VM/370 CMS Use,s I [I VM/370 Operata,s I System Generation ~de ~~ I Guide GC20-1819 1391 GC20-1806 (401 GC20·1801 134) ~ VM/370 System Logic and Problem Determination Volume 1 Control VMi370 Operating VM/370 CMS Command Programs (CP! Systems in a Virtual and Reference Machine SY20·0886 1361 GC20-1818 1361 RSCS User l GC20·1821 1341 VM/370 System Logic and If all documents Problem Determination are to be ordered, Volume 2 Conversational .--__.L..-t_---, please use Order Monitor System (CMS) VM/370 Remote Spooling No. SBOF·3802 SY20·0887 1361 OSIVS and VM/370 I VM!370 System Assembler Programmer's Communications Subsystem I Programmer's Guide VM/370 System Logic and Guide I RSCSI User's Guide GC20·1807 (361 Problem Determination GC33·4021 1211 GC20·1816 1301 Volume 3 Remote Spool'g Communication Subsystem .--__.L..-t_-, (RSCSI SY20·0888 (36) OS!VS-DOS!VS·V!\I1/370 II VMi37C R.i ••", s Assembler Language *~ Guide GC33-4010 1211 GC20·1834 VM ·'370 Data Areas and Control Block Logic SY20·0884 \36i

VM!370 Quick Guide for t VM/370 Service Routines Users Program Logic GX20·1926 1361 SY20·0882 1371 These publications are digests of the formats of VM1370 commands and serv;ce programs. VM!370 Command,; (General User) If all documents are to be OS.'VS and VMf370 ordered, please use Order GX20·1961 1361 Assembler Program No. G80F3576 I Logic VM/370 Command,; SY33·8041 (211 (Other than General Userj 1GX20·1995 1361 t oS.'vs, DOSIVSE, VM/370' I Environmental Recording, Editing, and Printing (E REPI Program :;:23·::::'72 :::- t Lagend: t ~~~~~:nS:a~~~:'~i~3g~0 1.* Indicates that the publication is new in Release 6. Editing, and Printing 2. The number in parentheses is the file number (EREPI Program Logic 3. t Goo.am. informatien en VMl370 EREP support. SY28·0773 (371

Figure 1. Virtual Machine Facility/310 Library

Preface v vi IEM VM/370 Introducticn Page of GC20-1800-9 As Updated Aug 1, 1979 by TNL GN25-0489

Contents

The entries in this Table of contents are accumulative. They list additions to this publication by the following VM/370 System Control Program Product: • VM/370 Basic System Extensions, Program Number 5748-XX8 • VM/370 System Extensions, Program Number 5748-XE1 However, the text within the publication is not accumulative; it only relates to the one SCP program product that is installed on your system. Therefore, there may be topics and references in this Table of contents that are not contained in the body of this publication.

Summary of Amendments. • ix Discontiguous Saved Segments • • • • • 10 Sha red Segmen t Protection. • • • • • • 10 I NTRODUCT ION • • • .1 Virtual Machine Communication Facility 11 VM/370 Components. .1 Switching Control Program. .1 Environments (~1.~8-X~1) • • • • 11 Conversational Monitor System •••••• 1 Remote Spooling Communications CONTROL PROGRAM ••••••••••••• 13 Subsystem ...... 1 Virtual Machine Time Management ••••• 13 Interactive Problem Control System ••• 1 Virtual Machine Storage Management • • • 13 The Virtual Machine. • • • • • • .1 Virtual Storage Preservation (.2748=X!~) 14 Virtual Storage. • • • • .2 Virtual Storage Preservation (.274~=X~1) 14 Virtual Processor. • • • • • • .3 Operating System • • 14 Virtual System Console. • ••• 3 Segments • • • • • • • • • • • 14 Virtual I/O Devices. • • • .3 Paging • • • • • • • • • • • • • 14 Dedicated Dev ices. • • .3 Paging (57~!!=!~1). • • • • • • 14.1 Virtual Disks. • • • • • • ••• 4 Virtual Machine I/O Management • • 15 Virtual Unit Record Devices. .4 Virtual Disks. • • • • • • • • • • • • 15 Virtual Transmission Control Units Channel. • • • • • • • • • • • • 15 (Virtual Lines) • • • • • • .4 Virtual Machine Channel Mode Selection 16 Virtual Channel-to-Channel Adapter .4 DIAGNOSE Interface • • • • • 16 VM/370 Directory. • • • • • • • •• .5 Spooling Unit Record I/O • • • • • 16 LOGON Procedure. • • • • • • • •• .5 Inpu t Spool Files. • • • • • • • 16 LOGON/AUTOLOG and LINK Journaling. .5 Output Spool Files • • • • • • • • • • 17 Virtual Machine Operating Systems. • .5 Adding and Transferring Files. • 17 Su pported Operating Systems. .6 Spooling Virtual Console I/O •• • • 17 Other Programs and Systems. .6 Remote Spooling. • • 17 VM/ 370 Applicat ions. • • • • .6 CP Commands. • • •• •• • • • 17 System Programming • • • .6 Privilege Classes. • • • • • 17 Application Programming. • .7 General Users. •• •• • • 17 Operations • • • • • • • • • • .8 Other Users. • • • • 18 Performance Options. • • • .8 VM/370 Attached Processor Support. • 18 Virtual Machine Assist. • ••• 8 Virtual Machine Communication Facility • 19 VM/370 Extended Contol-Program Support .9 VM/VS Handshaking. • • • • • • • •••• 19 Locked Pages • • ...... 9 Reserved Page Frames •• 9 CONVERSATIONAL MONITOR SYSTEM. • • 21 Virtual=Real • • • • • • • • • ••• 9 CMS Confiquration. • • • 21 Priority Option. • • • • • • .9 CMS . • • • • • • • • • 21 Favored Execution. • • .9 User Disks • • • • • • • • 22 Affinity. • • • • • • • • • .9 File Identification. 22 Fair Share Scheduling <.2148-XX8) •••• 9 File Structure • .. • • 23 Fair Share Scheduling (.2148-!~) •• 9 Initialization and Dump Restore.. • 23 Performance Measu~ement and Analysis •• 9 CMS Command Language • • • • • • • 23 Ertor Recording and Analysis • • • .9 PrOgram De~e16pment and Execution. • 23 Other System Features. • • • • • • .9 Program Compilation and Execution Other System Features (2148-X~1) •••• 10 Commands. • • • • • • • • • • • • • • 23 Virtual Machine Accounting • • 10 Program Compilation and Execution Saved Systems. • 10 Commands (~148=X!~) • • • • • • ••• 24 Shared Systems • • • • • • • 10

Contents vii Page of GC20-1800-9 As Updated Aug 1, 1979 by TNL GN25-0489

Program Compilation and Execution Commands for Transmitting Files. • 29 Commands (5748-Xll) 24 Commands for Controlling the RSCS Language Processors. • 24 Virtual Machine and Remote Stations. 29 Integrated Emulators • • 24 Remote Spooling Communications The CMS Editor • • 24 Subsystem Net work ing. • • • •• • 29 SCRIPT/370 • • • • • • • • • • 25 Control Commands •• • 25 INTERACTIVE PROBLEM CONTROL SYSTEM CMS Tape Label Processing (~148-XX8) • 25 (IPCS). • • • • • • • • • • • 31 Alternating Operating Systems •• • 25 Conditions of Operation ••• • 31 Debugging Fac iIities • • • • • • • 25 Problem Report Generation. • 31 CMS Batch Facility • • ••••• • 25 IPCS Commands. • • • • • • • 31 CMS Batch Facility (~148-XE1). • • 26 Preliminary Considerations • 31 Installing IPCS. • •• • 32 REMOTE SPOOLING COMMUNICATIONS SUBSYSTEM • • • • • • • • • • • • • 27 APPENDIX A: VM/370 The RSCS Teleprocessing Network •• • 27 PUBLICATION-TO-AUDIENCE RELATIONSHIP. • 33 Th e Real processor • • • • • • 27 RSCS Teleprocessing Hardware APPENDIX B: VM/370-RELATED PUBLICATIONS Requirements. • •• • 27 FOR CMS USERS • 37 Remote Stations ••••••• • 27 Gsing RSC5 • • • • • • • • • • • 28 INDEX. • • ... 'j Linking Geographic Locations in the RSCS Network ••••••••••••• 28

viii IBM VM/370: Introduction Page of GC20-1800-9 As Updated Aug. 1r 1979 by TNL GN25-0489

Summary of Amendments for GC20-1800-9 As Updated by GN25-0489 VM/370 Release 6 PLe 4

Channel-set switching Support channel switching via CP's VARY PROCESSOR command or it can occur automatically upon detection of a severe ~: Program and Documentation hardware malfunction on the main (1/0) processor. After the switching For systems equipped with Channel-set operation, VM/370 continues operation in switching, function has been added to uniprocessor' mode. This ~ facili ty VM/370 that allows the operator to enhances the reliability, availability switch channels from one processor of an and serviceability of VM/370. For attached processor system to the other detailsr refer to the topic: "VM/370 processor. The operator can invoke Attached Processor Support."

Summary of Amendments ix Page of GC20-1800-9 As Updated Aug 1, 1979 by TNL GN25-0489

Summary of Amendments for GC20-1800-9 VM/370 Release 6 PLC 1

3800 PRINTING SUBSYSTEM SHARED SEGMENTS

Ne~: Program and Documentation M~~ ~Q £hang~g: Program and Documentation VM/370 supports the 3800 Printing Subsystem as a high-speed printing A new option has been added that device that uses electrophotographic and modifies the protection of shared laser technology. segments.

VM/370 allows virtual machines to attach If the PROTECT option is specified for a the 3800 printer (with full shared system, the user who alters a capabilities) as a dedicated device. In shared page in that system receives a addition, VM/370 supports the 3800 message indicating the named system Printing Subsystem as a real spooling containing the shared page and the device. location. VM/370 places the user in console function mode and returns the modified page(s) to free storage. The next reference to the 3850 MASS STORAGE SYSTEM paqe(s) causes a fresh copy to be paged from storage.

]ew: Program and Documentation VM/370 provides the option of running without protection against changes to V~/370 supports user minidisks on Mass shared segments. If a shared segment is Storage System (MSS) 3330V volumes, specified as unprotected, any changes where the minidisk appears to the will be seen by all other users of that virtual machine to be defined on a shared segment. permanently mounted IBM 3330-1 drive.

MSS volumes may also be dedicated and attached to a virtual machine as either REMOTE SPOOLING COMMUNICATIONS SUBSYSTEM a 3330V or a 3330-1 device.

VM/370 provides a new program product (Remote Spooling Subsystem Networking) LOGON/AUTO LOG/LINK JOURNALING that enhances the networking facilities of the VH/370 system, and allows a VH/370 system to use the Network Job £~~g: Program and Documentation Interface/Network Job Entry (NJI/NJE) protocol. VM/370 now supports a function that will aid in the prevention of unauthorized use of virtual machines and minidisks. HISCELLANEOUS When the new option (JOURNAL operand) is specified, passwords cannot be entered on the same line as the LOGON/AUTOLOG or £h~ged: Documentation only LINK commands. All unsuccessful attempts to do so will be recorded, when Literary and editorial changes have been the threshold has been reached, the made throughout this publication. system administrator is notified. The entire "Introduction" to this publication has been rewritten and should be read in its entirety.

x IBM VM/370 Introduction Page of GC20-1800-9 As Updated Aug 1, 1979 by TNL GN25-0489

Summary of Amendments for GC20-180Q-8 as updated by GN25-0454 VM/370 Release 5 PLC 12

VARY PROCESSOR ONLINE/OFFLINE SUPPORT

New ~B£ Chang~Q: Programming support

VM/370 attached processor (AP) provides support to enhance the reliability, availability, and serviceability of the 158 and 168 attached processors, and the 158 and 168 asymmetric MP systems.

This support allows the attached processor to be taken offline, make needed repairs, and then bring it back online without affecting the main processor.

Summary of Amendments xi Aug 1, 1979

xii IBM VM/370: Introduction Introduction

Virtual Machine Facility/370 (VM/370) is a REMOTE SPOOLING COMMUNICATIONS SUBSYSTEM system control program. It manages the resources of an IBM System/370 in such a way that multiple users have a functional The remote spooling communication subsystem simulation of a computing system (a virtual (RSCS) is a single-user operating system machine) at their disposal. that runs under CP. RSCS executes in one or more virtual machines and transfers data That is, the virtual machine runs as if between virtual machines and remote users. it were a real machine simulating both hardware and software resources of the system. These ,simulated resources can be either shared with other virtual machines INTERACTIVE PROBLEM CONTROL SYSTEM or alternately allocated to each machine for a specifi~d time. Furthermore, virtual machines can run the same or different The interactive problem centrol system operating systems simultaneouslY~---Thus: (IfCS) is a group of commands and controls the individual user can create and adapt that execute under CMS to provide problem his virtual machine to meet his own special analysis and management facilities. IPCS needs. standardizes the process of reporting problems and includes a method for identifying duplicate problems within the system. It also provides the user with the VM/370 Components capability of viewing and diagnosing CP abend dumps through the virtual operator's console. The VM/370 system consists of four components; the control program (CP), conversational monitor system (CMS), remote spooling communications subsystem (RSCS), The Virtual Machine and interactive problem control system (IPCS). Each of these components control its unique part of the system. Together, A virtual machine is functionally these components provide the virtual equivalent to a real system. It has machine with time sharing, remote spooling, simulated hardware and software resources and problem reporting for System/370 that operate in a real computer under CP. uniprocessor and attached processor Each virtual machine is defined in the systems. VM/370 directory; the directory describes its simulated storage, I/O devices, and console.

CONTROL PROGRAM Figure 2. shows three virtual machines executing concurrently under CP on an IBM System/370 model 138, with 1024K of real The control program (CP) executes in a real storage. One machine is doing production machine controlling the resources of that work under the current release of DOS and machine. CP is the vehicle that is used to the other two virtual machines are create concurrent virtual machines. executing CMS: one virtual CMS machine is available for each of two separate conversational users.

CONVERSATIONAL MONITOR SYSTEM

The conversational monitor system (CMS) is a single-user operating system (designed to operate in VM/370) that can execute in one or more virtual machines. CMS provides a wide range of general-purpose, conversational time sharing functions.

Introduction 1 VIRT1

eMS 512K Virtual Storage Real I/O

Model 168

VIRT2

DOS 768K Virtual Storage

Figure 2. Simultaneous Operations of Virtual Machines

Multiple virtual machines permit several • A conversion test from cne operating systems to execute concurrently. Thus, system to another, such as from DOS/VSE production work may be run in one or more to OS/VS1 virtual machines while other virtual machines are executing: • A terminal-oriented conversational system VIRTUAL STORAGE • A remote spooling SUbsystem, which transmits tulk data to and from remote A virtual storage system can simulate real locations stcrage within a range of fro. 8K (8192) bytes to 16 aegatytes (the maximum virtual • A back-release system that executes stcrage size). The virtual storage for application programs below the current each virtual machine is defined in the service level of the producticn system VM/370 directory. • A current-release system with new Virtual storage extends beyond the size program temporary fixes (PTFs) applied of real storage and is not limited by the amount of real storage. It is possible for • A new release or option that needs to be the combined virtual storage of several generated and tested virtual machines to be greater than the real storage.

2 IBM VM/370 Introduction Virtual storage can be managed and devices. In either case, CP converts the protected through segmentation. Each virtual.aadress to its real ccunterpart and segment is 64K and there are from 1 to 256 performs any necessary data translation. segm~nts depending on the size of virtual In addition, VM/310 allows the same virtual storage. address to be used by multiple users. As a storage protection feature for all VM/370 supports several types of virtual machines, page and segment tables virtual-to-real device mappings: are accessitle only to VM/310. One virtual machine operating system can not access or • Dedicated devices alter the virtual storage of another virtual machine. • Virtual disks Refer to the "Control Program" section • Virtual unit record devices VL this publication for more detailed information. • Virtual transmission control units {virtual lines} • Channel-to-channel adapters VIRTUAL PROCESSOR

CP provides each virtual machine a single DEDICATED DEVICES virtual processor to execute instructions and receive interruptions. In actuality, this virtual processor is the shared use of Devices with a one-to-cne correspondence the real processor. CP simulates the between real and virtual are referred to as privileged instructions, and the real dedicated devices. Tape devices are always processor executes the nonprivileged dedicated. The user can dedicate disks, instructions. terminals, and unit record devices to a virtual machine to imprcve the performance of that virtual machine. The 3800 high-speed printer is also supported as a VIRTUAL SYSTEM CONSOLE dedicated device. When a device is dedicated to a virtual In order to communicate with VM/310, there machine, that device is completely must be an interactive I/O device supported controlled by the virtual machine. by the system. Any real terminal supported Dedicated devices can be assigned by VM/310 can become the virtual system dynamically by CP commands, assigned at console. (This can be very beneficial to logon time by directory control statements, the user with a limited system or established by dial-up connections to configuration.) The virtual system console virtual 210x telecommunications control is atle to perform most of the functions of units or virtual lines. Dedicated devices the real system console. Using the virtual are also useful when operating devices system console a user can perform functions that, while available to the System/370, such as initializing an operating system, are not supported by VM/370. starting and stopping program execution, and displaying and changing the contents of registers and storage.

Virtual I/O Devices The 3850 Mass Storage System (MSS) can be dedicated to as many as four virtual machines running on a VM/370 system. The The virtual machine supports the same mass storage control (MSC) in the 3851 Mass devices as a real machine: It is the Storage Facility (MSF) accepts requests for virtual machine, not VM/370, that controls data frcm one to four system/310 them. The I/O configuration must be prccessors. Each of the connections can be defined by the user in the VM/310 directory attached either to a different processor or entries. However, additional I/O to a different VM/370 virtual machine. requirements can be met dynamically by the Other non-MSS virtual machines can run user via CP commands. concurrently. The user also has the option of With MSS, there are available to the assigning different address to his virtual host processor as many as 192 DASD device devices, or using those of the real addresses per DASD control unit. Up to 192

Introduction 3 MSS volumes per control unit may be mounted The minidisk owner can ensure the and online at any given time. Each of security of his disk by specifying a these volumes may be accessed by a virtual password option to his read/write disk or machine for the same purposes that a real he can limit disk access to read-only. To 3330-1 is used. Any virtual machine may avcid updating conflicts, V"/310 gives have access to all or part of an M5S volume write access of a shared disk to one just as though it were a real 3330-1, with virtual machine at a time. However, the one exception: the VM/310 control program user can specifically request multiFle may not use MSS volumes for system access, if he so chooses. residence, paging, or sFooling.

When one or more of the MSCs channel ports is attached to the VM/310 system, the VIRTUAL UNIT RECORD DEVICES volume REALID in Figure 3 can be a MSS 3330V volume. The volume REALID will be dynamically mounted by the system whenever Usually a real unit record device is not minidisk MINI01, MINI02, or MINI03 is kept busy constantly. Thus, the input and required by a virtual machine. output of several virtual unit record devices can be handled by one real unit record device. When setting his configuration, the user can include as many VIRTUAL DISKS virtual unit record devices as he feels he will need. CP controls these virtual devices (as well as the real devices) and Virtual disks are referred to as minidisks uses spooling to temporarily store input because more than one can be assigned to a and virtual output data on direct access full real disk. These disks vary in size storage space. CP then transfers input and can be used by CMS, DOS, or OS. Figure data to the appropriate virtual machine 3 shows three virtual minidisks that are reader and allows a real Frinter or punch assigned to one real 2319 disk volume. to process output from the virtual device. These virtual dis~s can belong to one Spooling is explained further under virtual machine or three different "SFooling Unit Record I/C" in the "Control machines. The user can obtain, through Prcgram" section of this publication. VM/370 distribution, service programs that create and change minidisks.

VIRTUAL TRANSMISSION CONTROL UNITS (VIRTUAL LINES) Virtual Real Cylinder Cylinder Numbers Numbers o o A virtual machine configuration can include a virtual transmission control unit (TCU). o One real TCU can be used to simulate multiple virtual TCUs.

A real TCU cannot be shared by 48 49 concurrently operating virtual machines. o 50 However, by defining virtual transmission control units, a reaI---TCU can be concurrently shared by several virtual 75 machines. 76

VIRTUAL CHANNEL-TO-CHANNEL ADAPTER MINI03

202 The user can define a virtual 126 channel-to-channel adapter (CTCA) with or without a real equivalent. If a real channel-to-channel adapter is dedicated to Note: Each minidisk starts at a virtual machine, that virtual machine can virtual cylinder zero. communicate with a real computing system other than its own real system. However, Figure 3. Real Disk Containing Minidisks if it does not exist, a virtual machine can only communicate with virtual machines in the same computing system.

4 IBM VM/370 Introduction An alternative to a virtual LOGON PROCEDURE channel-to-channel adapter is the virtual machine communication facility (VMCF) which is described triefly in this section under To logon to VM/370, a user enters (via a the topic "Other System Features." keytoard terminal device that is connected to the VM/370 system) a valid userid and a password. This and other information in the user's directory enables VM/370 to VM/370 Directory create a virtual machine that is tailored to the individual user. The VM/370 directory is a file containing Figure 5 illustrates a legon procedure entries for all potential virtual machines. for user "USER1". The user enters the These entries contain control statements userid. the system responds and then that define each virtual machine and its' for the password to be entered. (For configuration. It contains the user security purposes this password is masked.) identification and password~ as well as the CP verifies the userid and rassword= The CP command privilege class assigned to the user is then notified by a CP response that user. he is logged on. After successfully logging on the system, the user may load Other optional information can be any supported operating system and proceed. included such as performance and operating parameters. /370 online logon USER1 ENTER PASSWORD: USER VIRT1 VIRT1 512K 1M G LOGON At 11:03:18 ON WEDNESDAY 11/29/78 ACCOUNT 55 SYSPRG CONSOLE 009 3215 ipl cms SPOOL OOC 2540 READER A SPOOL ODD 2540 PUNCH A SPOOL DOE 1403 A Figure 5. Logging onto VM/370 and Loading MDISK 191 3330 001 001 CPR6L1 R CMS LINK MAINT 194 194 RR Figure 4. Sample Directory Entry LOGON/AUTCLOG AND LINK JCURNALING

The security journaling opticn, specified Figure 4 describes a virtual machine during , dces not allow with a user identification of VIRT1, a passwords for the LOGON/AUTCLOG and LINK password of VIRT1, a normal virtual storage commands to be entered on the same line as size of 512K, and a maximum virtual storage the command. size of 1M. The account number is S5 and the separator identification is SYSPRG. If the security journaling option is The virtual I/O device configuration specified, and the legen attempt is consists of the system console at 009 and unsuccessful, these attempts are recorded sFooled unit record devices at virtual and the system administrator is notified devices addresses OOC, DOD, and ODE. Spool via messages. output class A is assigned to all devices. The LINK statement indicates this virtual machine has a read-only access to a minidisk defined to another virtual Virtual Machine Operating Systems machine. One permanent 3330-series mini disk is also defined. While the control program of VM/370 manages When a user gains access to the VM/370 the concurrent executien of the virtual system, a virtual machine is created based machines, it is also necessary to have an on the information in the user's directory operating system manage the work flew entry. within each virtual machine. Because each virtual machine executes independently cf other virtual machines, each one can use either a different operating system er different releases of the same operating system.

Introduction 5 SUPPORTED OPERATING SYSTEMS

Figure 6 lists the operating systems that Multiple-access systems, such as VM/370, can execute in virtual machines. execute in one virtual machine and directly service many interactive terminals. To connect a terminal with the virtual machine, the user of a multiple-access Batch or Single-User Interactive system issues the DIAL command instead of DOS the LOGON command. DOS/VSE as/pcP Once his terminal is connected, the user OS/MFT issues only the commands associated with OS/MVT the multiple-access system. For example, OS/V~1 the DIAL command connects the user's OS/VS2 terminal with a VM/370 system executing in OS-ASP a virtual machine under VM/370. Once his RSCS terminal is connected, the user communicates only with that particular Multiple-Access version of VM/370. VM/370 of as B2!~: When using the DIAL command, the user may not log onto CP. Therefore, the CP Conversatienal commands cannot be used unless the system CMS logged onto is a virtual VM/370. Figure 6. Virtual Machine Opera ting Systems OTEER PROGRAMS AND SYSTE~S With the exception of as/pcP, these are all mUltiprogramming systems. However, For information atout ether programs and when operating in a virtual machine under systems that have been used under VM/370, VM/370, the user has the choice of running request information on Installed User multiple partitions in one virtual machine Programs (IUPs) and Field Developed (similar te stand-alone operation) or Prcgrams (FDPs) from your local IEM branch single partitions in multiple virtual office. machines. When running multiple partitions in one virtual machine, multiprogramming and unit record spooling is done by both the operating system and VM/370. When VM/370 Applications running single partitions in multiple virtual machines, the need for multiple virtual storages places a burden on Using VM/370, an installation can perform auxiliary storage. However, this can be its work more efficiently and easily. alleviated ty using shared systems. Shared Virtual machine applications aid in systems are discussed further en in this programming, operations, and interactive section. use.

SYStEM PROGRAMMING

Systems that can be executed interactively An interactive virtual machine environment ty a single user include the conversational provides these advantages for system monitor system (CMS) and any opera ting prcgramming: system that can execute in a virtual machine. A time-sharing environment is • Reducing the amount of hands-on testing created when VM/370 creates multiple time en the real machine thereby virtual machines, each controlled by the reducing the requirements for off-shift same operating system. These systems testing operate concurrently with each other as well as with other conversational or batch • Testing new or modified SVC routines in systems. a virtual machine • Applying and testing PTFs en a virtual machine

6 IEM VM/370 Introduction • Generating and testing in a virtual • . Debugging from a terminal while under machine either new independent component operating system control releases (ICRs) or new releases of an operating system • providing faster turnaround time, more test periods per day, and a shorter • Debugging from a hands-on console (a development cycle terminal device) as though on a dedicated real machine • Designing application programs without real storage limitaticns • Defining minidisks and other virtual APPLICATION PROGRAMMING devices to design ana test a slightly different or larger machine configuration before installing the An interactive virtual machine environment hardware provides these advantages for application programming: • Using SCRlPTj370: an Installed User Program ClUP) for text preparation, to • Using the CMS editor to create source create and upaate program specifications programs and data files • Using the CMS UPDATE command and the CMS editor to maintain source programs and data files

Figure 7. Virtual Machines Running Concurrent producticn, Development, and Testing

lntr~oduction 7 OPERATIONS Performance Options

An interactive virtual machine environment The performance of any computing system is relieves problems of scheduling, support, judged ty how efficiently it processes the and tackup and expedites production. Some work it has to do. of these operational advantages are: VM/370 offers the following performance • Training operators in a virtual machine options to enhance the operating efficiency that is isolated from production virtual of one or more virtual machines. The machines performance options are: • Providing a shorter training period • Virtual machine assist • Defining a virtual machine and its • VM/370 Extended Control-Program support devices as backup to another real machine • Locked pages • Running different types of work • Reserved page frames concurrently on a single real machine • Virtual=real • Reducing the manual handling and scheduling of user test periods by the • Favored execution operations staff -- users run their own virtual machines • Priority • Executing lIany types of batch • Affinity in an attached processor applications with no change to the environment prograll either in an individual virtual machine or in a virtual machine For detailed information concerning dedicated to executing progra.s in batch these performance options, refer to !!Ll1Q mode. QE~!atQ!~§ gy!£~ and !~Ll1Q ~l~~~!~g ~nd ~l§!~! g~~era!!2~ guide. A possible combination of virtual machines in a VM/370 configuration is shown in Figure 7. Operating system testing is done concurrently with batch work and a VIRTUAL MACHINE ASSIST variety of conversational applications. When an operating system is run in a virtual machine under VM/370 it is dispatched by CP in the problem state. All privileged instructions issued by the operating system cause program interrupts An installation using VM/370 has more and CP must siaulate the desired effect of flexitility in using another System/370 the operation. The virtual machine assist computing system for backup. Neither the feature performs many of the privileged salle System/370 model nor the salle amount instruction simulation functions without of real storage have to be part of the the virtual machine leaving the problem tackup system. state. the result is a considerable reduction in overhead. Virtual machine The backup system must include, but is assist may be considered a prerequisite to not limited to, the same type and number of running production jobs under an operating real devices as these virtual machines system in a virtual machine. require. Also, the backup system must have a sufficient number of direct access The system operator enables or disables storage drives so that the user volumes can ~virtual machine assist via a command. te mounted. However, if the function has been enabled for the system, the user has the choice of Because the virtual devices defined for setting it off for his maChine, and later the virtual machines are not assigned to setting it on again. specific real devices until execution time, the installation need not be concerned with device addresses.

8 IBM VM/370 Introduction VM/370 EXTENDED CONTOL-PROGRAM SUPPORT FAVORED EXECUTION

VM/370 Extended Control-Program support is The favored execution option provides a a hardware assist function that is particular virtual machine an assured available on certain VM/370 supported percentage of real processor time. processors. This hardware . assist function, when used with the virtual machine assist function, further reduces VM/370 real time to support virtual machines, thus adding AFFINITY improved performance to the VM/370 system.

Under the normal attached processor, either LOCKED PAGES prccessor can handle the virtual machine execution. However, with the affinity caFability, only the sFecified processor The system operator can, by use of a will allow virtual machine execution.

~VWWQllU,------~ ,--~~V~A ---~-~-~~~~a~ll -~-~--,v~~~ua~ ~~v~ay~-~----­ ~ay~~ into real storage. This is done to eliminate paging activity on these pages, thus reducing virtual storage. PERFORMANCE MEASUREMENT AND ANALYSIS

RESERVED PAGE FRAMES The VM/370 control program has two commands that cause CP to collect and disFlay performance related data. A more flexible approach than locked pages is reserved page frames. The system The MONITOR command gathers data operator assigns a certain number of page relating to most aspects of system frames to a specified virtual machine. The performance and writes the data on taFe cr pages are not locked into these page speol file. When the data is reduced, it frames. Pages can be paged out, but only may indicate the conditicns contributing to for other active pages of the same virtual performance degradation. machine. The INDICATE command displays, at the terminal, some key infcrmaticn about the system to show the current performance VIRTUAL=REAL conditions. INDICATE displays the system ccnditions existing at the time it is issued. The virtual=real option can be assigned during system generation. With this option f a virtual=real area is allocated Error Recording and Analysis directly from storage when VM/370 is initially loaded, and that area remains allocated unless it is released by the Operating systems that commonly run in system operator. virtual machines write errcr records to the error reccrding data sets. However, in a The virtual=real option improves virtual machine CP intercepts the errcr, performance in the selected virtual machine and VM/370 records the error in its own because CP no longer has to perform paging error recording cylinders. Therefore, operations. error records from all cperating systems reside in this one centralized error recording area.

PRIORITY OPTION Other System Features The priority option affects the execution of a particular virtual machine as compared Besides error recovery and CP command with other virtual machines that have the features, VM/370 contains several other same characteristics. A priority value features that expand the caFabilities of assigned to a virtual machine is used, in operating systems running in virtual combination with other factors, to machines. They are: influence the dispatching algorithm. The lower the value, the greater the percentage • Virtual machine accounting of processor time given the virtual • Saved systems machine. • Shared systems

Introduction 9 • Discontiguous saved segments The greater the number of virtual • Shared segment protection machines that are using a shared system, • Virtual machine communication facility the greater the storage savings, and the greater the probability that the shared page(s) will be frequently referenced. Frequently referenced pages tend to remain VIRTUAL MACHINE ACCOUNTING in real storage, thereby reducing paging activity. Less paging activity increases the efficiency of the prccesscr. VM/370 keeps track of a virtual machine's usage of system facilities and punches accounting cards whenever the use of some chargeable resource is terminated. For DISCONTIGUOUS SAVED SEGMENTS operating systems that do not have job accounting, this would be one way of having VM/370 gather job accounting data. Discontiguous saved segments (DCSS) are similar in many ways to saved systems. When accounting data records are ncss must have been named, loaded, and generated, CP stores them in real storage. saved as when saving a system; they must These records remain there until they are also be loaded at an address higher than punched on the real punch. the highest address of the virtual machine using it. ncss can be logically attached by a SAVED SYSTEMS virtual machine whenever needed and detached when not needed. The CP instructions required to perform the When initially loading an operating system linkage must be part of the virtual into a virtual machine by device address, machine's operating system. VM/370 reads the resident nucleus into real storage and writes it back out to the ~Q1~: Systems using DCSS cannot be loaded system paging device. Simultaneously it into the virtual=real area of VM/370. An updates the virtual machine's paging attempt to do so results in an error tables. message. To save the results of an IPL at a predetermined peint (by the type of operating system), VM/370 allows an SHARED SEGMENT PROtECTION installation to assign this saved system a name. The mode of shared segment protection may Note: Saved systems cannot be loaded into be specified at system generation time. the virtual=real area of VM/370. An attempt to do so results in an error With shared segment protection, VM/370 message. protects the multiple users of shared segments from any intentional or inadvertent alteration of the shared segment's code or data. Before CP selects SHARED SYSTEMS a new user to be dispatched, it checks whether or not the current virtual machine has altered any pages in shared segments. A saved system can also reentrant If so, CP places the virtual machine in portions of its virtual storage among many console function mode, returns the altered concurrently operating virtual machines. page to free storage, and prepares a fresh copy of the shared page for the remaining In a uniprocessor environment, shared system users. regardless of the number of virtual machines using the shared segments, only Without shared segment protection one copy of the pages in the shared segment specified for a named system, changes made need ever occupy real storage and external by a user to pages in shared segments of page storage. In an attached processor the system remain undetected by the VM/370 environment, there will be one copy of the control program. All users of the pagels) in the shared segment per unprotected shared segment will see the processor. This reduces the total real change. storage and auxiliary storage required.

10 IBM VM/370 Introduction Installaticns choosing to run with VIRTUAL MACHINE COMMUNICATICN FACILITY unprotected shared segments should carefully evaluate these segments to ensure that they contain read-only information. The virtual machine communication facility The unprotected option for shared segments (VMCF) allows one virtual machine to will eliminate the overhead involved in communicate and exchange data with other scanning for changed pages in bOtn virtual machines operating under the same uniprocessor and attached Frocessor VM/370 system. A more detailed description systems, in switching page table pointers, of VMCF can be found in the "centrol and in maintaining duplicate copies of Prcgram" section of this Fublication. shared systems in an attached Frocessor environment.

Introduction 11 12 IBM VM/370 Introduction Control Program

CP (the control program of VM/370) creates CP allows a virtual machine to gain and controls virtual machines~ A virtual access to the real processor only if the machine is the functional equivalent of a virtual machine is not waiting for some real computing system. Executing a program resource or activity, such as: in a virtual machine produces exactly the same output as executing that program on a • A page of storage to be loaded from real machine. auxiliary storage into real storage

When a user logs on VM/370, CP creates a • An input/output operation to be virtual machine for him. Based on translated, begun, or completed information stored in the VM/370 directory, CP creates a virtual machine with specific = A CP command to finish executing amounts of virtual storage and virtual devices. The command privilege classes allowed for the virtual machine and optional support (such as, extended control Virtual Machine Storage mode) are also determined by each virtual Management machine's entry in the VM/370 directory. Each virtual machine has storage associated CP controls the resources of the real with it; the amount of storage is defined computer to provide multiple virtual in the VM/370 directory. Each virtual machines. CP intercepts, translates, and machine functions as if it has a large schedules all of the real input/output amount of real storage. However, each operations of the virtual machine. All virtual machine's storage is created and virtual machines execute in problem state, controllea by CP as virtual storage. The and the control program traps and processes virtual machine's storage can be larger or interrupts and privileged instructions. smaller than the storage of the real Only CP executes in supervisor state. machine.

The directory entry contains two sizes for each virtual machine: its normal size Virtual Machine Time Management and a maximum size. The normal size must be at least 8K (8192) bytes. The maximum size must be no larger than 16 megabytes. Although virtual machines appear to their Both sizes must be multiples of 4K (4096). users to be executing instructions, it is When a user logs on, his virtual machine the real processor that is actually doing storage size is the amount of storage the work. defined as the normal size. However, the user can temporarily redefine his virtual VM/370 uses a technique called time storage size to any value that is a slicing so that one real processor appears multiple of 4K (4096) and not greater than to be multiple virtual processors. Each his virtual machine's maximum size. virtual machine periodically gains access to the real processor for a small amount of Storage in the virtual machine is time, called a time slice. CP determines logically divided into 64K (65,536) byte how frequently and for how much time a areas called segments. These are further virtual machine gains access to the real divided into 4K byte areas called pages. processor by examining the number of For each virtual machine, CP creates and console requests, or terminal interrupts, updates a set of segment and page tables to the virtual machine has issued during its describe the virtual storage and to reflect past time slices. If the number is large, the allocation of the virtual storage pages CP defines the virtual machine as a to page frames in real storage. These conversational user and assigns it the tables are used ty the Dynamic Address smaller of two possible time slices. If Translation feature during virtual machine the number is small, the virtual machine is execution to locate the real storage a nonconversational user and is assigned addresses to which the virtual storage the larger time slice. CP gives add_resses actually refer. conversational users more frequent access to the real processor for short time slices, while it g1ves nonconversational users larger time slices at less frequent intervals.

Contrel Program 13 OPERATING SYSTEM specified at system generation. For a protected shared segment, if a user attempts to alter a page in a shared The operating system ~ontrolling a virtual segment the user receives a message machine may execute 1n extended control informing him of an integrity violation and mode. This means that an operating system his virtual machine is placed in console can create and control its own virtual function mode. For both protected and storage, in addition to the virtual storage unprotected shared segments: Whenever a it has which is controlled by CP. The user issues a command that alters a shared virtual machine operating systems that can segment, the user is unshared from the do this are: OS/VS1, OS/VS2, DOS/VS, and shared segment and given a private copy of VM/370. (VM/370 can create several virtual the segment including the altered page. storages at once.) In the following example, OS/VS1 is used to illustrate how Noncontiguous segments can be attached an operating system handles the virtual to and detached from virtual machines. storage it creates, and how this is They can be shared or nonshared. different from the virtual storage that Noncontiguous segments may be within the VM/370 creates for a virtual machine. virtual machine's defined storage, appended to the end of its virtual storage, or OS/VS1 creates and controls a single loaded at addresses beyond its virtual virtual storage. It creates and updates a storage. VM/370 supports noncontiguous set of page and segment tables that relate segments for CMS; in this case, the this virtual storage to the virtual storage addresses of the nonccntiguous segments of the virtual machine. In VM/370, "first must be greater than the highest address in level storage" refers to real storage, the virtual machine that is attaching them. "second level storage" refers to virtual For a description of shared segments, machine storage, and "third level storage" noncontiguous segments, and named systems refers to the virtual storage created and see the .!~L37.Q ~I2!~ pr.Q.9f:2J!.!er'§ Guide. controlled by the virtual machine. When OS/VS1 is executing, instructions and data from third level 'storage must be available to the process~r. Thus the real machine PAGING cannot use the page tables created by OS/VS1 nor the page tables created by CP. The real machine must have a set of page The storage of the real system/370 is and segment tables that relate third level physically and logically divided into 4K storage to first level storage. CP byte areas called page frames. When a page dynamically constructs and updates such of virtual storage is brought into real tables, called shadow tables. CP has a stcrage, it fits exactly into a page frame. single set of shadow page tables for any one virtual machine. A single set is all Paging is done on demand by CPa This that is necessary for OS/VS1, OS/VS2, or means that a page of virtual storage is not DOS/VS. read (paged) froll the paging device to a real storage page frame until it is However, when VM/370 itself is used as a actually needed for virtual machine virtual machine operating system, it can execution. Paging operations are initiated create multiple virtual machines, each with and performed by CP and require no action its own virtual storage. In this case, the by the virtual machine. shadow tatles are invalidated by CP whenever it passes control from one virtual The heavily used portions of VM/370 are machine to ancther. kept in real storage. Hewever, to optimize real storage usage only virtual storage pages that are referred to frequently are kept in real storage. A page can be SEGMENTS brcught into any available page frame during CP program execution. One or more segments of virtual storage can Inactive pages are stored on a direct be shared among virtual machines. The access storage device. If an inactive page information tc be shared must be read-only; is changed at some time during virtual it may be data or reenterable program machine execution, CP assigns it to a modules. The information to be shared must paging device, selecting the fastest one be part of a monitor or operating system with available space. If the page is net (for example, CMS) that has been recorded changed, it remains allocated in its or saved on a CP-owned volume. original direct access locations and is paged into real storage frem there the next The protected or unprotected status of a time the virtual machine refers to that system containing shared segments is page.

1U IBM VM/370 Introduction Virtual Machine I/O Management the virtual .achine gains control, CP gives it ~ suitable condition code (as cn a real machine) to indicate the status of the The virtual machine operating system is Start l/C operation. In addition, CP responsible for the operation of all reflects the interrupts caused by the virtual devices associated with it. These input/output operation for its virtual devices may be defined in the interpretation and-processing. VM/370 directory entry of the virtual machine, or they may be attached to (or Interrupts indicating that an !SS detached from) the virtual machine while it cylinder fault has occurred, and that a remains logged on. Virtual devices may be cylinder fault has been resolved, are dedicated, if they are assigned to a fully passed to the virtual machine only if the equivalent real device; shared, if a virtual device is defined as a 3330V. minidisk is linked by more than one virtual machine; or spooled by CP to intermediate If input/output errors occur, CP does direct access storage. not initiate error recovery operations; these are the responsibility cf the virtual When os executes in a real machine operating system. Basic error input/output operations are initiated when recording is, however, provided by CPa For a problem program requests as to issue a more information on errcr processing, see Start I/O instruction to a specific device. the !~L11~ OL!SEg ~~~ Erfor Recording Device error recovery is handled by the Qy!Q~· operating system. In a virtual machine, as can perform these same functions, but the The programs to he executed in a virtual device address specified and the storage machine (except a virtual=real machine) locations referred to are virtual. CP generally must not include dynamically translates the virtual addresses to real modified channel programs. These and other addresses. restrictions that apply to virtual machines are discussed in the !]LJ1Q Pl~~~ing ~~g Because the virtual machine executes ~1§!~~ Q~~~~g!io~ Quig~. cnly in virtual (not real) supervisor state, CP gains control when the start I/O instruction is issued by the virtual machine operating system. CP copies into VIRTUAL DISKS its own work area the channel command list specified by the operating system, and pages into real storage all virtual storage Virtual disks, often called minidisks, can locations required for data transfer. The be shared by several virtual machines. specified pages are fixed in real storage Virtual disk sharing is specified in the until the input/output operation completes. V!/370 directory entry or by a user If a single channel coamand word specifies command. If the user issues the CP LINK a data area extending over multiple pages command to share a virtual disk, he must of contiguous virtual storage~ CP generates su~plv the a~propriate tasswcrd before be channel programs that use channel indirect ca~-gain acce~~ to the virtual device. data addressing to handle noncontiguous page frames. If the virtual device is a ! particular virtual machine may be minidisk, CP modifies any cylinder numbers assigned read-only or read/write access to specified to reflect the true location of a shared virtual disk. CP checks each the data. CP assigns the virtual device virtual machine input/output operation address to the real device and schedules an against the specifications in the virtual actual input/output operation. machine configuration to ensure device integrity. When an I/O device is a Mass Storage System (MSS) 3330V, but the virtual device Virtual disks may be defined for is defined as a 3330-1, CP places a prefix temporary use by a virtual machine. In on the actual channel program. This prefix that case, CP allocates real disk storage allows CP to determine when an MSS cylinder to the virtual .achine until the virtual fault occurs and queue the I/O operation machine logs off or specifically detaches until the cylinder fault is corrected. the temporary virtual disk. This operaticn is transparent to the virtual machine. However, if the virtual device is defined as a 3330V, no prefix is added to the channel prog:rCl_m and cylinder CHANNEL faults must be processed by the virtual machine. A virtual machine may be assigned a During this processing, CP designates dedicated channel, via the ATTACH CHANNEL the virtual machine as not executable. When command. If a virtual machine is assigned

Control Program 15 a dedicated channel, it has that channel environment, and uses this interface and all of its devices for its exclusive instead of the nor.al Start I/O instruction use. CP translates the virtual storage for most of its input/output operations. locations specified in channel co.mands to When the Diagnose interface is used, CP real locations and perfor.s any necessary handles input/output error recovery paging operations, but does not need to operations. translate any device addresses. The virtual devices on a dedicated channel .ust Input/output operations initiated by CP have direct, real equivalents (for exa.ple, for its own purposes, for example, paging mini disks are not allowed), and the virtual and spooling, are perfcrmed directly and and real device addresses .ust be are not subject to the translation process identical. A channel dedicated to a described in the preceding paragraphs. virtual machine cannot be used by any other virtual .achine. Virtual .achines may have For a description of how virtual a mixture of dedicated and nondedicated .achines running under the same VM/370 channels. system can co.municate and exchange data, see "Virtual Machine Communication Facility" in this section.

VIRTUAL MACHINE CHANNEL MODE SELECTION Spooling Unit Record I/O Virtual machine SIO (start I/O) operations are simulated by CP in three channel .odes: byte multiplexer, selector, and block CP spooling facilities allow multiple multiplexer. virtual machines to share real unit record devices. Since virtual machines controlled Virtual byte multiplexer channel mode is by CMS ordinarily have lcw requirements for reserved for I/O operations for devices unit record input/output, real device allocated to channel zero. sharing is advantageous, and is the standard mode of system operation. Selector channel mode, the default .ode, is the mode cf operation for any channel CP, not the virtual machine, controls that has an attached channel-to-channel the unit record devices that are designated adapter (CTCA), regardless of the selected as spooled in the directory entry. When channel mode setting. Because the CTCA is the virtual machine issues a Start I/O treated as a shared control unit, it must instruction to a spocled unit record be connected to a selector channel. device, CP intercepts the instruction and modifies it. CP .oves the data into Block multiplexer channel mode allows page-size records (that is, 4096-byte the virtual machine's operating system to blccks) on a VM/370 disk area that serves overlap SIO requests to multiple devices as intermediate storage between the real connected to the same channel. For a unit record device and the virtual machine. virtual machine in block multiplexer mode, CP simulates a real block multiplexer operation. INPUT SPOOL FILES ~gte: CP simulation of block multiplexing dces not reflect channel available interrupts to the user's virtual machine. Input spool files, that is, data available at a virtual card reader, can be created The selection of block multiplexer from real card decks. The real machine channel mode or selector channel mode is operator places the card deck in the input effective regardless of the real channel hopper of the real card reader. The real devices on the System/370. The channel card deck must be preceded by a USERID card operating mode is selected via the CP that names the virtual machines to receive DEFINE command in the VM/370 directory the card deck. entry for a virtual machine. Input spool files can also be created by using RSCS remote work stations. The operator at the remote work station must DIAGNOSE INTERFACE place a card deck in the hopper of the remote card reader. This card deck must be preceded ty a USE RID card that names the A virtual input/output operation by CP can RSCS virtual machine and the virtual be simplified if the virtual machine uses machine that is to receive the card file. the DIAGNOSE interface. CMS was designed In this way, cards at a remote location can specifically for the virtual machine be made available to any virtual machine.

16 IBM VM/370 Introduction Page of GC20-1800-9 As Updated Aug 1, 1979 by TNL GN25-0489

OUTPUT SPOOL FILES Remote Spooling output spool files are created on direct CP, in conjunction with RSCS, supports access storage when the virtual machine remote spooling, that is, RSCS transmits operating system writes to a virtual punch files across a teleprocessing network. The or printer. Real output is scheduled for a "Remote Spooling Communications Subsystem" real printer or punch, or for remote section describes RSCS and how it is used. out put, whenever a user logs off the system or issues a CP CLOSE command. CP Commands ADDING AND TRANSFERRING FILES CP commands are used interactively by operators and systems personnel to control If the direct access storaqe space assiqned the real computing system and VM/370, and to spooling becomes full; spooling stops by users to control virtual machines and and the virtual unit record devices appear their operating systems. to be not ready. The spooling operator must make additional spooling space CP commands can be used at any time, available. He can purge existing spool without regard to which operating system is files or assign additional direct access controlling the user's virtual machine. To storage space for spool files. issue CP commands, the user must first suspend execution in the virtual machine by Specific files can be transferred from signaling an attention interrupt to the spooled card punch or printer of a VM/370's control program; a virtual machine virtual machine to the card reader of the attention interrupt is equivalent to same or another virtual machine= (A pressing the stop button on a real virtual card reader is not limited to computing system. However, the eMS user 80-character records.) Files transferred can 1ssue CP commands without leaving the between virtual unit record devices by the CMS environment, that is, without signaling spooling routines are not physically an attention interrupt. punched or printed. The CP spooling support can make files available to multiple virtual machines, or to different operating systems executing at different Privilege Classes times in the same virtual machine.

CP can print multiple copies of a single Each user of VM/370 is assigned one or more spool file, backspace any number of printer privilege classes as part of the directory pages, and define spooling classes for real entry of his virtual machine. The output files. privilege classes aer1ne the subset of CP commands that each user can execute. See Figure 8 for a concise description of each privilege class. Spooling Virtual Console I/O

CP allows the user to spool his virtual GENERAL USERS machine's console input/output on disk, instead of, or in addition to, having it displayed at his terminal. The data A general user can issue commands that spooled includes messages from or to the control functions associated with the virtual machine operating system, CP execution of his virtual machine. commands entered by the user, CP messages and responses, and messages from or to the A complete list of the general user system operator. Console spooling is commands and their descriptions, are invoked by the SPOOL CONSOLE command. It located in the !~L37Q CP ~Q~~~B£ B~ier~£g is particularly useful when the virtual for GeQ~£~l g§~£§. machine is executing with the terminal disconnected, because the virtual console output, whiCh would otherwise be lost, is saved on disk. The saved data is later printed on the real printer. When a console spool file is closed, it becomes a printer spool file.

Control Program 17 Page of GC20-1800-9 As Updated Aug 1, 1979 by TNL GN25-0489

r -----, Class 1 User Function I --1------I Al ,Primary system operator To be responsible for the avail- , I Note: The class A user ability of the VM/370 system, its , I who is logged on at CP communication lines, and resources., , initialization is In addition, the class A user , , designated as the controls system accounting, broad- , I primary system operator. cast messages, virtual machine per- I formance options and all other I commands that affect the overall I performance of VM/370. ---I , BI I System Resource Operator To control all the VM/370 real , resources, except those controlled , by the class A or class D user. ------1------, System Programmer To update certain functions not I controlled by other privileged I class users. ---I DI I Spooling operator To control all spooling data and I specific functions of the unit 1 record. devices. -----I I System Analyst To examine and save specific data I in the VM/370 storage area. 1---1 1 FI I Service Representative To obtain and examine, in detail, I I certain data concerning the I/O I I devices connected to the VM/370 I I system. I 1------.------I G2 t General User Control functions associated with 1 I the execution of the users virtual 1 I machine. 1----1 1------I Any2 1 Any User I Gain and relinquish access to the I 1 , VM/370 system. , 1------,------·------I H I Reserved , Reserved for IBM use only. I I 1------, IDescribed in the !~L370 OE~~1Qr's Gui~~ I 2Described in the VM/370 CP Command Reference for General Users L ______~======~ ____ _J Figure 8. CP Privilege Class Descriptions

OTHER USERS systems provide. This mode of operation is called attached processor mode. In this mode, two instruction processors Users. other than the general user, can simultaneously execute multiple tasks from perform additional functions by issuing a common queue while sharing the same main commands to dynamically provide VM/370 storage. performance options, to terminate a particular virtual machine and many other With attached processor mode, the main similar functions. processor controls and performs all I/O activity. In the event of a severe nonrecoverable malfunction in the attached VM/370 Attached Processor processor hardware, VM/370 may continue operations with the main processor Support executing in uniprocessor (or one processor) mode. (Note, the main processor On systems that are either an attached is the processor equipped with channel and processor complex or an asymmetric 10 devices.) If the system complex multiprocessor complex, VM/370 has a mode supports Channel-set Switching, and a of operation that takes advantage of the severe nonrecoverable hardware error is additional computing power that such associated with the main processor, the

18 IBM VM/370 Introduction Page of GC20-1800-9 As Updated Aug 1, 1979 by TNL GN25-0489 system may still be able to perform in availability and serviceability (RAS). RAS uniprocessor mode. It does this by is enhanced because main components of a dynamically switching the channel set (all system complex can be placed offline for active channels of the main processor) to system repair or upgrade at a time that the other processor, thereby, utilizing the minimally impacts system operations. attached processor as the main processor. Later, when the full resources of the system are needed and available, the This flexibility of system operation, processor can be varied online and attached along with CP's VARY ON/OFF PROCESSOR processor mode reestablished. command, facilitates system reliability,

Control Program 18.1 Aug 1, 1979

18.2 IBM VM/370 Introduction Virtual Machine Communication systems running as virtual machines under Facility VM/370: The virtual machine communicatien facility • DOS/VS Release 34 Advanced Functions -­ (VMCF) allows one virtual machine to DOS/VS program product (program number communicate and exchange aata with any 5746-XE2) other virtual machine operating under the same VM/370 system. • VS1 Release 4 and subsequent releases

This is accomplished via a DIAGNOSE To improve their operation with VM/370, instruction utilizing a special parameter the operating system and CP make each other list. VMCF locks one data page for the aware ef mutual capabilities or sender and ene for the receiver during the requirements. Systems generated to use transfer. As a result, data transfer is VM/VS handshaking may have the dual ability faster because VMCf moves information LV run both in a real machine and in a directly from the sender's virtual storage virtual machine. Virtual machine systems to the receiver's virtual storaqe. The that have VM/VS handshakina can more transfer does not involve devices because realistically ~imulate the ~peration of VMCF uses user ids to logically address data their real machine. from one virtual machine to other virtual machines. VM/VS handshaking consists of:

A virtual machine can have one to 50 • Closing CP spool files when job output active communications going on with other is complete. This allows VM/370 to virtual machines. The amount of data that immediately process these output files can be transferred in a single oFeration is without operator intervention. limited only by the virtual storage size of the virtual machines involved in the • processing pseudo page faults. When the transactione pseudo page fault handling portion of handshaking is active r one task can be A more detailed description of VMCF dispatched while another is waiting fer functions and how they can be invoked in a a page to be brought inte real storage. virtual machine is contained in the Y~Lll~ ~y§!~~ REQgE~~~~E~§ Q~!g~. • providing a non-paging mode to eliminate duplicate paging. • providing a way te avoid a pcr VM/VS Handshaking (program-controlled interruption) in a ETAM autopoll CCW 100F. VM/VS handshaking is a communication path • providing miscellaneous enhancements between the central program (CP) component when running under VM/370. of VM/370 and the following operating

Control Program 19 20 IBM VM/370 Introduction Conversational Monitor System

The conversational monitor system (eMS) is cannot be dedicated to the CMS machine a major component of VMj370. Together with because CMS has no unit record error the control program of VMj370, it provides recovery procedures. a time-sharing system suitable for direct problem solving and program development. CMS supports tape devices, but disk eMS is an operating system that executes volumes are the primary external storage only in a VM/370 virtual machine. (eMS for CMS command processing. uses the Diagnose interface for all of its disk and tape input/output operat10ns and Generally, each eMS user is assigned at has no error recovery routines.) least two disks: a read-only system disk and a read/write user disk. The user can create, update, and manipulate files as well as complete, test, The read-only system disk contains the and execute problem programs. These CMS nucleus, disk-resident CMS commands, interactive capabilities are extended to and the system library. The CMS system DOS/VS users via the eMS/DOS environment or disk can be shared among CMS users. eMS. For OS/VS users, a combination of eMS commands and eMS simulation of OS macros provides similar interactive capabilities. The read/write disk contains the user's permanent and temporary files. The size of a CMS user disk is limited to one volume or the maximum number of CMS records that can CMS Configuration be contained on one volu.e. CMS disks must be assigned in units of full cylinders. A virtual machine that is to use eMS is Figure 9 shows a virtual machine configured much the same way as any other configured to execute CMS. A minimum CMS virtual machine, with a few special configuration would not include the virtual considerations. taIes. The eMS virtual machine must be assigned at least 320K bytes of virtual storage, of which 128K is used by the CMS nucleus. CMS File System User programs that execute in eMS may increase this requirement. The virtual storage size may be defined as large as 16 CMS supports the same DASD devices that are megabytes, in multiples of 4K. sUFPorted by the CP portion of VM/370. CMS formats the tracks of a eMS disk into The most active portion of the nucleus fixed-length blocks. The CMS file system can be shared by users of CMS via the then manages these blocks in such a way shared segment facilities of VM/370. The that the user appears to have logical amount shared is 64K, one full segment. fixed- or variable-length records, and This allocation is not locked in real sequential or direct access to files. storage, which means that a particular shared page may not be in real storage at In addition to reading and writing CMS any given time. However, the most active files, CMS can read sequential or VSAS DOS Fages tend to remain in real storage. files and sequential, partitioned, or VSAM OS data sets. Additional portions of CMS can be shared in discontiguous segments. Discontiguous Problem programs that execute in CMS can segments can be attached to and detached create files on unlabeled tapes in any from the CMS virtual machine as needed. A record and block size; the record format name is associated with one or more can be fixed, variable, cr undefined. discontiguous segments. Some, all, or none of the discontiguous segments can be CMS automatically opens and closes all shared. Discontiguous segments must be accessed files (including spool files) for loaded at addresses beyond the highest each command or user program it executes. address in the virtual machine. Files can be sFooled between virtual machines to transfer files between users. CMS supports unit record devices only if Service Irograms invoked by CMS commands they are virtual and use the CP spooling alEo maniFulate files. CMS files can be facilities. Real unit record devices written cnto and restored from unlabeled

Conversational Monitor System 21 Virtual Storage 320K.------....

128K ------

CMS Nucleus o ~---T---~

Virtual Card Reader/Punch

Virtual Printer

Figure 9. Sample CMS Configuration tapes via CMS commands. Tape labels are FILE IDENTIFICATION not supported by CMS.

CMS has files that contain macro eMS user files are identified by a fileid libraries and program libraries, and consisting of three designators: commands to use and update these libraries. The user or installation can create • filename (fn) -- is an 8-character name additional macro and program libraries, if assigned the file by the user. needed. • filetype (ft) -- is the identification given to specify particular file characteristics. USER DISKS • file~Qe (fa) -- describes the disk that contains the file and the access mode CMS requires the system residence volume to assigned to the file. be online. Each user may have up to nine virtual disks online at anyone time. (All nine of these can reside on one real disk.) S18PLE ISSE8BLE 11 The user disks are differentiated by a filemode designator, assigned when the disk ~------~ is made active. The filemode consists of a Figure 10. C8S File Identification letter and a number. The number indicates the disk's access mode and the letter defines a standard order-of-search for disk Figure 10 is a sample C8S file with an files. identification of SI8PLE, ASSEMBLE indicates that the file consists of Each virtual disk may be defined as assembler language source statements, 1 read-only or read/write, and may be shared indicates that the file is located on the among users. A-disk directory, and 1 indicates that the file has a read/write access mode.

22 IBM VM/370 Introduction FILE STRUCTURE Most C~S commands can be entered by the user in a truncated form (for example, "a" can represent "assemble"). CMS keeps an CMS disk files are written as aOO-byte ordered list of command names, from which records, which usually are not physically it determines which command the truncated contiguous on the disk. They are allocated form represents. The installation can and deallocated automatically by CMS as the modify the sequence of the command list and file size demands. Each virtual disk has a the valid limits of truncation. master file directory, or the subset called user file directory, containing format and Each user (or installation) can define size information for each file on the synonyms for any or all command names. virtual disk. This directory includes a pointer to the file's chain link records. Any executable program stored on a CMS system or user volume can be invoked by Figure 11 illustrates the CMS file name as a command. To execute a program, structure. The user file directory entry the user must enter on the terminal the for the file named PROG1, filetype COBOL, rrl""f"Tr~..r-":t-I.4&111 n21DO...... 1U_' followed points to the chain link records for that operands. file, each of which points to a separate aOO-byte record of the file. The EXEC processor of CMS can be used to define new commands that are combinations For aOO-byte record disks, a single user of existing commands. Such new commands, file is limited to a maximum of 65,533 called EXEC procedures, eliminate the records and must reside on one virtual tedious rekeying of frequently used disk. The file management system limits seguences of commands. The EXEC processor the number of files on anyone virtual disk has logical capabilities; EXEC procedures to 3400 (3500 files on a 2314). All CMS can test the contents of variables, branch disk files are written as aOO-byte records, on specified conditions, and execute chained together by a specific file entry programmed loops. A special EXEC procedure that is stored in a table called the master called a PROFILE EXEC can be invoked file directory; a separate master file automatically when ~he user issues his directory is kept for, and on each virtual first command in the CMS environment; it disk. initializes that user's virtual machine according to the information in his PROFILE EXEC file. Initialization and Dump Restore Program Development and The OS IBCDASDI service program initializes Execution all types of real and virtual minidisks supported by VM/370. CMS has a wide range of programming development capabilities, it can: The CMS FORMAT command initializes minidisks for eMS. However, the IBCDASDI • Create and compile source programs program must be used to initialize any • Euild test files Ilinidisk that is used with VSAM files or • Execute and test programs catalogs. • Debug programs at the terminal

A CP format program formats CP-owned volumes, such as the system residence, PROGRAM COMPILATION AND EXECUTION COMMANDS paging, and spooling disks.

The DASD Dump Restore (DDR) program of When a compiler is invoked, CMS dynamically VM/370, which executes standalone or' under allocates compiler work files on whichever CMS, dumps, restores, and displays all active user disk has the most available types of Ilinidisks. space (the location of these work files may also be specified by the user), and deallocates them at comFletion. Compiler object decks and listing files are normally CMS Command language allocated on the same disk as the input source file or on the primary read/write disk. They are identified by the input The CMS command language is flexible and filename together with the filetype TEXT or can be tailored by the installation or by LISTING. individual users.

Conversational Monitor System 23 User File File Status Chain Link Chain Link Directory Table Block 1 Block 2 address TEST COBOL block 2

address 800 bytes block 3 800 bytes

Figure 11. CMS File Structure

The compilers executable under CMS are Most object programs produced and invoked by name and provided with a source compiled under CMS may be executed under file whose filetype designator indicates CMS for direct problem solving. Programs the compiler. On each of the command that use certain OS system functions must lines, the user can specify CMS options, be run under the appropriate operating and also language processor options, that syste •• are identical to those coded on an OS EXEC card when the language Frocessor is invoked from as. The COBOL user specifies the INTEGRATED EMULATORS compiler options on an OPTION command which precedes the FCOBOL command. The PL/I user Emulator-dependent programs (except for DOS must specify compiler options on an emulation under as or OS/VS) that execute *PROCESS statement which is placed in front on a Syste./370 equipped with the of the PL/I source program. appropriate compatibility features can execute cn that system/370 in DOS or OS The DOS linkage editor is simulated in virtual machines under V!/370. CMS. Files to be link-edited can be read from DOS libraries. CMS link-edits files No modifications are required to be made and places the output in a CMS file called to emulators, to DOS or OS, or to VM/370 to DOSLIB and accepts the DOS linkage editor allow emulator-dependent programs to control statements as input. execute in virtual machines.

In an attached processor (AP) system, a LANGUAGE PROCESSORS virtual machine can use the SET AFFINITY command to make use of an eaulator installed on only one of the processors. A VM/370 assembler is distributed as part The directory option for affinity may be of the VM/370 system and is required for used instead, with similar results. installation and support. All necessary macros for installation and support are provided in CMS libraries. THE CMS EDITOR A variety of programming languages are available for use with CMS. VS APL, VSBASIC, DOS and OS PL/I, and OS FORTRAN The CMS Editor consists cf the EDIT command are useful languages for problem-solving and its subcommands. With the CMS Editor, applications. DOS/VS and OS/VS COBOL, DOS a user can create a file by typing the data and as PL/I and assembler languages are in at the terminal. He can scan all or useful for commercial program development part of the file, and insert, change, or applications. delete records.

24 IBM VM/370 Introduction SCRIPT/310 Using this technique, the user first loads the Conversational Monitor System into the virtual machine. The editor is SCRIPT/310 is a text processor available used to make any necessary updates to the as an IUP (Installed User program) for use source program. Spooling facilities are under CMS. SCRIPT/310 includes manuscript used to copy the program (integrated into a facilities that create formatted output suitable operating system job-stream) into from one or more CMS files containing text the virtual card reader. The user then and/or text-manipulating control words. issues the IPL command to load his other operating system and begin the compilation. When the job stream completes, the user aust reload CMS with the IPL command. The CONTROL COMMANDS speoled printer output generated by the other operating system can be read onto a CMS user disk, inspected for diagnostic Tne CMS user is aD~e to aet1ne certain messages, then optionally scheduled for system functions with the SET command. The printing. Corrections and additional functions include: the amount of compilations, if necessary, fellow the same information in the message printed at the precedure. end of command processing, the type of error messages to be printed at the terminal, and whether unknown commands should be passed on to CP. With the QUERY DEEUGGING FACILITIES command, the user is given the current status of these and other CMS functionso The debugging facilities of CMS permit a Synonyms for command names may be user to set instruction address stops in created by a user via entries in a CMS file his program, to examine and modify virtual with a filetype of SYNONYM. registers and virtual storage, and to trace all SVC interrupts. User-selected The EXEC command specifies a file of CP interrupts may be traced with output and CMS commands, as well as conditional directed to either a virtual printer or the branching and control statements, which are terminal. executed in a predetermined sequence by the EXEC processor of CMS.

CMS BATCH FACILITY

ALTERNATING OPERATING SYSTEMS The CMS batch facility is a VM/310 programming facility that executes under If a program to be tested uses OS and DOS CMS. It allows a VM/310 user to execute functions that are not simulated, or if the jobs in tatch .ode by sending jobs from program is designed for some other either his own virtual machine or the real operating system, the user may execute the card reader to a virtual machine dedicated two operating systems alternately. The to running batch jobs under the batch virtual machine must be configured to run facility. The batch facility virtual both CMS and the other operating system. aachine then executes these jobs, freeing the user's virtual machine for other uses. The accounting routines charge the time used in the batch machine to the originating user.

Conversational Monitor System 25 26 IE~ V~/370 Introduction Remote Spooling Communications Subsystem

The VM/370 remote spooling communications THE REAL PROCESSOR subsystem (RSCS) is the VM/370 component that runs under CP control. RSCS provides telecommunication support to transfer files A real processor that is executing VM/370, between remote stations and virtual and RSCS in a virtual machine, is the machines using binary synchronous (ESC) center of the RSCS teleprocessing network. switched or nonswitched lines. The operator of the RSCS virtual machine controls the network by issuing RSCS RSCS cannot be operated without CP. commands from his terminal. RSCS, together with ~ne spool file system of CP, provides a telecommunication The CP spool system is an integral part environment for the transfer of files from: of the RSCS teleprocessing network~ All files transmitted between remote locations • Virtual machines to RSCS remote stations and VM/370 virtual machines are routed through the CP spool system via the RSCS • Rses remote stations to other Rses virtual machine. remote stations • Virtual machines to remote job entry RSCS TELEPROCESSING HARDWARE REQUIREMENTS batch system • RSCS remote stations to job entry batch Teleprocessing equipment (transmission systems control units, data sets, and communication lines) is required to control the • RSCS remote stations to a CMS batch teleprocessing network& Transmission virtual machine control units control the transmission of data between the real CPU and remote Some examples of remote job entry batch stations over communications lines. Data systems are: HASP, ASP, JES, RES, and CRJE. sets are devices that code and decode These job entry batch systems, run under binary data for transmission over the the appropriate system control program such communications lines. as: DOS, DOS/VSE, OS, or OS/VS. RSCS has a supervisor and line drivers. REMOTE STATIONS The supervisor is an interface between the CP spool system and the RSCS line driver. The line drivers drive, or control, a RSCS remote stations are input/output (I/O) specific type of remote station. configurations. The minimum configuration consists of a card reader, a printer, and a For details concerning RSCS refer to the card punch. There are two types of remote !~Ll1~ S~!Q!~ ~EQQ!i~g ~£!!Y~i£~!iQn§ stations: programmable and nonprogrammable. ~ybsI§l~! (S~£~) Us~!~§ ~Yig~· Figure 12 shows the relationship among the VM/370 virtual machine users, the CP spool system, and the remote stations. programmable remote stations are I/O configurations that include a computer, such as a System/3, System/32, System/360, The RSCS Teleprocessing Network or Systemj370. If this computer is running a HASP-type or ASP-type batch processor, the remote station can receive files The RSCS network consists of a real transmitted across the RSCS network, processor, transmission control units, and process the files, and transmit the results ESC telecommunications lines and remote of the processing back to the originating stations. location. Otherwise, the programmable remote station can only receive, read, print, punch, and send files. In other words, if the programmable remote station does not have a HASP- or ASP-type of batch prccessor, it acts as though it were nonprogrammable.

Remote Spooling Communications Subsystem 27 VM!370 REMOTE STATIONS

Nonprogrammable VM/370 Virtual Remote Station Machines

CONTROL PROGRAM RSCS Virtual Machine

CP Spool Programmable OS/360 System Remote Station HASP Batch Processor

Programmable Remote Station

Figure 12. A VM/370 RSCS Teleprocessing Network

LINKING GEOGRAPHIC LOCATIONS IN THE RSCS NETWORK Nonprogrammable remote stations are I/O configurations that cannot be program.ed, Each location in the RSCS network is but can receive, read, print, punch, and assigned a location identifier, which RSCS send files. An example of a uses to find a link. or path, to the remote nonprogrammable remote station is a 2780 location. Data Transmission Terminal. To link a remote station to a virtual machine. the RSCS operator issues the START command. Then. to begin transmitting to Using R.SeS the RSCS virtual machine, the remote station operator transmits a SIGNON card. The facilities of RSCS are selected and Once the link between a remote station controlled by commands and control cards. and the RSCS virtual machine is established Connections between geographically remote via START and SIGNON, files can be locations are made by the operator of the transferred to and from that location. An RSCS virtual machine. ID card. which specifies the eventual destination, must precede each file transmitted from the remote station to the RSCS virtual machine. The RSCS virtual machine uses the information on the ID card

28 IBM VM/370 Introduction to transmit the file to the designated system, defining or deleting a link in the virtual machine. If tag information is system, repositioning a file forward or also supplied, RSCS can transmit the file backward during processing, disconnecting to another remote station. the RSCS virtual machine console, and so on, are provided by the system.

COMMANDS FOR TRANSMITTING FILES

The CP TAG and SPOOL commands are used under RSCS to transmit files across a teleprocessing network. Virtual machine If a batch system has a remote job entry users issue the CP TAG command to name the capability, such as HASP and JES2, it location identifier of the destination that requires its own control statement in order is to receive the file. The CP SPOOL to execute correctly. When RSCS is command and a command that closes the file operating as a remote jcb entry system for being transmitted, such as the eMS PUNCH or one of the batch processors, the RSCS PRINT command, cause the file to be sent to operator can transmit to that batch the RSCS virtual machine for processing. processor via the RSCS CMD command. The The RSCS virtual machine then transmits the CML command causes a HASP or ASP command to file across its network. The CP TAG and be transmitted to the batch processor for SPOOL commands control the transmission of execution, just as if the command were files from virtual machines to remote transmitted to the processor by one of its stations, whereas the ID card controls the work stations. transmission of files from remote stations to virtual machines.

REMOTE SPOOLING COMMUNICATIONS SUBSYSTEM NElWORKING CO~MANDS FOR CONTROLLING THE RSCS VIRTUAL MACHINE AND REMOTE STATIONS The Remote Spooling Communications sutsystem Networking program product RSCS has commands and control cards that (Program Number 5748-XP1) provides enhanced control the operation of the RSCS system. networking facilities to a VMj370 system. The system control functions are executed by the RSCS control program when it I RSCS Networking is a complete virtual receives commands entered either from a I machine subsystem that operates console or via punched cards. I independently of other operating systems I running under CP. The RSCS virtual machine operator can use all the RSCS commands to control the For further informaticn ccncerning RSCS system; operators at remote stations use a Networking, refer to the RS~2 !~tw££ki~g subset of the commands available to the General Information Manual, GH24-5004 and RSCS virtual machine operator. In general, the-~~f2--iet!QEkI~g prQgE~~ Re!~~~~ce ~ng functions such as purging a file from the Q£§!~!!£~§ ManY~l, SH24-5005.

Remote Spooling Communications subsystem 29 30 IBM VM/370 Introduction Interactive Problem Control System

The interactive problem control system reports and symptom summary file are kept (IPCS) is a component of VM/370 that on disk. standardizes the VM/370 problem reporting process. It enhances the serviceability of More information concerning the VM/370 by identifying recurring programming operation of IPCS can be found in the problems located on the VM/370 user base. !~Ll1Q lni~ra£1ive gEobl~! ~fnt£Ql ~21~! Additional environmental conditions can (lgf~) Q2~~2 §YlQ~, GC20-1823. also be included in problem reports; user detected problems can be entered, updated, and printed out; and the problem data base can be interrogated for individual PROELEM REPORT GENERATION problems. The function of generating problem reports is accomplished by the VMFDUMP command and by providing an IPCS can be used to report two types of additional command called PROB. Both problem situations. They are: generate a disk-resident report. This report, along with the early warn1ng system • CP system detected failures (EiS) microfiche, gives speedier • All user-detected failures identification of previously reported problems.

The IPCS component: IPCS COMMANDS c Facilitates online problem management and interactive problem diagnosis. IPCS commands are invoked fro II a eMS virtual machine. They are: • Provides an analysis function for CP dumps; the resultant extracted data DUMPSCAN resides on disk as a unique problem provides the system analyst edit report. facilities to obtain, via the terminal console, pertinent data from a system • Has a prompting program for dump for quick analysis. user-detected failures; the reSUltant data resides on disk as a unique problem PRE report. provides a means of updating the status of reported problems. • Searches for duplicate problems and informs the user when a problem with PROE similar symptoms was previously provides the user with a means of experienced at the installation. entering problems into the IPCS reporting system that are not associated • Has a problem-tracking facility that with CP abend dump conditions. updates and displays problem status. STAT • Has an interactive debugging facility provides a means of interrogating the that aids in the analysis of problem report files. disk-resident CP abend dumps. VMFDUMP provides a formatted dump and a system generated problem report for the IPCS Conditions of Operation system.

The amount of available IPCS virtual machine A-disk space can affect the PRELIMINARY CONSIDERATIONS operation of IPCS.

When an adequate amount of storage is Problem determination and resolution often available, all problem reports, dumps, require analysis of other data in addition supplementary data files, and the symptom to CP abend dumps. This data is called summary file are stored on disk. When supplementary data in the IPCS system. storage is at a premium, only the problem Prccedures must be established for

Remote Spooling Communications Subsystem 31 collecting data prior to the problem For more detailed information regarding situation. IPCS, refer to !~Ll1~ !nt~~ct!!~ R!£B!~~ ~g~!ro! ~I§!~! (IP~2) Us~!~§ gui~~. Some methods used to collect data are:

• Spooling of the system operator's console INSTALLING IPCS

• Virtual machine dumps The installation of eMS includes the IPCS • Trace output component of Vft/370: the !~L11Q Pl!!Uli~g !D£ ~I§!~! Q~D~!A!!on, GC20-1801 details the system generation procedures.

32 IEM VM/37G Introduction Appendix A: VM/370 Publication-to-Audience Relationship

The following illustrates the relationship appropriate audience and also includes a of the VM/370 publications to their brief description of the text content.

I I I I IAudience I Publications I Content 1------·A1l users Introduction, GC20-1800lCverview of VM/370 and Ivirtual machines CP Command Reference IG and "Any" commands for General Users, Ineeded for virtual GC20-1820 Imachine control System Messages, IAbend codes, wait GC20-1808 Istates, and messages Terminal User's Guide, ILogon/Logoff, virtual, GC20-1810 Iconsole terminal use, lattention handling Quick Guide for Users, IReference for co.mand and GC20-1926 ;service program control Istatement formats System Analyst, Release 6 Guide IVM/370 planning Programming System GC20-1834 linformation for Representatives, IRelease 6 Installation Planners and Support Personnel Planning and System IVM/370 installation Generation Guide, Irequirements and GC20-1801 I procedures OFerator's Guide, IVM/370 system central GC20-1806 Icommands~ resources# Icontrol, service Iprograms, spooling System Programmer's !Resources for problem Guide, Isolving, tracking, GC20-1807 Itracing, monitoring Operating systems in a IRelationship of VM/370 Virtual Machine, Iwith other operating GC20-1821 Isystems, VM/370 concepts OLTSEP and Error IOLTS from a virtual Recording Guide, lenvironment. RMS, GC20-1809 linvoking CPEREP CMS Co •• and and Macro ICftS facilities for Reference, GC20-1818 Igenerating. compiling ------Iediting, testing and CMS User's Guide, Idebugging programs IGC20-1819 I 1------10S/VS, DOS/VSE, VM/370 IProvides details on IEnvironmental ReccrdingIOS/VS, DOS/VSE. and IEditing and printing. IVM/370 EREP operands IGC28-0772 linvoked by CPEREP

Appendix A: VM/370 Publication-To-Audience Relationship 33 I I Audience I Publications IContent System Analyst, Interactive Problem ICatalog and update programming System Control System (IPCS) Ifacility for recorded Representatives, User's Guide, Isystem and virtual Installation planners GC20-1823 Imachine problems and Support Personnel (cant.) Service Routines VM/370 logic on CP, CMS Program Logic, and RSCS; the service SY20-0882 programs; OS/VS EBEP and the data areas and Data Areas and Control control blocks that Block Logic, SY20-0884 relate to those components System Logic and Problem Determination, Vol 1 CP, SY20-0886 Vol 2 - CMS, SY20-0887 Vol 3 - RSCS, SY20-0888 OS/VS, DOS/VSE, VM/370 Environmental Recording Editing and Printing (EREP) Program Logic, SY28-0773 Pield Engineer (CE) 10LTSEP and Error IOLTS froll the virtual IRecording Guide, Imachine, RMS, and IGC20-1809 IInvoking CPEREP 1------10S/VS, DOS/VSE, VM/370 IProvides details on OS/VS IEnvironmental RecordinglDOS/VSE and VM/370 EBEP IEditing and printing loperands invoked by IGC28-0772 ICPEREP System Operator operator's Guide, IResource and system GC20-1806 Icontrol com.and and ;service programs; IPL IVM/370 Remote Spooling IOperational control of Communications Iremote spooling Subsystell (RSCS) User's I Guide, GC20-1816 I CP Command Reference IG and any com.ands -­ for General Users, INeeded for CP virtual GC20-1820 Imachine CP control operating Systems in a IRelationship of VM/370 Virtual Machine, Iwith other operating GC20-1821 I systems IExpands the information Ion G command usage Interactive Problem ITracking facility for Control Systell (IPCS) I systea and virtual

User's Guide l GC20-1823111achine problems OLTSEP and Error IHow to invoke CPEBEP to Recording Guide, Icapture/clear SYS1.LCGREC GC20-1809 land VM/370 error Icylinders

34 IBM VM/370 Introduction I 1 Audience IPublications I Content Application IRelease 6 Guide IVM/370 Planninq informa­ Programmer, IGC20-1834 Ition for Release 6 Interactive users -­ 1------Anyone who needs to ICMS Command and Macro ICMS command formats for create or modify IReference, GC20-1818 Iprogram creation, editing programs or data I Itesting and debugging 1------ICMS User's Guide, Itetailed use of IGC20-1819 ICMS commands

Appendix A: VM/370 Publication-To-Audience Relationship 35 36 IBM VM/370 Introduction Appendix 8: VM/370-Related Publications For eMS Users

This appendix lists VM/370-related VS BASIC: Quick Guide for CMS SX28-6386 publications for CMS users. The following Users VM/370 publications contain general VS BASIC: Installation Reference SC28-8309 information concerning CMS for new users: Material VS BASIC: Language Reference GC28-8303 VM/370 Quick Guide for Users 1 GI20-1926 Manual VM/370 Commands (General User)l GX20-1961 VM/370 Commands (Other that GX20-1995 General User)! VM/370 CMS Command and Macro GC20-1818 Reference MATH/BASIC~ General Information GH20-1128 VM/370 CMS User's ~uide GC20-1819 Manual MATH/EASIC, program Reference SH20-1158 Manual SiAT/BASIC, program Reference S820-1069 Manual STAT/BASIC, General Information GH20-1027 Manual VM/370 Introduction GC20-1800 Eusiness Analysis/BASIC, Program S820-1264 VM/370 System Messages GC20-1808 Reference Manual VM/370 Terminal User's Guide GC20-1810 Eusiness Analysis/BASIC, General GH20-1175 Information Manual

OS/VS and VM/370 Assembler GC33-4021 Virtual Machine Facility/370 GC20-1757 programmer's Guide Features Supplement OS/VS, DOS/VS, and VM/370 GC33-4010 Assembler Language CMS for Programmers, A Primer SR20-4438 VM/370: System Programmer's GC20-1807 Guide The publications that are relevant to a particular type of CMS user are listed by categories of CMS users. Since titles change and new publications are constantly teing added to the IBM library, this list SCRIPT/370 User's Guide SH20-1857 should serve only as a guide to what is Program No. 5796-PH6 currently available. For a more SCRIPT/370 Systems Guide LY20-2251 up-to-date list, see the J~~ ~y§!g!LlIQ SCRIPT/370 Quick Guide for Users GX20-1997 ]ibli2gEsEhy, Order No. GC20-0001. Reference Summary

!ot~: In some cases, the titles are atbreviated to save space.

VM/370 (CMS) Terminal User's SC28-6891 !.§ ]!'§1~ Q§~E Guide for FORTRAN IV Frogram Products VS EASIC CMS Terminal User's SC28-8306 IEM FORTRAN Program Products for GC28-6884 Guide as and the CMS Component of B is for BASIC. An Introduction SC28-8310 VM/370: General Information to VS BASIC under CMS FORTRAN IV (G1) Code and Go SC28-6842 VS BASIC, General Information GC28-8302 Terminal User's Guide VS BASIC, Program Product Design GC28-8301 IEM as Code and Go FORTRAN and SC28-6853 Objectives FORTRAN IV (G1) programmer's Guide FCRTRIT~V(G1} Processdr and 5C28-6856 TSO FORTRAN Prompter for as lThese three reference summaries are and VM/370 (CMS): Installation available separately or can be ordered at Reference Material the same time by using Order No. GBOF-3576.

Appendix B: VM/370-Related Publications for CMS Users 37 IBM as FORTRAN IV Library SC28-6858 DOS/VS COBOL Compiler and SC28-6418 (Mod 1) for as and VM/310 Library programmer's Guide (CMS) Installation Reference DOS/VS COBOL Compiler and SC28-6419 Manual Library Installation Reference IBM Code and Go FORTRAN SC28-6859 Material Processor for as and VM/370 VM/310 CMS User's Guide SC28-6469 (CMS) Installation Reference for COBOL Material IBM as FORTRAN IV (H Extended) SC28-6852 Compiler, pro~rammer's Guide IBM as FORTRAN IV (8 Extended) GC28-6865 DOS/VSE Macro User's Guide GC24-5139 Compiler and Library (Mod II), DOS/VSE Macro Reference GC24-5140 Messages Using VSE/VSAM Command and GC33-5382 IBM FORTRAN IV (H Extended) SC28-6861 Macros Compiler and FORTRAN Library DOS/VSE Data Management Concepts GC24-5138 (Mod II) for as and VM/310 (CMS) Installation Reference Material IBM as FORTRAN IV Mathematical SC28-6864 OS/VS VSAM System Information GC26-3835 and Service Subprograms OS/VS2 programming Library: GC26-3830 Supplement for Moa I and Data Management System Mod II Libraries OS/VS VSAM programaer's Guide GC20-3818 IBM FORTRAN IV Library GC28-6818 OS/VS Access Method Service GC35-0009 Mathematical and Service OS/VS VSAM Planning Guide GC26-3799 Subprogralls OS/VS VSAM Options for Advanced GC26-3819 FORTRAN Interactive Debug for os SC28-6886 Applications (TSO) and VM/310-CMS OS/VS Data Management GC26-3183 Installation Reference Manual Services Guide FORTRAN Interactive Debug for as SC28-6885 OS/VS Access Method Services GC26-3836 (TSO) and VM/370 (CMS) OS/VS Planning and Use Guide GC24-5090 Terminal User's Guide OS/VS2 Access Method Services GC26-3841 IBM FORTRAN Interactive Debug SX28-8193 Planning for Enhanced VSAM under GC26-3842 for as (TSO) and VM/310 (CMS) OS/VS Reference Card FORTRAN IV Language GC28-6515 ~1Ll !!§~E as PL/I Optimizing Compiler, GC33-0022 Program Product Specifications as PL/I Optimizing Compiler, SC33-0006 programmer's Guide Note: "IEM as Full American National as PL/I Cptimizing Compiler, SC33-0027 Standard COBOL" has been abbreviated to Messages "as ANS COBOL" in the following list. as PL/I Cptimizing Compiler SC33-0025 Execution Logic as PL/I Optimizing Compiler SC33-0026 as ANS COBOL Language Manual GC28-6396 Installation as ANS COBOL Compiler and SC28-6456 as PL/I Cptimizing Compiler SC33-0037 Library, Version 4, CMS User's Guide Programmer's Guide OS TSO PL/I Optimizing Compiler SC33-0029 as ANS COBOL Installation SC28-6458 OS PL/I Cptimizing Compiler GC33-0001 Reference Manual General Information as ANS COBOL Messages, Version 4 SC28-6451 as PL/I Checkout Compiler: GC33-0003 as ANS COBOL Version 4 Planning SC28-6431 General Information Guide as PL/I Checkout Compiler GC33-0030 as COBOL Interactive Debug SC28-6465 Program Product Specifications Terminal User's Guide and as PL/I Checkout Compiler SC33-0001 Reference program.er's Guide as COBOL Interactive Debug SC28-6468 as PL/I Language Reference GC33-0009 Installation Reference Planual Material as PL/I Checkout Compiler SC33-0034 OS/VS COBOL Compiler and Library GC28-6470 Messages General Information as PL/I Checkout Compiler SC33-0031 as/vs COBOL Compiler and Library SC28-6481 Installation Library Installation Reference as PL/I Checkout Compiler TSO SC33-0033 Material User's Guide as/vs COEOL Compiler and Library SC28-6483 as PL/I Checkout Compiler - SC33-0032 Programmer's Guide Execution Logic

38 IEM VM/310 Introduction OS PL/I Checkout Compiler, SC33-0047 DOS PL/I Resident Library GC33-0017 CMS User's Guide Program Product Specifications OS PL/I Resident Library GC33-0023 DOS PL/I Transient Library GC33-0018 Program Product Specifications Program Product Specifications OS PL/I Transient Library GC33-0024 Program Product Specifications DOS PL/I Checkout Compiler GC33-0016 Program Product Specifications DOS PL/I Optimizing Compiler SC33-0020 VS APL: Terminal User's Installaticn Guide for CMS SH20-9067 DOS PL/I Optimizing Compiler GC33-0008 VS APL for eMS: Writing Programmer's Guide Auxiliary processors SH20-9068 DOS PL/I Optimizing Compiler SC33-0051 VS APL: Reference Su.mary SX26-3712 CMS User's Guide VS APL: Installation Reference DOS PL/I Optimizing Compiler SC33-0021 Material SH20-9065 Messages VS APL: General Introduction GH20-9064 AFL Language Reference GC26-3847

Appendix B: VM/370-Related Publications for CMS Users 39 40 IBM VM/370 Introduction Index

A CKS (2~~ CMS (Conversational Monitor access System» mode 22 CMS (Conversational Monitor System) 1 read-only 15 Batch Facility 25 read/write 15 command language 23 to real processor 13 commands (~CMS commands) to virtual device 15 configuration 21 accounting, virtual machine 9-10 debugging facilities 25 affinity, description of 8-9 description of 21 allocating directory entry 21 page frames 8-9,14 disk, support 22 real disk storage is EDIT command 25 real storage 14 Editor 25 alternating operating systems 25 EXEC AP (~~ attached processor) procedures 24 applications processor 24 batch 8 file directory 22 of performance options 8-9 file identification 22 programaing 1 file system 21 VK/370 6 files interactive use 8 forllat 23 operations 7 structure 23 assembler, VK/370 24 system 21 attached processor IBM programs executable under 24 disabling the 18 language processors 24 support of 18 nucleus 21 AUTOLOG co.mand 5 perforaance of virtual machine executing 15 read/write disk, size of 21 shared segment of 21 B storage size 21 backup 8 support batch of disks 21 applications 8 of tapes 21 facility (2~~ CKS Batch Facility) 25 of unit record devices 21 operating systems, and RSCS 29 system disk 21 virtual machine 25 read-only 21 batch systems, supported 6 read/write 21 block multiplexer channel mode 16 user disk 22 byte multiplexer mode 16 user files 21,22 VM/370-related publications 37 CMS co•• ands 24 control 25 C EDIT 25 chain link record 22 that invoke channel DOS Linkage Editor 24 indirect data addressing 15 OS compilers and assembler 24 mode 16 that provide library services 25 channel-to-channel adapter CMS component 21 attached 16 CMS editor, using 25 virtual 4 collecting performance data 9

Index 41 command language, CMS 23 dedicated command names, synonyms 24 channel 15 commands device 15 for controlling RSCS 29 developing programs 7 for transmitting files 29 device IPCS 31 paging 14 commands (~ ~lsQ CMS commands and CP virtual commands) dedicated 15 communication operation of 15 with other real computing system 6 shared 15 with other virtual machines 6,19 devices communication facility, virtual machine 11 dedicated 3 compilers executable under CMS 24 virtual, unit records 4 compiling programs under CMS 25 virtual I/O 3 component DIAGNOSE interface 16 of VM/370 used by CMS 21 CMS 1,21 DIAL com.and 6 CP 1, 13 directory IPCS 1,31 entry RSCS 1,27 contents of 13 co.poneD~~, of VM/370 1 for eMS 21 concurrent execution, of virtual machines password 5 1-2 privilege class 17 condition code 15 size of virtual storage 13 configuration, of CMS virtual machine 21 user identification 5 consideration, IPCS 31 file console spooling 17 V,,/370 5,13 control commands, CMS 25 VM/370 1 control unit discontiguous segment DASD 3 nonshared 10,14 telecommunications 3 saved 10 control units, virtual transmission 4 shared 10,14,21 conversational, user, definition of 13 disk volume, 2319 4 Conversational Monitor System (~CMS disks (Conversational Monitor System» read-only 21 conversion, of operating system 8 read/write 21 CP (~g CP (Control Program» real 4 CP (Control program) 1 support, e"s 22 description 13 system 21 privilege class descriptions 18 user 21 CP commands 17 virtual 4 AUTOLOG 5 display DIAL 6 devices, editing at 25 general users 17 of password, inhibiting 5 INDICATE 9 displaying performance data 9 LINK 5,15 dynamically modified channel programs 15 LOGON 5 MONITOR 9 other users 18 CP component 13 E creating a virtual machine 5,13 editing files at display terminals 25 creating manuscripts, under SCRIPT/370 25 Editor, eMS 25 ellulators 24 integrated, that execute under V,,/370 24 D error data addressing, channel indirect 15 analysis 9 data collection, IPCS 32 recording 9 debugging facilities, CMS 25

42 IBM VM/370 Introduction EXEC integrated emulators 24 procedures, of eMS 24 interactive processor, of CMS 24 system execution multiple-access 8 concurrent, of virtual machines 1-2 single user 8 independent, of virtual machines 1-2 use, VM/370 applications 8 interrupt handling 15 invoking, operating system 5 I/O F management 15 favored execution, description of 8-9 operations 16 FDPs (2~~ Field Developed programs) initiating 15 Field Developed Programs (FPDs) 6 IPCS, component 31 file IPCS (~~ IPCS (Interactive Problem Control directory, CMS 22 system» structure, of CMS 23 IPCS (Interactive Problem Control System) system, of CMS 21 1 file identification, eMS 22 co!!mands 31 fileid 22 component 31 filemode 22 considerations 31 filename 22 data collection 32 files description 31 CMS 21 installa tion 32 identification 22 ope ra tion 31 filetype 22 IUPs (~ Installed User programs) first level storage 14 f. (~~~ filemode) fn (~~~ filename) ft (~~~ filetype) J JCL ( language) 7 journaling 5 security 5 G general user 17 generating, system 6-7 L language processors 24 executable under CMS 24 H languages, programming, available with CMS handshaking, VM/VS 19 24 high-speed, printer 3 line, drivers, RSCS 27 link, record, chain 22 LINK command 5,15 linking I geographic locations in the RSCS network IBCDASDI disk initialization program 23 28 IBM program products, excutable under CMS virtual machines and remote stations 29 24 loading, operating system 5 identification, user (userid) 5 location identifier, RSCS 28 inactive pages 14 locations, RSCS, linking 28 INDICATE command 9 locked pages, description of 8-9 inhibiting display of password 5 logging on, VM/370 5,13 initialization and dump/restore program 23 10gen, procedure, VM/370 5 input, spool files 16 LOGON command 5 input/output (se~ I/O) installation, IPCS 32 Installed User Programs (IUPs) 6,7

Index 43 M p Mass Storage Control (MSC) 3 page 14 Mass Storage Facility (MSF) 3 faults, pseudo 19 Mass Storage System (MSS) 3 frames volumes 3 description of 14 maximum storage size 13 real storage 14 minidisks reserved 8- 9 description of 4 table, shadow 14 initializing 23 zero 14 mode paging 14.15 batch 8 device 14 block multiplexer 16 operations 14 byte multiplexer 16 requirements 8-9 iS1 nonpaging 19 password 5 MONITOR com.and 9 for device sharing 15 MSS (§gg Mass Storage System (MSS» inhibiting display 5 multiple perferred virtual machines 8-9 operating systems, consecutive use of 7 performance virtual machines 2 analysis. description of 9 multiple-access systems, supported 6 collecting data 9 displaying data 9 factors influencing 15 measurement, description of 9 N of virtual machine 14 networking, using RSCS 29 system 15 nonconversational user, definition of 13 performance option nonprogrammable remote stations, RSCS 28 affinity 8-9 normal and virtual=real virtual machines extended control-program support 8-9 15 favored execution 8-9 normal storage size 13 locked pages 8-9 NPT (nonprogrammable terminal) 27 priority option 8-9 reserved page frames 8-9 virtual=real 8-9 virtual machine assist 8 o printer, high-speed 3 operating systems priority option, description of 8-9 alternating 25 privilege. classes 17 invoking 5 problem. state 13 loading 5 processor, attached, using 18 single-user 1 program supported compilation commands, CftS 24 batch 6 design 16 conversational 6 development 7,24 description of 6 development and execution 24 multiple-access 6 execution 24 single-user 6 execution commands, CftS 24 use of multiple consecutive 7 programmable remote stations, RSCS 27 virtual machine 14 programming operation, IPCS 31 applications 7 operations, applications 7 languages, available with CMS 24 OS (Operating System), performance of systems 6 virtual machine executing 15 protection, shared segment 10 output, spool files 17 pseudo page faults 19 publications VM/370 for CMS users 37 relationship of publication-to-audience 33

44 IBM VM/370 Introduction R shared read-only, access 15 segment, protection 10 read/write, access 15 systems 9-10 real disks sharing description of 4 devices 15 partitioned into minidisks 4 segments 10~14821 real storage systems 9-10,14 page frame 14 single-user systems, supported 6 size 14 software system supported for RSCS 29 remote spooling 17 spool files Remote Spooling Communications Subsystem closing CP 19 (RSCS) (~gg RSCS (Remote Spooling input 16 Communications Subsystem» output 17 remote stations spooling RSCS files, with RSCS 27 definition of 27 options 17 linking to virtual machines 29 remote 17 __ ~L _____ ~ 4r reserved page frames, description of &-9 Ull~L ~~~u~u L/U 10 RSCS, component 27 virtual console I/O 17 RSCS (Remote Spooling Communications START I/O instruction 15 Subsystem) 1, 17 START I/O operation, simulated by CP 16 controlling 29 storage description of 27 auxiliary 6 ID card 29 management of 13 line drivers 27 of virtual machine 13 linking locations 28 real, size of 14 networking 29 size remote job entry 29 defining 13 remote stations 27 maximum 13 linking to virtual machines 29 normal 13 supervisor 27 virtual 2,6 teleprocessing hardware requirements 27 supervisor, RSCS 27 teleprocessing network 28 supervisor state 13,15 transmitting files 29 support, of system 8 using the RSCS network 28 27 attached processor 18 VM/370 computer 27 backup 8 running multiple partitions 6 generation 7 shared 14 support 8 support for S attached processor (IP) 18 sample directory entry 5 RSCS teleprocessing network 29 saved testing 6-7 discontiguous, segments 10 system requirements (~~ Virtual Machine systems 9-10 Facility/370, systea requirements) SCRIPT/370 7 systeas using 25 programming 6 second level storage 14 saved 9-10 security, of password 5 shared 9-10 segment description of 14 discontiguous saved 10 shared 14 T table 14 table selector channel mode 16 page 14 shadow page table 14 segment 14 shadow table 14 shadow 14

Index 45 TCU (~~~ transmission control unit) Virtual Machine Communication Facility teleprocessing hardware requirements, RSCS (VMCF) 19 27 Virtual Machine Facility/370 temporary use, of virtual device 15 as virtual machine operating system testing, of system 6-7 14,17 third level storage 14 assembler 24 time, management 13 components 1 time sharing 21 computer, as center of RSCS network 27 time slice 13 control program 13 time slicing 13 directory 5,13 time-sharing 6 publications for CMS users 37 transferring, files 17 RSCS teleprocessing network 28 translating, virtual storage address 16 system requirements, for RSCS 29 transmitting virtual machines commands, with RSCS 29 channel mode selection 16 files, with RSCS 29 configuration, for CMS 21 typical CMS configuration 21 creation 5,13 description 1 multiple 2,6 normal and virtual=real 15 U operating systems 1-2¥14 unit record devices, virtual 4 perferred 8-9 user RSCS 27 conversational, definition of 13 running concurrent production, disk, CMS 22 development, and testing 7 general 17 simultaneous operations 2 identification 5 storage 13 nonconversational, definition of 13 storage management 13 user directory (~~ VM/370 directory) time management 13 user files, CMS 21,22 with virtual=real option 14 userid 5 without virtual=real options 14 virtual storage first level, definition of 14 second level, definition of 14 V size of 13 virtual third level, definition of 14 channel-to-channel adapter 4 virtual storage page 14 devices virtual transmission, control units 4 access to 15 virtual unit record devices, description of dedicated 14 4 operation of 15 VM Assist (§ee virtual machine assist shared 15 feature) disks 4 VMCF (~~~ Virtual Machine Communication I/O devices 3 Facility) processor 3 VM/VS Handshaking 19 storage 2 VM/370 applications 6 system console 3 interactive use 8 unit record devices 4 operations 7 virtual=real, description of 8-9 backup 8 virtual=realoption 8-9,14 system generation 6-7 virtual lines 4 system support 8 virtual lIachine system testing 6-7 accounting 9-10 VM/370 configuration 8 communication facility 11 VM/370 directory 1 creation of 13 VM/370 extended control-program support virtual machine assist, description of 8 8-9

46 IBM VM/370 Introduction VM/370 publications, relationship to 2 audience 33 2319 disks 4 volumes, MSS 3 VS1 nonpaging mode 19

3 3031, attached processor 18 if wait state, of virtual machine 13

. Index 47 48 IBM VM/370 Introduction READER'S COMMENTS

Title: IBM Virtual Machine Order No. GC20-1800-9 Facility/370: Introduction

Please check or fill in the items~ adding explanations/comments in the space provided.

Which of the following terms best describes your job? [] Customer Engineer o Manager o Programmer o Systems Analyst o Engineer o Mathematician o Sales Representative o Systems Engineer o Instructor o Operator o Student/Trainee o Other- ( explam-. below)

How did you use this publication? o Introductory text o Reference manual o Student/ 0 Instructor text o Other (explain) ______

Did you find the material easy to read and understand? 0 Yes o No (explain below) II " c: " :::; :. Did you find the material organized for convenient use? 0 Yes o No (explain below) :ctIl" : ~. "," c: " Specific criticisms (explain below) 0" ~: Clarifications on pages .§ : Additions on pages ~: Deletions on pages Errors on pages

Explanations and other comments:

Thank you for your cooperation. No postage necessary if mailed in the U.S.A. GC2G-180G-9

Reader's Comment Form

Fold and tape Please Do Not Staple Fold and tape

NO POSTAGE NECESSARY IF MAILED I II II I IN THE UNITED STATES

BUSINESS REPLY MAIL FIRST CLASS PERMIT 40 ARMONK, NEW YORK

;:, or+ C. c n r+ POSTAGE WILL BE PAID BY ADDRESSEE: c)' ;:, I nternational Business Machines Corporation Department 058, Building 706-2 PO Box 390 ..."'tI Poughkeepsie, New York 12602 :i' ~ c. Attn: VM/370 Publications I :i' --I c Fold and tape Please Do Not Staple Fold and tape en I l> I I I --....- - I -~--- --­--- I - -~------.. - I International Business Machines Corporation Data Processing Division 1133 Westchester Avenue, White Plains, N.Y. 10604

IBM World Trade Americas/Far East Corporation T=\":~ ~.,. I\II~t1"~ PI,:,~~~~, D,...,~.~~~, 1\1" .. +h T~""'f ... n~"'" 1\1 V 'I ~ A 1nt:;01

IBM World Trade Europe/Middle East/Africa Corporation 360 Hamilton Avenue. White Plains, N.Y" U.S.A, 10601 GC20-180fl.9

....,-.,. .... - ----­---=..__ ---- ..... ~=:OO ------_.------international Business Machines Corporation Data Processinv D;f-yi.iuiJ 1133 westcl1esterAVenue, White pmM. N.V. 10604 fBM World Trade Amerieas/FarEast Corporation

Town ()f ~1oynt PJ~.i:lnt;.. ROti~... . 9. "~orth Ti:lrrl'''town,...... N.Y<~ .."",s.A. 10591 iBM World Trade Europe/Middle East/Africa Corporation Ha,nll'it{l,n Iwem!f', Whjre Plains, N. ,LLS.A. ------_.------Technical Newsletter This Newsletter No. Gi\i25-0489 Date August 1, 1979

Base Publication No. GC20-1800-9 File No. S370-20 (VM!370 Release 6 PLC 4) Prerequisite Newsletters! None Supplements

I BM Virtual Machine Facility/370: Introduction

© Copyright IBM Corp. 1972, 1973, 1974, 1975, 1976, 1977, 1979

This Technical Newsletter contains replacement pages for .Y!1Ll1.Q Introduction to support Release 6 PtC 4 of IBM Virtual Machine FacilIty/370.

Before inserting any of the attached pages into the VMLllQ !nt£Q~~QE' read £areful!y the instructions on this cover. They indicate when and how you should insert pages.

Pages to Attached Pages be Removed to be Inserted* TItle;-EaItion Notice Title, Edition.Notice Table of contents vii-viii Table of Contents vii-vii Summary of Amendments ix-xiv Summary of Amendments ix-xiv 17-18 17-18.2

*If you are inserting pages from different Newsletters/Supplements and ig~ntica! page numbers are involved, always use the pages with the latest date (shown in the slug at the top of the page). The page with the latest date contains the most complete information.

Changes or additions to the text and illustrations are indicated by a vertical line to the left of the change.

Summary of Amendments

This Technical Newsletter incorporates changes reflecting Channel-set Switching support.

Note: Please file this cover letter at the back of the base publication to-provide a record of changes.

IBM Corporation, Publications Development, Department 058, Building 706-2, PO Box 390, Poughkeepsie, New York 12602

Printed in U.S.A.