File No. S370-20 Order No. GC20-1800-6

IBM Virtual Machine Facility/370 : Systems I ntrod uction

, Release 3 PLC 8

This publication introduces VM/370, and defines the minimum equipment configuration necessary to execute it. It 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 an that manages the resources of a single System/370 computer so that multiple computing systems (virtual machines) appear to ex'ist. 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 Spooling Communications Subsystem (RSCS), which spools files to and from geographically remote locations, and an Interactive Problem Control System (IPCS), which is a problem reporting process.

The first section of the publication is an introduction; it describes what VM/370 can do. The second, third, and fourth sections describe the Control Program, Conversational Monitor System, and Remote Spooling Communications Subsystem, respectively. The appendixes include information about system requirements, supported language processors and emulators, and VM/370-related publications for CMS users.

This publication is a prerequisite for the VM/370 system library. §gygn.in ~!!!.i~5Hl (October 1976)

This is a major revision of GC20-1800-5 and makes obsolete that edition and Technical Newsletters GN20-2677, dated February 16, 1976 and GN20-2687, dated June 18, 1976. This edition corresponds to Release 3 PLC 8 (Program Level Change) of IBM Virtual Machine Facility/370 and to all subsequent releases until otherwise indicated in new editions or Technical Newsletters. Changes are periodically made to the specifications herein; before using this publication in connection with the operation of IBM systems, consult the latest !~~ §I2!~LJIQ ~~~l~Qg~~~hI, Order Bo. GC20-0001, for the editions that are applicable and current. Technical changes and additions to text and illustrations are indicated by a vertical bar to the left of the change. Requests for copies of IBM publications should be made to your IBM representative or to the IBM branch office serving your locality. A form for readers' comments is provided at the back of this publication. If the form has been removed. comments may be addressed to IBM corporation, VM/370 publications, Dept. 058, Bldg. 706-2,·P.O. Box 390, Poughkeepsie, New York 12602. Comments become the property of IBM.

© Copyright International Business Machines Corporation 1972, 1973, 1974, 1975, 1976 Preface

This publication introduces and describes The term 3350 refers to the IBM 3350 the IBM virtual Machine Facility/370 Direct Access Storage, Models A2 and B2. (VM/370) and its components, the Control Program (CP), the Conversational Monitor References to the IBM 2741 Communication System (CMS), and the Remote spooling Terminal also include the IBM 3767 Communications subsystem (RSCS). A fourth Communication Terminal (in 2741 mode), VM/370 component, the Interactive Problem unless otherwise specified. Control system (IPCS), is introduced in this publication, but described in detail Information on the IBM system/370 Models in the !.HLJ1.Q: !D.1gilf1~!Ji! f~ob!g! ~oDt~Q! 135-3, 138, 145-3, and 148 is for planning §I§!g! (!f~~) Q~g~~~ ~~~~g, Order No. purposes only until the availability of the GC20-1823. product. Unless otherwise stated, references to the system/370 Models 138 and This publication contains four sections 148 also apply to Models 135-3 and 145-3 and three appendixes: respectively.

• "Introduction" describes VM/370, virtual machines, and their applications. RELATED PUBLICATIONS • "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 ~~§ Command aDd ~~~ Bg!!~n~g, Order capabilities for interactive users. No. GC20-1818---

• "Remote Spooling Communications ~ User'~ Guidg, Order No. GC20-1819 Subsystem" describes the functions and organization of RSCS. Commands (~~~! Usg~) Order No. GX20-1961 • "Appendix A: System Requirements" • "Appendix B: Language Processors and Ellulators" • "Appendix C: VM/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 inforllation about virtual storage, see the student text publication !D!!2~Y~!~QD. 12 !~£t~al ~t2~gg in ~~§!g!LJ1Q, Order No. GR20-4260. OLTSEP and Error ~£Q£~ing §y!!§, Order iQ.-GC20-180g--- The term 2305 refers to , the IBM 2305 'Fixed Head storage, Models 1 and 2. When the term 3330 is used in this publication, it refers to the IBM 3330 Disk Stor~ge Models 1, 2, and 11; the IBM 3333 Disk Storage and Control, Models 1 and 11; or the IBM 3350 Direct Access storage operating in 3330/3333 Model 1 or 3330/3333 Model 11 compatibility mode. 2ui£! §uide for .9.§g~.§, Order No. GX20-1926 The term 3340 refers to the IBM 3340 Disk storage, Models A2, B1, and B2 and the Relg~.2g J §ui~~, Order No. GC20-1822 IBM 3344 Direct Access Storage Model B2. R~~l~ 2£Q2!i~ £2!~Y~i£!!!2~§ §YR§~§!~! Sys1~ Logi£ and Problem Det~I~in!1iQa (RSC2) ~2~I~2 Gu!de, Order No. GC20-1816 §uig~, Order NO:-SY20-0885

2yst~! tt~§§!g~2' Order No. GC20-1808 !Q1§: The !!l37Q: 2Y!£! 2y!g~ t2! Q§§I§, !M/31Q: ~~~g§ (Gen§I!! Q§§I) and !ttL37~ CO!!!ng§ (Oth~ 1h!n Gen§I!! Q§§I) are part of Order No. GBOF3576. Figure 1 is an overview of the VM/370 library, with the pUblications grouped Terminal Q§~I!§ Order No. according to their probable users~ GC20=1810 References in the text to titles of related VM/370 publications are given in abbreviated form.

SUPPLEMENTARY PUBLICATIONS Service Routines fI2gI!! &2g!£, Order NO:-SY20-0882:--- Titles of supplementary publications for VM/370 users are in "Appendix C: VM/370-Related Publications for CMS Users." Virtual Machine Facility/370 (VM/370) Library VM/370: Glossary and VM/370: Introduction (Release 3) Master Index (20) GC20-1800 GC20-1813 (20)

VM/370: Planning for - * Release 3 VM/370: Terminal GC20-1817 (34) User's Guide GC20-1810 (40)

Legend: 1.*lndicates that the publication is new in Release 3. 2. The number in parentheses is the file number. Support

VM/370: Operating Systems in a Virtual * Machine GC20-1821 (34) VM/370: Interactive Problem Control System (IPCS) User's Guide GC20-1B23 (37) eMS User VM/370: CP Command Reference for General Users VM/370: CMS User's * VM/370: OL TSEP and Guide GC20-1820 (36) Error Recording Guide

GC20-1B19 (391 GC20-1B09 (37)

Operations System Programming

VM/370: CMS Command and Reference

GC20-1818 (361

VM/370: Operator's ...... Guide I. ,--_s_~~:_:~_:_~: ~_i~:_e:_u_::_:_:,~ I GC20·1806 (40)

VM/370: Data Areas Il and Control Block Logie SY20-0884 (361 OSIVS, DOSIVS and VM/370 Assembler Language

GC33-4010 (211 VM/370: Service Routines Program Logic

OSIVS and V.M/370 SY20-0882 (371 Assembler Programmer's Guide

GC33-4021 (211 ~~?~:'Y~,::,o I VM/370: System Messages

GC20-1808 (40) * I VM/370: Quick Guide for ~¥§:if~~! Users I I GX20·1926 (361 If a/l documents VM/370: Commands are to be ordered, J (General Userl ple8SfJ use Order < No. GBOF3576 GX2Q-1961 (36) VM/370: Commands * (Other than General User) , IGX20-1995 (361 iii: .. ~;;:~:::::~@I Figure 1. virtual Machine Facility/370 Library Contents

INTRODUCTION ••••••••••••••• 9 Program Development and Execution •• • • 31 VM/370 Components: CP, CMS, RSCS, and Manipulation of User Files • • • • • • 31 IPCS. • • • • • • • • • • • • • • • .9 Program Compilation and Execution Virtual Machine Operating Systems. • .9 Commands. • • • • • • 32 The VM/370 Directory • • • • 10 Control Commands • • • • • • • • • 32 Virtual Machine Components 10 Language Processors. • • • • • • • 33 Virtual System Console • • • 10 Alternating Operating Systems. 33 Virtual Storage. • • • 10 tebugging Facilities • • • • • • • 34 Virtual CPU. • • • • • • • • 11 CMS Batch Facility • • • • • • 34 Virtual Channels and I/O Devices • 11 VM/37Q Applications. • 12 REMOTE SPOOLING COMMUNICATIONS Programming •••• • 12 SUBSYSTEM • • • • • • • • • • • • • 35 Operations • • • • • 13 The RSCS Teleprocessing Network. 35 Interactive Use. • • 14 The Real CPU • • • • • • • • • • • 36 RSCS Teleprocessing Hardware CONTROL PROGRAM ••• • 15 Requirements. • • • • • • • 36 Virtual Machine Time Management. • 15 Remote Stations •••••••• • • 36 Performance Options for Virtual Using RSCS • • • • • • • • • • • • • • • 36 Machine Time Management • • • • • 15 Linking Geographic Locations in the Virtual Machine Storage Management • 16 RSCS Network. • • • • • • • • • • • • 36 Performance Options for Virtual Commands Used To Transmit Files and To Machine storage Management. • • • • • 17 Control the RSCS Network. • • • • 37 Virtual Machine I/O Management • • 18 Spooling unit Record I/O • • • • • 19 APPENDIX A: SYSTEM REQUIREMENTS. • • 39 Spooling virtual Console I/O • • • • • • 20 Machine Requirements •••• • • 39 Remote Spooling. • • • • • • • 20 CPUs • • • • • • • • • • • 39 CP Commands. • • • • • •••• 20 systell Consoles. • • • • • • • • • 39 Privilege Classes. • • • • • • 20 Telecommunications • • • • • • • • 39 General Users. •• • • • •• • 20 Direct Access Storage Devices. • • 40 Other Users. • • • • 22 Direct Access Control Units •• 41 Performance. • • • • • • • • • 22 Magnetic Tapes • • • • • • • • • • 41 virtual Machine Channel Mode Magnetic Tape Control Units •• 41 Selection • • • • • • • • • • • • 23 Printers • • • • • • • • • • • • • 41 Virtual Machine Assist Feature • • 23 Reader/Punches • • • • • • • • • 42 VM/370 Extended Control-Program Unit Record Control Units ••• • • 42 support • • • • • • • • • • •• • 23 Minimum VM/370 Configuration • • • 42 Performance Measurement and Analysis • 24 VM/370 Programming Characteristics • • • 42 Virtual Machine Communication Facility 24 Support Considerations • • • • • • • 42 VM/VS Handshaking. • • •• • • • • • 25 Closing CP Spool Files • • • • • 25 APPENDIX B: LANGUAGE PROCESSORS AND Pseudo Page Faults • • • • • 25 EMULATORS • • • • • • 43 VS1 Nonpaging Mode. • • • • • 25 VM/370 Assembler • • 43 Miscellaneous Enhancements • 25 Program Products • • • • 43 VM/VS Handshaking Requirements • • 25 Installed User Programs •• • • 43 Reliability, Availability, And Integrated Emulators • • • • • 44 Serviceability. • • • • • • • • • • 26 RAS Features of VM/370 Design. • • 26 APPENDIX C: VM/370-RELATED PUBLICATIONS FOR CMS USERS • • • • 45 CONVERSATIONAL MONITOR SYSTEM ••• • 27 CMS Configuration. • • • • • • • • • 27 INDEX. • 49 CMS •••••••••• • 29 Initialization and Dump Restore •• • 30 CMS COllmand Language • • • • • • • • 30 Figures

Figure 1 • Virtual Machine Facility/370 Figure 8. Comparison of storage Usage Library •••••••••••• Frontispiece for Virtual Machines with and Figure 2. Virtual Machine Operating without virtual=Real Option •• 18 Systems ••••••••••••••••••••••• 9 Figure 9. CP Privilege Class Figure 3. Multiple Virtual Machines •••• 10 Descriptions ••••••••••••••••• 21 Figure lJ • Logging on VM/370 and Figure 10. Sample CMS Configuration ••••• 28 Loading CM S •••••••••••••••••• 10 Figure 11. VM/370 Directory Entry for Figure 5. Real Disk Containing a CMS Machine •••••••••••••••• 28 Minidisks •••••••••••••••••••• 11 Figure 12. CMS •••••••••••••• 30 Figure 6. Virtual Devices: Figure 13. A VM/370 RSCS Teleprocessing Transmission Control Network •••••••••••••••••••••• 35 Units •••••••••••••••••••••••• 12 Figure 14. Linking virtual Machines and Figure 7. Virtual Machines for Remote stations •••••••••••••• 37 Concurrent Production, Figure 15. IBM Program Products ••••••••• 43 Development, and Testing ••••• 14 Figure 16. Integrated Emulators that Execute Under VM/370 ••••••••• 44 Summary of Amendments for GC20-1800-6 VM/370 Release 3 PLC 8

VM/370 SUPPORTS THE VIRTUAL MACHINE • The System Display Console for the COMMUNICATION FACILITY (VMCF) above CPUs. In display mode the system console is !~~: Program Feature supported on a 3277 display terminal. In printer-keyboard mode, the 3286 The virtual Machine Communication console printer is required. Facility (VMCF) provides a method of communication and data transfer between • The 3203 Printer Model 2 (for the virtual machines operating under the System/370 Models 138 and 148 only). same VM/370 system. Data is transferred in up to 2048-byte blocks from virtual • The virtual machine assist function storage to virtual storage; data length is limited only by the sending and • VM/370 Extended Control-Program receiving machine storage sizes. support VMCF is described in "Virtual Machine VM/310 Extended control-Program Support Communication Facility." is a combination of a CPU hardware assist and VM/310 programming. This support is described in "VM/310 Extended Control-Program Support"of the "Control VM/370 SUPPORTS THE NEW SYSTEM/370 MODELS Program" section. 135-3, 138, 145-3, AND 148

~g~: Hardware Feature VM/370 supports the System/370 Models 135-3, 138, 145, and 145-3. This support includes the following: Summary of Amendments for GC20-1800-5 as updated by GN20-2687 VM/370 Release 3 PLC 4

VM/370 SUPPORTS THE IBM SYSTEM/32 AND VM/370 NOW SUPPORTS THE IBM SYSTEM/370 SYSTEM/3 FOR RSCS MODEL 168 ATTACHED PROCESSOR SYSTEM

B~~: Specification Change B~!: Device Support The IBM System/370 Model 168 Attached The system/32 and the system/3 Models 6, Processor System is now supported. 8, 10, 12, and 15, with the "Appendix A: system Requirements" MULTI-LEAVINGl Job Entry Work station reflects this support. (MRJE/WS) System Utility Program are now supported as RSCS remote work stations. "Appendix A: system Requirements" reflects this support.

lTrademark of IBM Summary of Amendments for GC20-1800-5 VM/370 Release 3 PLC 1

INTERACTIVE PROBLEM CONTROL SYSTEM (IPCS) VS/APL SUPPORTED BY CMS SUPPORTED AS A VM/370 COMPONENT !~!: Program Feature !§!: Program Feature CMS supports the VS APL interpreter. This support is reflected by the The Interactive Problem Control system following changes to this publication: (IPCS) provides online problem tracking; it uses facilities using an extended • "Language Processors" in the form of the CMS VMFDUMP command and five "Conversational Monitor System II new CMS commands. IPCS runs as a section is updated. service program in a CMS virtual machine. For detailed information • "Appendix B: Language Processors and describing IPCS, refer to the Emulators" is upda ted. publication !~L1IQ: 1~1~~s£1!Y§ Problem ~Qnt~Q! 2I§1~! (!g£~) Y§~~~2 -QY~~i: • "Appendix C: VM/370-Related Order No. GC20-1823. Publications for CMS Users" is updated. In trod uction

Virtual Machine Faci1ity/370 is a system CMS users can create and manage files, control program (SCP) that manages a real and compile, test, and execute problem computing system so that all its resources programs. (CPU, storage, and input/output devices) are available to many users at the same • The Remote Spooling Communications time. Each user has at his disposal the Subsystem (RSCS): RSCS users can functional equivalent of a real, dedicated transmit files to and receive files from computing system. Because this functional remote stations in the RSCS equivalent is simulated for the user by teleprocessing network. VM/370 and does not really exist, it is called a virtual machine. • The Interactive Problem Control System (IPCS): IPCS provides VM/370 problem VM/370 is designed for the IBM analysis and management facilities, System/370 Models 135, 135-3, 138,,145, including problem report creation, 145-3, 148, 155 II, 158, 165 II, and 168. problem tracking, and CP abend dump The real System/370 must have the Dynamic analysis. Address Translation (DAT) feature, a hardware feature that translates virtual storage addresses to real storage addresses, and the System Timing Facility. Virtual Machine Operating Systems Also, it must operate in extended control mode, a mode in which all the features of a System/370, including dynamic address While the control program of VM/370 manages translation, are operational. the concurrent execution of the virtual machines, an operating system must manage VM/370 is the System/370 version of a the work flow within each virtual machine. control program called CP-67/CMS, which Because each virtual machine executes performs similar functions on a System/360 independently of other virtual machines, Model 67. Like its predecessor, VM/370 each one may use a different operating provides: system, or different releases of the same operating system. • Virtual machines and virtual storage Figure 2 lists the operating systems • The ability to run multiple operating that can execute in virtual machines. CP systems concurrently provides each of these with virtual device support and virtual storage. The operating • A conversational, time-sharing system systems themselves execute as though they are controlling real devices and real A major difference between CP-67/CMS and storage, but they must not violate any of VM/370 is that VM/370 has a Remote Spooling the VM/370 restrictions listed in the communications Subsystem (RSCS) • In !~L1IQ: glgnning gng §Y§igm §~n~~giiQn addition, VM/370 supports such devices as Guide. For more information about virtual the IBM 3330 Disk Storage, the IBM 3340 machInes, see !~L]lQ: QE~~~iing §Y2i~!2 in Direct Access Storage Facility, the IBM 2 !i~iygl ~2£hin~· 3350 Direct Access Storage and the IBM 2305 Fixed Head storage, and offers several options to enhance performance in the r virtual machine environment. I Batch or 1§!ng!g=Y2g~_!nig£g£ii!~ ~!!!iiE!~!££~§2 I DOS VM/370 VM/370 Components: CP, CMS, RSCS and I DOS/VS Time-Sharing I OS/PCP Option of OS IPCS I OS/MFT VM/370 has four components: I OS/MVT I OS/VS1 • The Control Program (CP): CP controls I OS/VS2 the resources of the real computer to lOS-ASP provide multiple virtual machines. I PS44 L---I ______RSCS _ • The Conversational Monitor System (CM~: -l eMS users have a wide range of Figure 2. Virtual Machine Operating conversational, time-sharing functions. systems

Introduction 9 Figure 3 shows six virtual machines notifies him that he is logged on. The executing concurrently under the control of user then loads an operating system, in CP on an IBM System/370 Model 138, with this case, CMS. 1024K of real storage. One machine is doing batch production work under the .-- current release of DOS; a second is 1 executing programs that require a previous 1 /370 online release of DOS; and a third is controlling 1 logon smith the RSCS network. The other three virtual 1 ENTER PASSWORD: machines are executing CMS: there is one 1 virtual CMS machine for each of three 1 LOGON AT 11:03:18 ON THURSDAY 01/15/76 separate conversational users. 1 1 ipl cms • " I ______----.J I I L- I Model 138 1 Figure 4. Logging on VM/370 and Loading I 1024K I CMS I ______1 I L I I 1 Virtual Machine Components I 1 1 r------, 1 1 I .---, I DOS/VS 1 I 1 1 1 1 The components of a virtual machine 1 Batch I<.J 1 1-->1 CMS 1 configuration are: IProcessinglL-______---' I 1 1 1 I 1 L____ ~ • virtual system console I 1 • Virtual storage 1 I • Virtual CPU r------' 1 1 .----, • Virtual channels and I/O devices I DOS 1 1 1 1 1 IPreviousl<---~ 1---> 1 CMS 1 Each user's entry in the VM/370 1 1 L ______release..J 1 1 1 directory defines the devices and the 1 L--__--I amount of storage he needs. Descriptions 1 of the virtual machine components follow. I .----, 1 ~I-----~I 1 1 1 1 1 1 RSCS 1<------1 L ___> 1 CMS 1 VIRTUAL SYSTEM CONSOLE I 1 I I L-_____..J L.,,____ .J Figure 3. Multiple Virtual Machines The user's terminal, for example an IBM 2741 Communication Terminal or an IBM 3277 Display Station, serves as the virtual The VM/3i'O Directory system console. By entering commands at his terminal, a user can perform almost all the functions an operator can perform on a The VM/370 directory is a disk-resident real machine system console. He can load file that contains an entry for each of the an operating system, stop and start virtual virtual machines in the VM/370 system. machine execution, and display and change Each directory entry contains a user the contents of registers and storage. identification (userid), a password, the storage size of the virtual machine, the command privilege class or classes assigned to the user, and the I/O devices he can VIRTUAL STORAGE use. It may also contain other optional information. When the user logs on the VM/370 system by entering a valid userid Each virtual machine has its own virtual and password, a virtual machine is created storage space. It may be as small as 8K for him, based on the information in his (8192) bytes or as large as 16 million directory entry. He then can use his bytes, or any size in between that is a virtual machine. multiple of 4K (4096) bytes. The virtual machine uses this storage space exactly as Figure 4 shows a logon procedure of a though it is real storage, but it is not user whose userid is "smith." When he limited by the storage size of the real enters his password, the printing or machine. For example, three virtual displaying of the password may be masked machines of 256K bytes each can execute on for security purposes. CP accepts his a single real computing system that has use rid and password as correct, and only 384K bytes of real storage. This is

10 IBM VM/370: Introduction possible because CP brings into real error recovery processing, are the complete storage whatever part of virtual storage is responsibility of the virtual machine needed for the virtual machine's execution, operating system. but does not necessarily keep in storage those parts that are not needed Virtual and real device addresses may immediately. Instead, they may be sent to differ. CP converts virtual channel and a direct access device and stored until device addresses to real channel and device they are needed again. equivalents and performs any data translations that are necessary. The virtual storage size defined in the VM/370 directory may vary for virtual All virtual devices must have real machines. counterparts. For example, a virtual disk must have a real disk counterpart, or a Each virtual machine can refer only to virtual tape must have a real tape its own virtual storage. Thus each virtual counterpart. Some virtual devices, such as machine's storage is protected from the tapes, must have a one-to-one relationship activities of other virtual machines. with a real device. Others may be assigned a portion of a real device (for example, a virtual disk may occupy all or part of a real disk) • several virtual disks may be assigned to one real disk. VIRTUAL CPU Figure 5 shows three virtual disks that are assigned to one real 2319 disk volume. CP provides CPU resources to each active These virtual disks may belong to three virtual machine through time slicing. Each different virtual machines or to one virtual CPU periodically gets a of virtual machine; they can be used by CMS, real CPU time. DOS, or OS. Virtual disks are also called minidisks because more than one can be Essentially, each virtual CPU has assigned to a full-sized real disk. VM/370 available the facilities described in I~~ distributes service programs which create ~I2!~~Ll1Q RI!n£iE!~§ Q! QE~£~~!Qn, Order and change minidisks. No. GA22-7000. Some restrictions exist; they are discussed in the !~Ll1Q: ~l~DD!n~ Virtual Real ~I§~~~ §~n~I~~!Qn §y!g~. Cylinder Cylinder 2ng Numbers Numbers Single task or multitask operating o o systems can execute in a virtual machine. For example, both CMS (a single task o REALID operating system) and OS/VS1 (a multitask operating system) can execute in VM/370 virtual machines. MINIOl The virtual CPU can execute in either 48 49 basic or extended control mode (extended o 50 control mode includes all the facilities necessary to execute VM/370 as the virtual machine's operating system). For example, 25 MINI02 75 OS/MFT and OS/VS1, as well as CMS and VM/370, can execute in virtual machines. o 76 The virtual machine can execute all System/370 instructions except READ DIRECT and WRITE DIRECT. The DIAGNOSE instruction MINI03 is reserved for special program communication with CPo 126 202

Figure 5. Real Disk Containing Minidisks VIRTUAL CHANNELS AND I/O DEVICES In Figure 5, the volume serial number of A virtual machine supports the same devices the real disk is REALID. MINI01, MINI02, as a real machine. Virtual devices are and MINI03 are the labels of minidisks on logically controlled by the virtual machine the real volume REALID. Not e t hat each and not by VM/370. In most cases, minidisk starts at virtual cylinder zero. input/output (I/O) operations, and any

Introduction 11 A virtual machine configuration may A virtual channel-to-channel adapter include virtual unit record devices, such (CTCA) can be defined either with or as printers and punches. Usually a real without a real equivalent. If a real unit record device is not kept busy channel-to-channel adapter exists, a constantly, thus the input and output of virtual machine can communicate with a real several virtual unit record devices can be computing system other than its own; if it handled by one real unit record device. CP does not exist, a virtual machine can only controls these virtual devices (as well as communicate with virtual machines in the the real devices) and directs all input and same computing system. output for them to intermediate direct access storage space that has been An alternative to a virtual allocated for this purpose. This function channel-to-channel adapter is the Virtual is called spooling and is explained under Machine Communication Facility (VMeF) , "Spooling Unit Record I/O" in the "Control described in the "Control Program" section Program" section. of this publication. A virtual device that is defined as Restrictions that apply to virtual dedicated to a specific virtual machine machines are discussed in the !~L1IQ: must have a real equivalent. The virtual R!~~~!~g ~llg §Y21~m §~~~I~1!Qn g~!g~. machine, not CP, then controls both the real and virtual device. To dedicate a Factors that influence the performance virtual device, either designate it as of virtual machines, and options that can dedicated in the VM/370 directory or have be used to improve the performance, are it attached to a specific virtual machine. described under "Performance Options For Virtual Machine Time Management," A virtual machine configuration can "Performance Options For Virtual Machine include a virtual transmission control unit Storage Management," and "Performance" in (TCU). Some of the lines of a real TCU may the "Control Program" section. be defined as a virtual TCU, as shown in Figure 6. Real System/370 VM/370 Applications r .------, 1 1 1 virtual Machine A I Using VM/370, an installation can perform I .------, 1 its work more efficiently and easily. 1 1 1 Virtual Machine B I Virtual machine applications aid ~n I 1 1 1 programming, operations, and interactive 1 1 1 1 use. 1 '------' 1 1 1 1 ~ 1 PROGRAMMING 1 I 1 1 I 1 1------1 The virtual machine environment lends 1 1 1 1 itself to program development because: 1 1 VM/370 1 1 1 1 1 1 • Programs developed in a virtual machine ___- ______~_.J L can exceed the real storage size of the 1 1 real computer. 1 1 , , • Virtual machines make program testing .------, more flexible. Subject to available 1 Virtual 1 Virtual 1 resources, a virtual machine can be made .--1 2703 1 2703 1--, active whenever needed, thus relaxing 1 1 Lines 1 Lines 1 1 tight testing schedules and allowing 1 '-- --.I 1 programmers more compilations and tests 1 Real 2703 TCU 1 per day. V , r-----, • JCL () is not needed 1 I when compiling, assembling, and/or testing under CMS. 1 1 L... ___--I L Da ta Set Data Set • Users can test privileged programming code in their own virtual machines. Figure 6~ Virtual Devices: Transmission Control units • Programmers can use debugging aids at their terminal that parallel those of an

12 IBM VM/370: Introduction operator at a system console: they can storage resources are available. The (1) display and store into the general virtual machine test is analogous to one or floating-point registers or into made on a real machine, provided that: virtual storage, (2) stop execution at an instruction address, and (3) alter There are no timing dependencies. the normal flow of execution. The functions each user is allowed to The test is not measuring time. perform are defined by the privilege class (es) assigned to him. (For a Dynamically modified channel discussion of privilege classes, see "CP programs are not used except as Commands.") noted in !~L1IQ: f!gnning gng 2I§lg! §ggg£gliQg §~!gg. • CMS simplifies the creation and manipulation of source programs on disk, A possible combination of virtual and allows the user to examine selected machines in a VM/370 configuration is portions of program listings and storage shown in Figure 7. Operating system dumps at his terminal. testing is done concurrently with batch work and a variety of • RSCS users can transmit files to and conversational applications. receive files from users at other geographic locations. • VM/370 allows DOS and os, including virtual storage (VS) versions, to • The VM/370 data privacy, security, and execute concurrently on the same user-isolation features protect each System/370. Multiple copies of the same user's data, programs, and disk files operating system can also execute from access or destruction by other concurrently in separate virtual users. machines.

• Many System/360 and System/370 programs • Many types of batch applications can be can be compiled under control of CMSi executed, either in an individual within certain restrictions these virtual machine or in a virtual machine programs may also be tested under CMS. dedicated to executing programs in batch (For a more complete discussion of mode, with no change to the program. program execution under CMS refer to "Program Development and Execution" in • New computer operators can get "hands the "Conversational Monitor System" on" exper1ence uS1ng a virtual machine section.) DOS assembler language terminal as a system console. programs can be compiled under CMS if the installation adds the appropriate • An installation using VM/370 has more DOS macros to the CMS system. flexibility in using another System/370 computing system for backup. The backup system need not be the same System/370 model nor have the same amount of real OPERATIONS storage. Backup may be done in two ways: The virtual machine environment relieves The VM/370 system residence volume certain problems of scheduling, support, and the user and CMS volumes may be and backup, and expedites production in the used on another System/370 if the following ways: device addresses on both machines are the same. This is not unique • system generation, support, and testing to VM/370i the same procedure is of operating systems, as well as used to back up OS or DOS systems. conversion, can be done without a dedicated real machine, concurrently This method is unique to VM/370. with normal production work. Thorough The volumes containing only user testing in a virtual machine reduces minidisks may be carried to another errors and the possibility of abnormal computing system that is using terminations of the system. For VM/370. When this method is used, example, a user can apply a program the VM/370 directory on the backup temporary fix (PTF) to an IBM operating system must be updated to include system and test that system in one the virtual machines that it must virtual machine while he does regular now support. production work in another virtual machine using the same IBM operating The backup system must include, but system without the PTF applied. This is not limited to, the same type concurrent operation can be done and number of real devices as these provided sufficient direct access virtual machines require. Also,

Introduction 13 r------, 1 System/370 1 r----c---I Model 158 1------, 1 1 2048K 1 1 , L-______--' 1 r------, 1 1 1 512K 1 I 1 I os Batch 1 1 1 L -..J 1 1 1 r-----, 1 r------, 1-->1 512K 1 1-> 1 320K I I os Dev. I lieMS 1 L-- I L ____~ r------, I I I 1024K I 1 1 ,------, I VM/370 I I .------, 1-> I 320 K L ___• , L--.>I 512K 1 1 I CMS I lOS Dev.1 I L_____ J I L--__--' I 'f I r------. I I 2702 1 IL- ______TCU --' I I r--·----, I I L-____--, 1->1 320K r------' I I I I eMS 1 L-_.__ ---' I ~ L--, I , , , 1 I

c r- r "' r-----, r------, I r------, 1 2741 I I 2741 I I 2741 I I 2741 I L_> I 320K ITerminall ITerminall ITerminall ITerminall I CMS L ____---' L L--__---I L __. ___---'

Figure 7. Virtual Machines for Concurrent Production, Development, and Testing

the backup system must have a terminals. A user of a multiple-access sufficient number of direct access system issues the DIAL command instead storage drives so that the user of the LOGON command to connect his volumes can be mounted. terminal with the virtual machine.

Because the virtual devices defined Once his terminal is connected, the user for the virtual machines are not issues only the commands associated with assigned to specific real devices the multiple-access system. until execution time, the installations need not concern Por example, the DIAL command connects themselves with device addresses; the user's terminal with a VM/370 system VM/370 on the backup system assigns executing in a virtual machine under real devices just as it does for VM/370. Once his terminal is connected, its own virtual machines. Thus, the user communicates only with that the production work of the system particular version of VM/370. being backed up can be executed in virtual machines concurrently with Note: The user should be aware that when the execution of the virtual he-uses the DIAL command, he does not machines of the backup system. log on to CP and therefore he cannot use any CP commands.

• systems that can be executed INTERACTIVE USE interactively by a single user include the Conversational Monitor System and any operating system that can execute in Two kinds of interactive systems execute a virtual machine. A time-sharing under VM/370: multiple-access and single environment is created when VM/370 user. creates multiple virtual machines, each controlled by the same operating system. • Multiple-access systems like VM/370 These systems operate concurrently with execute in one virtual machine and each other as well as with other directly service many interacti ve conversational or batch systems.

14 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 CPU only if the virtual machine is the functional equivalent of a machine is not waiting for some resource or real computing system. Executing a program 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 a • A CP command to finish executing specific amount of virtual storage and specific virtual devices. The command privilege classes allowed for the virtual machine and optional support (such as, extended control mode) are also determined PERFORMANCE OPTIONS FOR VIRTUAL MACHINE by each virtual machine's entry in the TIME MANAGEMENT VM/370 directory.

CP controls the resources of the real VM/370 has options that can be used to computer to provide multiple virtual improve the performance of a virtual machines. CP intercepts, translates, and machine. A virtual machine with a schedules all of the real input/output performance option is termed preferred. operations of the virtual machine. All Although each option can be applied to a virtual machines execute in problem state, different virtual machine, if optimum and the control program traps and processes performance is required, usually interrupts and privileged instructions. performance options are assigned for only Only CP executes in supervisor state. one or two specific virtual machines. Two performance options can be used to increase the amount of real CPU time made Virtual Machine Time Management available to a particular virtual machine: priority and favored execution. Although virtual machines appear to their A priority value assigned to a virtual users to be executing instructions, it is machine is used, in combination with other the real CPU that is actually doing the factors, to influence the dispatching work. algorithm. A low priority value gives that virtual machine a larger slice of CPU time, VM/370 uses a technique called time provided that virtual machine can fully slicing so that one real CPU appears to be utilize the time. The priority option multiple virtual CPUs. Each virtual affects the execution of a particular machine periodically gains access to the virtual machine as compared with other real CPU for a small amount of time, called virtual machines that have the same general a time slice. CP determines how frequently execution characteristics. Priority may be and for how much time a virtual machine assigned by the system operator but is more gains access to the real CPU by examining frequently specified in the virtual the number of console requests, or terminal machine's directory entry. interrupts, the virtual machine has issued during its past time slices. If the number The favored execution option provides a is large, CP defines the virtual machine as particular virtual machine an assured a conversational user and assigns it the percentage of real CPU time, provided it smaller of two possible time slices. If can fully utilize the time. The system the number is small, the virtual machine is operator specifies this option and the a nonconversational user and is assigned percentage by the SET FAVORED command. the larger time slice. CP gives Only one virtual machine at a time can have conversational users more frequent access this form of the favored execution option. to the real CPU for short time slices, while it gives nonconversational users Another form of the SET FAVORED command, larger time slices at less frequent with no percentage specified, can be issued intervals. for several virtual machines, to ensure

Control Program 15 that they gain access to the real CPU more logged-on virtual machines and from the frequently than other virtual machines. pageable routines of VM/370 compete for available page frames. When the number of For more detailed information on these page frames available for allocation falls and other options that improve virtual below a threshold value, CP determines machine performance, see the !~LJIQ: ~l§!g! which virtual storage pages currently g~gg~~~m~~~§ ~~1Q~· allocated to real storage are relatively inactive and initiates suitable page-out operations for them. Virtual Machine Storage Management Inactive pages are stored on a direct access storage device. If an inactive page is changed at some time during virtual Each virtual machine has storage associated machine execution, CP assigns it to a with it; the amount of storage is defined paging device, selecting the fastest paging in the VM/370 directory. Each virtual device with available space. If the page is machine functions as if it has a large not changed, it remains allocated in its amount of real storage. However, each original direct access location and is virtual machine's storage is created and paged into real storage from there the next controlled by CP as virtual storage. The time the virtual machine refers to that virtual ~achine's storage can be larger or page. A virtual machine program can use smaller than the storage of the real the DIAGNOSE instruction to communicate to machine. CP that the information from one or more specific pages of virtual storage is no The directory entry contains two sizes longer needed; CP then releases the areas for each virtual machine: its normal size of the paging device that were assigned to and a maximum size. The normal size must hold the specified pages. be at least 8K (8192) bytes. The maximum size must be no larger than 16 million Paging is done on demand by CPo This bytes. Both sizes must be multiples of 4K means that a page of virtual storage is not (4096). When a user logs on, his virtual read (paged) from the paging device to a machine storage size is the amount of real storage page frame until it is storage defined as the normal size. actually needed for virtual machine However, the user can temporarily redefine execution. No attempt is made by CP to his virtual storage size to any value that anticipate what pages might be required by is a multiple of 4K (4096) and not greater a virtual machine. While a paging than his virtual machine's maximum size. operation is being performed for one virtual machine, another virtual machine storage in the virtual machine is can be executing. Paging operations are logically divided into 64K (65,536) byte initiated and performed by CP and require areas called segments. These are further no action by the virtual machine. divided into 4K byte areas called pages. For each virtual machine, CP creates and The operating system controlling a updates a set of segment and page tables to virtual machine may execute in extended describe the virtual storage and to reflect control mode. This means that an operating the allocation of the virtual storage pages system can create and control its own to page frames in real storage. These virtual storage, in addition to the virtual tables are used by the Dynamic Address storage it has which is controlled by CPo Translation feature during virtual machine The virtual machine operating systems that execution to locate the real storage can do this are: OS/VS1, OS/VS2, DOS/VS, addresses to which the virtual storage and VM/370. (VM/370 can create several addresses actually refer. virtual storages at once.) In the following example, OS/VS1 is used to The storage of the real System/370 is illustrate how an operating system handles physically and logically divided into 4K the virtual storage it creates, and how byte areas called page frames. When a page this is different from the virtual storage of virtual storage is brought into real that VM/370 creates for a virtual machine. storage, it fits exactly into a page frame. OS/VS1 creates and controls a single The heavily used portions of VM/370 are virtual storage. It creates and updates a kept in real storage. However, to optimize set of page and. segment tables that relate real storage usage only virtual storage this virtual storage to the virtual storage pages that are referred to frequently are of the virtual machine. In VM/370, "first kept in real storage. A page can be level storage" refers to real storage, brought into any available page frame; the "second level storage" refers to virtual necessary relocation is done during program machine storage, and "third level storage" execution by CP using dynamic address refers to the virtual storage created and translation. The active pages from all controlled by the virtual machine. When

16 IBM VM/370: Introduction OS/VS1 is executing, instructions and data The LOCK command can be used by the from third level storage must be available system operator to lock specific user pages to the cpu. Thus the real machine cannot of virtual storage into real storage. This use the page tables created by OS/VS1 nor eliminates paging activity for these pages. the page tables created by CPo The real Since this option reduces the number of machine must have a set of page and segment page frames that are available for use by tables that relate third level storage to other virtual machines, only frequently first level storage. CP dynamically used pages should be locked in real constructs and updates such tables, called storage. shadow tables. CP has a single set of shadow page tables for anyone virtual A more flexible approach than locked machine. A single set is all that is pages is reserved page frames. The sy.stem necessary for OS/VS1, OS/VS2, or DOS/VS. operator assigns a certain number of page frames to a specified virtual machine. However, when VM/370 itself is used as a Pages are not locked into these page virtual machine operating system, it can frames; they can be paged out, but only create multiple virtual machines, each with for other active pages of the same virtual its own virtual storage. In this case, the machine. This option is usually more shadow tables are invalidated by CP efficient than locked pages, since the whenever it passes control from one virtual pages that remain in real storage are those machine to another. that are most active at the moment, as determined by CPo Although several virtual One or more segments of virtual storage machines can have locked pages, only one can be shared among virtual machines. The virtual machine at a time can have reserved information to be shared must be read-only; page frames. it may be data or reenterable program modules. The information to be shared must During VM/370 system generation, the be part of a monitor or operating system installation can ass1gn the virtual=real (for example, CMS) that has been recorded option to one or more virtual machines. or saved on a CP-owned volume. However, only one virtual machine can use the virtual=real area at anyone time. If a user that is executing a shared With this option, a virtual=real area is system alters one of the shared segments, allocated directly from real storage when his system is put into nonshared mode. VM/370 is initially loaded, and that area Thus, whenever a user issues an ADSTOP, remains allocated unless it is released by STORE, TRACE INSTRUCT, or TRACE BRANCH the system operator. All pages, except the command that alters a shared segment, the virtual machine's page zero, are allocated shared system containing that segment is to the corresponding real storage placed in nonshared mode. locations. (To control the real computing system, CP must control real page zero.) Noncontiguous segments can be attached Consequently, the real storage size must be to and detached from virtual machines. large enough to accommodate the CP nucleus, They can be shared or nonshared. the entire virtual=real area, and the Noncontiguous segments may be within the remaining pageable storage of VM/370 and virtual machine's defined storage, appended the other virtual machines. to the end of its virtual storage, or loaded at addresses beyond its virtual The virtual=real option improves storage. VM/370 supports noncontiguous performance in the selected virtual machine segments for CMS; in this case" the because CP no longer has to perform paging addresses of the noncontiguous segments operations for it. The performance of must be greater than the highest address in other virtual machines may be adversely the virtual machine that is attaching them. affected unless enough real storage is For a description of shared segments, available for their paging requirements, so noncontiguous segments, and named systems care should be taken in assigning the see the !~Ll1Q: §Y§igm g~Qg~~mmg~~§ §~!£g. virtual=real storage size. Also, noncontiguous segments are not allowed for virtual=real systems. The !~LJ1~: gla~~ing ~Bg §y§!gm §gBg~~l!Qn §y!£~ discusses some PERFORMANCE OPTIONS FOR VIRTUAL MACHINE situations in which the virtual=real option STORAGE MANAGEMENT is necessary, and contains the formulas needed to determine the amount of virtual=real storage that is available for CP provides three performance options to varying real storage sizes. reduce or eliminate paging requirements of specific virtual machines: locked pages, Figure 8 illustrates real storage reserved page frames, and virtual=real. allocation for a DOS batch virtual machine, and a DOS virtual machine defined with the virtual=real option.

Control Program 17 r-----' r------, r------, r----, , DOS 1 1 Resident User Tables 1 Resident User Tables 1 1 1 Virtual I 1 ------1 1 C MS IMachinel--I-> <-1-1 L ____J 1 1 L ____---' 1 I I 1 r------, 1 Pagable 1 r------, 1 1 1 Storage 1 I 1 1 CMS 1-1-> <-1-1 CMS 1 1 1 1 1 1 1 L-____• I 1 L-___---' 1 Pageable 1 I Storage 1 r-----, I 1 1 1 1 1------1 1 CMS 1--> 1 1 1 CP Nucleus 1 L1 ____ ---' 1 1 1 1 1 1 1 1 Relocated DOS Page Zero 1 DOS 1------1 Virtual 1 1 Machine I DOS in 1 --I 1 Virtual=Real Area 1 1 1------1 CP Nucleus 1 1 1 L-____ 1 I CP Page Zero 1 -I L

Figure 8~ Comparison of Storage Usage for Virtual Machines With and Without Virtual=Real Option

Virtual Machine I/O Management state, CP gains control when the Start I/O instruction is issued by the virtual machine operating system. CP copies into The virtual machine operating system is its own work area the channel command list responsible for the operation of all specified by the operating system, and virtual devices associated with it. These pages into real storage all virtual storage virtual devices may be defined in the locations required for data transfer. The VM/370 directory entry of the virtual specified pages are fixed in real storage machine, or they may be attached to (or until the input/output operation completes. detached from) the virtual machine while it If a single channel command word specifies remains logged on. Virtual devices may be a data area extending over multiple pages dedicated, if they are assigned to a fully of contiguous virtual storage, CP generates equivalent real device; shared, if a channel programs that use channel indirect minidisk is linked by more than one virtual data addressing to handle noncontiguous machine; or spooled by CP to intermediate page frames. If the virtual device is a direct access storage. minidisk, CP modifies any cylinder numbers specified to reflect the true location of When OS executes in a real machine, the data. CP assigns the virtual device input/output operations are initiated when address to the real device and schedules an a problem program requests OS to issue a actual input/output operation. Start I/O instruction to a specific device. Device error recovery is handled by the During this processing, CP designates operating system. In a virtual machine, OS the virtual machine as not executable. When can perform these same functions, but the the virtual machine gains control, CP gives device address specified and the storage it a suitable condition code (as on a real locations referre~ to are virtual. CP machine) to indicate the status of the translates the virtual addresses to real Start I/O operation. In addition, CP addresses. reflects the interrupts caused by the input/output operation for its Because the virtual machine executes interpretation and processing. only in virtual (not real) supervisor

18 IBM VM/370: Introduction If input/output errors occur, CP does When the Diagnose interface is used, CP not initiate error recovery operations; handles input/output error recovery these are the responsibility of the virtual operations. machine operating system. Basic error recording is, however, provided by CPo For Input/output operations initiated by CP more information on error processing, see for its own purposes, for example, paging the !~LJIQ: ~ll~~~ g~g ~~~Q~ B~£Q~~in~ and spooling, are performed directly and ~y'!g~. are not subject to the translation process described in the preceding paragraphs. The programs to be executed in a virtual machine (except a virtual=real machine) For a description of how virtual generally must not include dynamically machines running under the same VM/370 modified channel programs. These and other system can communicate and exchange data, restrictions that apply to virtual machines see "Virtual Machine Communication are discussed in the !~Lllg: R!gn~!~g g~g Facility" in this section. 2~§!~~ §~n~~g!!Qn §y!g~. Virtual disks can be shared by several virtual machines. Virtual disk sharing is Spooling Unit Record I/O specified in the VM/370 directory entry or by a user command. If the user issues the CP LINK command to share a virtual disk, he CP spooling facilities allow multiple must supply the appropriate password before virtual machines to share real unit record he can gain access to the virtual device. devices. Since virtual machines controlled by CMS ordinarily have low requirements for A particular virtual machine may be unit record input/output, real device assigned read-only or read/write access to sharing is advantageous, and is the a shared virtual disk. CP checks each standard mode of system operation. virtual machine input/output operation against the specifications in the virtual CP, not the virtual machine, controls machine configuration to ensure device the unit record devices that are designated integrity. as spooled in the directory entry. When the virtual machine issues a Start I/O Virtual disks may be defined for instruction to a spooled unit record temporary use by a virtual machine. In device, CP intercepts the instruction and that case, CP allocates real disk storage modifies it. CP moves the data into to the virtual machine until the virtual page-size records (that is, 4096-byte machine logs off or specifically detaches blocks) on a VM/370 disk area that serves the temporary virtual disk. as intermediate storage between the real unit record device and the virtual machine. A virtual machine may be assigned a dedicated channel, via the ATTACH CHANNEL Input spool files, that is, data command. If a virtual machine is assigned available at a virtual card reader, can be a dedicated channel, it has that channel created from real card decks. The real and all of its devices for its exclusive machine operator places the card deck in use. CP translates the virtual storage the input hopper of the real card reader. locations specified in channel commands to The real card deck must be preceded by a real locations and performs any necessary USERID card that names the virtual machines paging operations, but does not need to to receive the card deck. translate any device addresses. The virtual devices on a dedicated channel must Input spool files can also be created by have direct, real equivalents (for example, using RSCS remote work stations. The minidisks are not allowed), and the virtual operator at the remote work station must and real device addresses must be place a card deck in the hopper of the identical. A channel dedicated to a remote card reader. This card deck must be virtual machine cannot be used by any other preceded by a USERID card that names the virtual machine. Virtual machines may have RSCS virtual machine and the virtual a mixture of dedicated and nondedicated machine that is to receive the card file. channels. In this way, cards at a remote location can be made available to any virtual machine. A virtual input/output operation by CP can be simplified if the virtual machine Output spool files are created on direct uses the Diagnose interface. The access storage when the virtual machine Conversational Monitor System, which was operating system writes to a virtual punch designed specifically for the virtual or printer. Real output is scheduled for a machine environment, uses this interface real printer or punch, or for remote instead of the normal Start I/O instruction output, whenever a user logs off the system for most of its input/output operations. or issues a CP CLOSE command.

Control Program 19 If the direct access storage space CPCommands assigned to spooling becomes full, spooling stops and the virtual unit record devices appear to be not ready. The spooling CP commands are used interactively by operator must make additional spooling operators and systems personnel to control space available. He can purge existing the real computing system and VM/370, and spool files or assign additional direct by users to control virtual machines and access storage space for spool files. tbeir operating systems.

Specific files can be transferred from CP commands can be used at any time, the spooled card punch or printer of a without regard to which operating system is virtual machine to the card reader of the controlling the user's virtual machine. To same or another virtual machine. (A issue CP commands, the user must first virtual card reader is not limited to suspend execution in the virtual machine by 80-character records.) Files transferred signaling an attention interrupt to between virtual unit record devices by the VM/370's control program; a virtual machine spooling routines are not physically attention interrupt is equivalent to punched or printed. The CP spooling pressing the stop button on a real support can make files available to computing system. However, the CMS user multiple virtual machines, or to different can 1ssue CP commands without leaving the operating systems executing at different CMS environment, that is, without signaling times in the same virtual machine. an attention interrupt. CP can print multiple copies of a single spool file, backspace any number of printer pages, and define spooling classes for real PRIVILEGE CLASSES output files. Each user of VM/370 is assigned one or more privilege classes as part of the directory Spooling Virtual Console I/O entry of his virtual machine. The privilege classes define the subset of CP commands that each user can execute. CP allows the user to spool his virtual machine's console input/output on disk, Figure 9 defines each privilege class, instead of, or in addition to, having it listing the functions and the users displayed at his terminal. The data associated with each privilege class. spooled includes messages from or to the Figure 9 also indicates which publications virtual machine operating system, CP describe the commands for each class. commands entered by the user, CP messages and responses, and messages from or to the system operator. Console spooling is invoked by the SPOOL CONSOLE command. It GENERAL USERS is particularly useful when the virtual machine is executing with the terminal disconnected, because the virtual console To activate his virtual machine, the user output, which would otherwise be lost, is must establish a connection with the real saved on disk. The saved data is later computing system that is executing VM/370. printed on the real printer. When a At that point, the user issues the LOGON console spool file is closed, it becomes a command to identify himself to VM/370. printer spool file. VM/370 then creates the control blocks necessary to simulate the virtual machine configured in the user's VM/370 directory entry. Remote Spooling The user's terminal can also be a remote terminal for a multiple-access virtual CP, in conjunction with RSCS, supports machine operating system (such as VM/370). remote spooling, that is, RSCS transmits To identify himself to a multiple-access files across a teleprocessing network. The system, the user must issue the DIAL "Remote Spooling communications Subsystem" command. Thereafter, his ter~inal is section describes RSCS and how it is used. controlled by the multiple-access system directly. The user's terminal must be of a type supported by the multiple-access system.

20 IBM VM/370: Introduction r Class User and Function

A1 ~~i~g~I §I§!~~ gB~~g!~~: The class A user controls the VM/370 system. class A is assigned to the user at the VM/370 system console during IPL. The primary system operator is responsible for the availability of the VM/370 system and its communication lines and resources. In addition, the class A user controls system accounting, broadcast messages, virtual machine performance options and other command operands that affect the overall performance of VM/370.

~Q!g: The class A system operator who is automatically logged on during CP initialization is designated as the primary system operator.

~I§!~~ g~§~y~£~ QB~~g!Q~: The class B user controls all the real resources of the VM/370 system, except those controlled by the primary system operator and spooling operator.

CI,2 §I§!gm ~£Qg~gmm~£: The class C user updates certain functions of the VM/370 system.

§EQQ!!Bg QE~£g!Q£: The class D user controls spool data files and specific functions of the systemrs unit record equipment.

§I§!~~ !BgJI§!: The class E user examines and saves certain data in the VM/370 storage area.

Fl ~~~!i£~ g~B~~§~B!g!i!~: The class F user obtains, and examines, in detail, certain data about input and output devices connected to the VM/370 system. General User: The class G user controls functions associated ;I~~-~~e-;i;cution of his virtual machine.

Any 3 The Any classification is given to certain CP commands that are available to any user. These are primarily for the purpose of gaining and relinquishing access to the VM/370 system.

H Reserved for IBM use.

IDescribed in the Y~Ll1Q: QE~~g!2~~§ QYi~~. 2Described in the Y~Ll1Q: §I§!~~ 1~g!£ gB~ R~2~J~~ ~g!~£!!BgiiQB Guide. L1 ______3 D;scribed in the !~L~l~: £R £2~~gBg ~~!~~gB£g !2~ §~B~£g! Q2~£2· -J Figure 9. CP Privilege Class Descriptions

After the user has his terminal ,HggBiBg connected, he loads an operating system Resumes execution in the into his virtual machine, using IPL virtual machine (the functional command. The user can stop execution in equivalent of pressing the the virtual machine to invoke commands that Start key on a real computing simulate the functions of the operator's system) • console or control his virtual machine. Some of these commands are: DETACH Removes a specified device from the virtual machine f2m~g!!~ ~ggB!Bg configuration. ADSTOP Defines an instruction address stop location in virtual storage.

Control Program 21 £Q!!!!~!!Q. ~g~!!i!!g machines.) System operators control the DISPLAY Displays specified virtual orderly activity of the real computing machine registers or virtual system with the PORCE command to terminate storage contents in hexadecimal a particular virtual machine, SHUTDOWN to or EBCDIC. terminate all VM/370 functions so that a VM/370 restart can be performed, and ACNT EXTERNAL Causes an external interrupt. to create accounting records for all active users. LINK Makes a specified virtual direct access storage device a System resource operators can control part of the virtual machine communication lines with ENABLE and configuration if the device is DISABLE, logically remove a device from the defined as shared and the user real computing system with DETACH and VARY, can supply the appropriate and add a device to either the real password. computing system or a virtual machine configuration with ATTACH. QUERY Displays certain system spooling operator commands include information such as the log BACKSPAC, PLUSH, PURGE, REPEAT, SPACE, message, the number of spool HOLD, and FREE. files~ or the virtual machine configuration. system analysts can issue DCP to display real storage locations at the terminal or READY Simulates a device end DMCP to print them offline. The SAVESYS interrupt from a virtual command saves an image of a virtual device. machine's storage space, registers, and program status word on a CP-owned volume. SET Establishes certain system values such as the level of error message to be printed or the amount of VM/370 line Performance editing for terminal input lines. The performance of any computing system is SPOOL Alters the spooling control judged by how efficiently and quickly it options (such as number of processes the work it has to do. copies) for one or more virtual unit record devices that are The following factors influence the used for spooling. In performance of a VM/370 system: addition, this command transfers data files among • The System/370 model used. users and remote stations, and starts and stops console • The total number of virtual machines spooling. executing. STORE Inserts data into virtual • The type of operating systems being used machine registers or virtual in the virtual machines. storage. • The type of work being done by each TERMINAL Allows the user to define the virtual machine. VM/370 logical editing symbols and the logical line size of • The type, capacity~ and number of I/O to and from his terminal. primary paging devices.

• The number of channels available.

OTHER USERS • The channel operating mode, block multiplexer or selector.

Users, other than the general user, can • The amount of real storage available. perform additional functions. VM/370 system operators c~n use the SET command to I • The use of the virtual machine assist dynamically provide any of the VM/370 I feature or the VM/370 Extended performance options, except virtual=real, I Control-Program Support. to a particular virtual machine. (The virtual=real option is defined during In general, the best performance is seen VM/370 system generation and specified in in a VM/370 system that has a large amount the VM/370 directory for selected virtual of real storage, VM/370 hardware assist,

22 IBM VM/370: Introduction many channels available, many large primary DEFINE command in the VM/370 directory paging devices, and relatively few virtual entry for a virtual machine. machines executing at anyone time. However, virtual machines that are executing CMS make smaller demands on system resources than do virtual machines VIRTUAL MACHINE ASSIST FEATURE running other operating systems, particularly those that manage their own virtual storage. Therefore, a VM/370 The virtual machine assist feature, which system can satisfactorily manage many more improves the performance of VM/370, is a virtual machines using CMS than, for combination of a CPU feature and VM/370 example, virtual machines using os. programming. Virtual storage operating systems (such as OS/VS1 and DOS/VS) that It may be possible to improve the execute in problem state under control of performance of an operating system such as VM/370 use many privileged instructions and os by substituting CP paging for virtual SVCs that cause interrupts that VM/370 must machine I/O operations. To do this, the handle. When the virtual machine assist user must specify frequently-used os feature is used, many of these interrupts functions (such as, transient subroutines are intercepted and handled by the CPU; and ISAM indexes) as resident. CP can then consequently, VM/370 performance is bring the page containing the routine or improved. data into real storage when it is needed. The virtual machine assist feature is Instead of constructing problem programs available with System/370 Models 135, 145, with complicated overlays, programmers 15S, and 168. The virtual machine assist should allow CP's paging facilities to feature is standard on the System/370 manage storage dynamically. Models 135-3, 138, 145-3, and 148. Whenever VM/370 is loaded on a CPU that has the virtual machine assist feature, the VIRTUAL MACHINE CHANNEL MODE SELECTION feature is enabled for all virtual machines on the system. The system operator can disable and enable the feature for the Virtual machine SIO (start I/O) operations system, using the SET SASSIST command. are simulated by CP in three channel modes: byte multiplexer, selector, and block When a user logs on, the assist feature multiplexer. is enabled for his virtual machine, if it is enabled for the system. The general Virtual byte multiplexer channel mode is user can set the feature off for his reserved for I/O operations for devices virtual machine, and later set it on again. allocated to channel zero. He can also control whether SVC interrupts are handled by the assist feature or by Selector channel mode, the default mode, VM/370. is the mode of operation for any channel that has an attached channel-to-channel Under some conditions the virtual adapter (CTCA), regardless of the selected machine assist feature cannot be' used. CP channel mode setting. Because the CTCA is automatically turns the feature off if the treated as a shared control unit, it must user invokes certain TRACE functions. CP be connected to a selector channel. automatically turns the feature on again when the user ends the TRACE FUNCTION. Block multiplexer channel mode allows the virtual machine's operating system to For further information about SVC overlap SIO requests to multiple devices handling, the assist feature, and improving connected to the same channel. For a performance in the virtual machine virtual machine in block multiplexer mode, environment, refer to the !~lIQ: 2Y§i~m CP simulates a real block multiplexer ~~29~~~~~~~§ Q~!g~. operation. Note: CP simulation of block multiplexing does not reflect channel available VM/370 EXTENDED CONTROL-PROGRAM SUPPORT interrupts (CAls) to the user's virtual machine. VM/370 Extended Control-Program Support is The selection of block multiplexer a hardware assist function that is channel mode or selector channel mode is available only on the System/370 Models effective regardless of the real channel 135-3, 138, 145-3, and 148. This hardware devices on the System/370. The channel assist function, when used with the operating mode is selected via the CP standard virtual machine assist feature

Control Program 23 described previously, further reduces PERFORMANCE MEASUREMENT AND ANALYSIS VM/370's real supervisor state time needed to support virtual machines. VM/370 Extended Control-Program Support provides The VM/370 control program has two commands the following functions: that measure system performance: MONITOR and INDICATE. The MONITOR command collects I. Expand€d Virtual Machine Assist system measurement data offline for the I. CP Assist system operator or system analyst, while I • Virtual Interval Timer Assist the INDICATE command displays system measurement data online for the system analyst or general user. Whenever VM/370 is loaded on one of the above CPUs, all three hardware assist The MONITOR command gathers data functions plus virtual machine assist are relating to most aspects of system activated unless turned off by the system performance and writes the data on tape. operator, or unless the hardware level and When the data collected on tape is software level do not match. summarized, it may indicate the conditions contributing to performance degradation. Expanded virtual machine assist includes a more comprehensive emulation of the SSM, The INDICATE command displays, at the LPSW, STN SM, and STOSM pri vileged terminal, some key information about the instructions. Additional privileged system to show the current performance instructions are also emulated. The conditions. INDICATE displays the assist function is not part conditions existing at the time it is of expanded virtual machine assist. issued. If, after using the INDICATE command, the system analyst wants more CP assist provides a hardware assist for extensive data collection and reduction he the high-use portions of the following CP can use the MONITOR command. functions: Refer to the !~Ll1Q: ~Y21~m R£Qg£~mm~~~2 I. Virtual Machine I/O 2y!gg, the !~Ll1Q: QEg£~lQ£~2 2~!gg, and I. Storage Management the !~L1IQ: £f £Q!!g~g Eg!g£~n£~ !Q~ I. Page Management General Users for details about the MONITOR I. Privileged Instruction Handler and-iNDICATE-commands. I. Dispatcher

The appropriate CP software routine is I VIRTUAL MACHINE COMMUNICATION FACILITY used if (1) CP assist is turned off, (2) assist feature does not support the specific service required, or (3) an error The Virtual Machine Communication Facility condition occurs. (VMCF) provides the capability for one virtual machine to communicate with and Virtual interval timer assist provides exchange data with any other virtual for hardware updating of the location 80 machine operating under the same VM/370 interval timer for each virtual machine system. that has the virtual timer assist function turned on. This timer assist provides a Messages and data are directed to other more accurate and repeatable interval timer virtual machines via the userid. Data is value for virtual machines than was transferred in up to 2048 byte blocks from previously possible through CP software. the sending virtual machine's storage to the receiving virtual machine's storage. Both virtual machine assist and expanded The amount of data that can be moved in a virtual machine assist are automatically single transfer is limited only by the turned off if the user invokes certain sizes of virtual machine storage of the TRACE functions. In addition, virtual respective virtual machines. interval timer assist is turned off if external interrupts are traced. When the Use of real storage is minimal. Only tracing function is terminated, CP one real storage page need be locked during automatically reactivates these VM/370 the data transfer. A special external hardware assist functions. interrupt is used to notify one virtual machine of a pending transfer of data; this For more details on VM/370 Extended interrupt is also used to synchronize the Control-Programm Support, refer to the sending and receiving cf data. !~Ll1Q: ~Y21g!! f~Qg~gmm~~.!..§ ~y.!g.§l. VMeF is implemented by means of functions invoked using the ·DIAGNOSE instruction and a special parameter list.

24 IBM VM/370: Introduction For example, the SEND function directs a machine is placed in page wait by VM/370 message or block of data from virtual until the needed page is available. machine storage in the source (or sending) virtual machine to virtual storage in the However, with the handshaking feature, a sink (or receiving) virtual machine; the multiprogramming (or multitasking) VS1 RECEIVE function allows a virtual machine virtual machine can dispatch one task while to selectively accept messages or data. waiting for a page reguest to be answered for another task. VM/370 passes a pseudo A more detailed description of VMCF page fault (program interrupt X '14 ') to functions and how they can be invoked in a VS1. When VS1 recognizes the pseudo page virtual machine is contained in the Y~L]lQ: fault, it places only the task waiting for ~Y2~§! g~ggfg!!§f~2 §yigg. A description the page in page wait, and can dispatch any of VMCF logic is contained in the Y~L]lQ: other VS1 task. Thus, when VS1 uses pseudo ~Y2~§! 199i£ g~g ~f9B!g! ~g!gf!i~~!ig~ page faults, its execution under the 2!!igg· control of VM/370 more closely resembles its execution on a real machine.

VM/VS Handshaking VS1 NONPAGING MODE

VM/VS Handshaking is a communication path between the VM/370 control program and When VS1executes under the control of OS/VSl that makes each system control VM/370 and its virtual address space is program aware of any capabilities or equal to the size of the VM/370 virtual requirements of the other. VM/VS machine, VS1 is in nonpaging mode. When VS1 Handshaking: executes in nonpaging mode, it uses fewer privileged instructions and avoids • Closes CP spool files duplicate paging. However, VS1 may have a larger working set when it executes in • Processes VS1 pseudo page faults nonpaging mode than when it does not. Nonpaging mode is available only when the • Provides an optional non paging mode for VM/VS Handshaking feature is active. VSl when it executes with VM/370 • Provides miscellaneous enhancements for VS 1 when it executes under the control MISCELLANEOUS ENHANCEMENTS of VM/370 When OS/VS1 executes in a VM/370 environment, some duplication results. CLOSING CP SPOOL FILES However, when the handshaking feature is active, the VS1 virtual machine avoids some of those instructions or procedures that When the handshaking feature is active, VS1 would result in inefficiency. For example, closes its CP spool files when VS1 job VS1 avoids: output from its Direct System Output (DSO), terminator, and output writers is complete. • 15K (Insert Storage Key) instructions Once the spool files are closed, they are and uses a key table processed by VM/370 and sent to the real printer or punch. With the VM/VS • Seek separation for 2314 direct access Handshaking feature, virtual machine devices operator intervention is not required to close these spool files. • The ENABLE/DISABLE sequence in the VS1 I/O supervisor (105) • TCH (Test Channel) instructions PSEUDO PAGE FAULTS preceding 510 (Start I/O) instructions

A page fault is a program interrupt that occurs when a page that is marked "not in VM/VS HANDSHAKING REQUIREMENTS storage" is referred to by an instruction within an active page. The virtual machine operating system referring to the page ~s VS1 must be generated with the VM/370 placed in a wait state while the page ~s option and execute with a version of VM/370 brought into real storage. without the that supports VM/VS Handshaking. In handshaking feature, the entire VS1 virtual addition, VS1 must execute in Extended

Control Program 25 control (EC) mode and its virtual machine • CP isolates the virtual machine storage size must not exceed 4M. by referring to it via its own page and segment tables only; a virtual machine When VM/VS Handshaking is available in cannot generate a storage address that an OS/VS1 virtual machine, the pseudo page refers to any storage area except its fault handling portion of handshaking is own. not available until the operator of the virtual machine issues the CP SET PAGEX ON • Passwords must be used to gain access to command. The pseudo page fault portion of the system and to shared disk files. the VH/VS Handshaking feature can be set on and off with the CP SET command. The CP SET • The data on a shared or critical disk command is described in the !~LJIQ: £R file can be protected by designating it Command Reference for General Users; more as a read-only disk. information---about--- osing-- the--- VM/VS Handshaking feature can be found in the • If a virtual machine abnormally Y~Ll1Q: 2!§1g~ R£Qg£g~~~£~2 2y!Q~· terminates, only that machine and its user (or users, if it is a multiple-access system) are affected.

• Users can run concurrently as many Reliability, Availability, and Serviceability versions, levels, types, and copies of operating systems as they require. systems can be generated and tested in VM/370 provides increased reliability, one virtual machine while production availability, and serviceability (RAS) to work is done in another. A new system its users through: can be fully tested before converS10n with no impact on the production work • Multiple and separate virtual machines schedule and no need for a real machine (see "RAS Features of VM/370 Design"). dedicated to testing. • The use of the RAS features of the • VM/370 has commands to trace, examine, System/370 hardware and VM/370 system and alter the opera tion of a virtual control programming. These are machine and to examine and alter the discussed in detail in the Y!1Ll1Q: contents of its virtual storage. These Qb!2!H~ g1!Q ~££Q£ !!~£Q£Qi!!g 2!!iQ~· commands are useful for program debugging.

• using the Online Test Standalone RAS FEATURES OF VM/370 DESIGN Executive Program (OLTSEP), a service representative can perform online diagnosis of I/O errors for most devices In the virtual machine environment, each attached to the System/370. He can run user is effectively isolated from the OLTSEP in a virtual machine while other activities of all other virtual machine work is being done in other virtual users. machines.

26 IBM VM/370: Introduction Conversational Monitor System

The Conversational Monitor System (CMS) is loaded at addresses beyond the highest a component of VM/370. Together with the address in the virtual machine. control program of VM/370, it provides a time-sharing system suitable for direct CMS supports unit record devices only if problem solving and program development. they are virtual and use the CP spooling CMS is an operating system that executes facilities. Real unit record devices only in a VM/370 virtual machine. (CMS cannot be dedicated to the CMS machine uses the Diagnose interface for all of its because CMS has no unit record error disk and tape input/output operations and recovery procedures. has no error recovery routines.) CMS is a conversational, single user CMS supports tape devices, but disk system. The user's interface to CMS is the volumes are the primary external storage virtual operator's console, that is, the for CMS command processing. terminal used to gain access to VM/370. Generally, each CMS user is assigned at CMS has no multitasking least two disks: a read-only system disk (multiprogramming) capabilities, as it is and a read/write user disk. designed to execute in a VM/370 virtual machine. CP provides the time-sharing environment; CMS provides the The read-only system disk contains the conversational user interface. Using CMS, CMS nucleus, disk-resident CMS commands, the user can write programs to be executed and the system library. The CMS system under CMS or another virtual machine disk can be shared among CMS users. operating system. 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 CMS Configuration the maximum number of CMS records that can be contained on one volume. CMS disks must be assigned in units of full cylinders. A virtual machine that is to use CMS is The maximum size of CMS disks, by device configured much the same as any other types, is: virtual machine, with a few special considerations. Maximum Size CMS Disk, The CMS virtual machine must be assigned Device i!!_fyli!!.Q~!:§ at least 320K bytes of virtual storage, of 2314/2319 203 which 128K is used by the CMS nucleus. 3330 246 User programs that execute in CMS may 3340-35 349 increase this requirement. The virtual 3340-70 682 storage size may be defined as large as 16 3350 (native mode) 115 million bytes, in multiples of 4K. The most active portion of the nucleus However, the maximum size of VSAM data can be shared by users of CMS via the sets used by CMS, by device type, is: shared segment facilities of VM/370. The amount shared is 64K, one full segment. This allocation is not locked in real Maximum Number of Cylinders storage, which means that a particular Device £~£_Y2!~_~!!!!g!§! shared page may not be in real storage at 2314/2319 200 any given time. However, the most active 3330, Models 1 and 11 404 pages tend to remain in real storage. 3340-35 348 3340-70 696 Additional portions of CMS can be shared in discontiguous segments. Discontiguous segments can be attached to and detached For VSAM data sets in CMS, the 3350 is from the CMS virtual machine as needed. A not supported in native mode and the 3330 name is associated with one or more Model 11 is supported only as a virtual discontiguous segments. Some, all, or none 3330 Model 1. These limitations exist of the discontiguous segments can be because the CMS/VSAM support is based on shared. Discontiguous segments must be DOS/VS VSAM.

Conversational Monitor System 27 Figure 10 shows a virtual machine 10. It defines two virtual disks and the configured to execute CMS. A minimum CMS required spooled unit record devices. The configuration would not include the virtual tapes are not defined in the directory tapes. entry; the system operator attaches the tapes to the virtual machine when they are Figure 11 is the VM/370 directory entry needed. for the CMS virtual machine shown in Figure

Virtual Storage 320K,------,

128K --.-----

CMS Nucleus OK~---~------~

~.lcOn.,,' Virtual Card Reader/Punch

Virtual Printer

Figure 10. Sample CMS Configuration

The first virtual disk shown in Figure ,.------, 11 is defined by the LINK control statement I USER SMITH JOHN I to share the CMS system on a read-only I ACCOUNT 5976 I basis; the CMS system disk is owned by the I CONSOLE 009 3215 I user CMSSYS (usually the system programmer) I SPOOL OOC 2540 READER I and is assigned the virtual device address I SPOOL OOD 2540 PUNCH B I 190 in both the CMSSYS and the SMITH I SPOOL OOE 1403 A I virtual machine configurations. The second I LINK CMSSYS 190 190 R I virtual disk is defined in Figure 11 by the LI ______MDISK 191 2314 025 005 CMSVL1 W J I MDISK control statement and is owned by the user SMITH. It has virtual address 191, is Figure 11. VM/370 Directory Entry for a CMS a ainidisk located on the real volume Machine labeled CMSVL1, and occupies five cylinders starting with real cylinder 025 on that volume.

28 IBM VM/370: Introduction eMS File System For example, the filetype EXEC indicates that the file is an EXEC procedure; ASSEMBLE indicates that the file consists CMS supports 2314, 2319, 3330, 3333, 3340, of assembler language source statements. and 3350 disks. The CMS FORMAT command formats the tracks of a CMS disk into The filemode describes the location and 800-byte blocks. The CMS file system access mode of the file. The letter (A manages these 800-byte blocks so that the through G, S, Y, or Z) indicates the disk user appears to have logical fixed- or directory that has an entry for the file. variable-length records, and sequential or The numeric part of the filemode defines direct access to files. the type of file access permitted. It indicates whether the file is private, The CMS support of VSAM provides CMS read/write, read-only, or in simulated OS users with read, update, and write access format. The filemode, in conjunction with to OS and DOS VSAM data sets on minidisks the read/write status of the disk, and real disks. CMS file size, record determines which files on a disk can be length, and minidisk size restrictions do accessed. For example, a user can gain not apply to VSAM data sets used in CMS. access to a file with the private filemode Also, the IBCDASDI program (or the OS/VS only if the disk on which it is stored is and DOS/VS disk initialization programs), in read/write mode. Any other user that and not the CMS FOBMAT command, must be shares that disk, and has read-only access used to format VSAM data sets used in CMS. to the disk, is unable to gain access to The OS/VS and DOS/VS disk initialization files on the disk marked private. The programs should be used only for full filemode designator can thus be used to disks. The IBCDASDI program must be used provide limited data security. for minidisks. A single user file may contain up to CMS has files that contain macro 12,848,000 bytes of data grouped in up to libraries and program libraries, and 65,535 logical records, all of which must commands to use and update these libraries. be on a single virtual disk. The maximum The user or installation can create number of files per real disk is 3400 for a additional macro and program libraries, if 3330, 3333, 3340, or 3350 disk, or 3500 for needed. a 2314 or 2319. CMS requires the system residence volume CMS disk files are written as 800-byte to be online. Each user may have up to records, which usually are not physically nine virtual disks online at anyone time. contiguous on the disk. They are allocated (All nine of these can reside on one real and deallocated automatically by CMS as the disk. ) file size demands. Each virtual disk contains a Master File Directory, which The user disks are differentiated by a contains format and size information for filemode designator, assigned when the disk each file on the virtual disk and includes is made active. The filemode consists of a a pointer to the file's chain link records. letter and a number. The number indicates (The CMS Master File Directory, or a the disk's access mode and the letter specified subset of it, called the User defines a standard order-of-search for disk File Directory, is brought into virtual files. S denotes the system disk. storage when the disk is made available to the CMS user; it is updated at least once Each virtual disk may be defined as per command if the status of any file on read-only or read/write, and may be shared that virtual disk is changed.) Each file's among users as described under "Virtual chain link records point to the 800-byte Machine I/O Management" in the "Control records of that file. Program" section. Figure 12 illustrates the CMS file User files in CMS are identified with a structure. The User File Directory entry fileid consisting of three designators: for the file named PROG1, filetype COBOL, filename, filetype, and filemode. The points to the chain link records for that filename is the name the user assigns to file, each of which points to a separate the file. The filetype may specify 800-byte record of the file. particular characteristics of the file.

Conversational Monitor System 29 r------, write or update OS data sets or DOS files. User I I I However, in CMS the user can read, write, File I ••. I PROG1 COBOL I or update VSAM data sets.

Directory IL ______I ~ I Problem programs that execute in CMS can I create files on unlabeled tapes in any I record and block size; the record format V can be fixed, variable, or undefined. r------·------, Chain IPtr tolPtr tol I Link I Block I Block I . .. I for I 1 I 2 I I Initialization and Dump Restore PROG1 L--______~

The OS IBCDASDI service program initializes L _____--, r------~ all types of real and virtual minidisks I I supported by VM/370. Details on how to use V I this program are in the !~L1IQ: gEg~a!Q~~2 r------, I §JJ1gg· 800- I I I Byte I I I The CMS FORMAT command initializes Data I I I minidisks for CMS. However, the IBCDASDI Block I I V program must be used to initialize any L ______~ r------, minidisk that is used with VSAM files or 800- I I catalogs. Byte I I Data I I A CP Format program formats CP-owned Block I I volumes, such as the system residence, L.--___~ paging, and spooling disks. Figure 12. CMS File Format The DASD Dump Restore (DDR) program of VM/370, which executes standalone or under CMS, dumps, restores, and displays all CMS automatically opens and closes all types of minidisks. accessed files (including spool files) for each command or user program it executes. Files can be spooled between virtual machines to transfer files between users. CMS Command Language Service programs, which can be invoked by CMS commands, manipulate files; they can write an entire disk or specific disk file The CMS command language is flexible and to a tape, printer, punch, or the terminal. can be tailored in the following ways by Other commands transfer data from a tape or the installation or by individual users. virtual card reader to disk, rename files, copy files, and erase files. CMS files can Most CMS commands can be entered by the be written onto and restored from unlabeled user in a truncated form (for example, "a" tapes via CMS commands. Tape labels are can represent "assemble") • CMS keeps an not supported by CMS. ordered list of command names, from which it determines which command the truncated When a compiler is invoked, CMS form represents. The installation can dynamically allocates compiler work files modify the sequence of the command list and on whichever active user disk has the most the valid limits of truncation. available space (the location of these work files may also be specified by the use~ , Each user (or installation) can define and deallocates them at completion. synonyms for any or all command names. Compiler object decks and listing files are normally allocated on the same disk as the Any executable program stored on a CMS input source file or on the primary system or user volume can be invoked by read/write disk. They are identified by the name as a command. To execute a program, input filename together with the file type the user must enter the program name, TEXT or LISTING. followed by any required operands, at the terminal. In addition to reading and writing CMS files, CMS can read sequential or VSAM DOS The EXEC processor of CMS can be used to files and sequential, partitioned, or VSAM define new commands that are combinations OS data sets. The CMS MOVEFILE command and of existing commands. Such new commands, the Os BSAM, BPAM, and QSAM macros can be called EXEC procedures, eliminate the used to read OS and DOS data. CMS cannot tedious re-keying of frequently used

30 IBM VM/370: Introduction sequences of commands. The EXEC processor used under CMS. The ASSGN and DLBL has logical capabilities; EXEC procedures commands define devices and DASD files that can test the contents of variables, branch are used in the CMS DOS environment. on specified conditions, and execute programmed loops. A special EXEC procedure Except for the CMS commands that called a PROFILE EXEC can be invoked specifically support VSAM, no other CMS automatically when the user issues his commands (such as TYPE, PRINT, or EDIT) can first command in the CMS environment; it access DOS or OS VSAM data sets. The CMS initializes that user's virtual machine support for Access Method Services and VSAM according to the information in his PROFILE is based on DOS/VS; however, the ISAM EXEC file. For more information on how to Interface Program is not supported. create and use EXEC procedures, see the !~L11Q: £~§ Y§~I~§ ~y!g~. The COPY FILE command copies a file or combines two or more files according to specifications in the command. The UPDATE command changes a specified file according Program Development and Execution to a file containing change control records. CMS has a wide range of programming The TYPE command displays all or part of development capabilities, it can: a specified CMS file at the terminal. The LISTFILE command displays status • Create and compile source programs information about all or specified subsets • Build test files of user files. A single active disk, or all • Execute and test programs active disks, may be specified. The list • Debug programs at the terminal displayed may contain only fileids (thus showing a user what files exist on his CMS commands are especially useful for OS disk), or it may include file format, and DOS/VS program development. allocation, and date information. The RENAME command changes a specified fileid, or some part of the fileid, such as MANIPULATION OF USER FILES the filetype. The ERASE command deletes a file or a group of related files from a user's read/write disk. Before a user can create a CMS file, he must make a virtual disk active and define its mode with the CMS ACCESS command. This virtual disk must be part of his virtual machine configuration; it must either be defined by his directory entry or added to his virtual machine configuration via the The CMS Editor consists of the EDIT command CP LINK or ATTACH command. Before the and its subcommands. With the CMS Editor, virtual disk can be used for the first a user can create a file by typing the data time, it must be initialized by the CMS in at the terminal. He can scan all or FORMAT command, which formats the virtual part of the file, and insert, change, or disk into aOO-byte blocks as described delete records. under "CMS File System." One exception is that disks that are to contain VSAM data For example, by entering the subcommand sets must first be initialized with the LOCATE with all or part of a record in the IBCDASDI program (the DOS/VS or OS/VS disk file, the user can locate the record, as in initialization program may be used for full the following statement: packs), instead of with the CMS FORMAT command. LOCATE /DATA DIVISION/ The CMS Editor scans the file until the A user can create a CMS file on disk by first occurrence of the specified using the commands READCARD, DISK, or TAPE. characters is found. The editor then Files can also be created at the terminal, displays the record containing this data at by issuing the EDIT command and then typing the terminal. in the input. Once the record is located, it can be changed, using the CHANGE subcommand, as in The FILEDEF command defines the location this sequence: and characteristics of OS data sets and DOS files that are to be handled by the OS LOCATE /IDEMTIFICATION/ simulation routines. However, a DLBL CHANGE /IDEMTIFICATION/IDENTIFICATION/ command must be issued for OS VSAM files

Conversational Monitor System 31 In this record, "IDEMTIFICATION" is compilation or load are specified by the changed to "IDENTIFICATION". In addition, GLOBAL command. if the user previously issued the EDIT subcommand VERIFY ON, the editor also The CMS commands that invoke DOS displays the changed line at the terminal. compilers are: FCOBOL and DOSPLI. The COBOL user specifies the compiler options All occurrences of a specific string of on an OPTION command which precedes the characters can be changed with a single FCCBOL command. The PL/I user must specify command: compiler options on an *PROCESS statement which is placed in front of the PL/I source CHANGE /USER IDENTIFICATION/USERID/ * * program. Under CMS the user can execute programs Every occurrence of USER IDENTIFICATION that read DOS sequential files and those in this file is changed to USERID. This is that read and write DOS VSAM files. called a global change. However, under CMS, the user cannot execute DOS programs that use direct or indexed DOS If a file is edited at a display files. terminal (such as the 3277 Display Station) and VERIFY is on, changes made to the file Also, DOS private and system source are reflected in the display. For example, statement, relocatable, and core image a line inserted into the file appears in libraries can be read in CMS. Several CMS the display in its proper position in the commands provide the library services file. A line that is deleted from the file similar to those found in DOS/VS. The CMS is removed from the display. Changes made commands are SSERV, RSERV, PSERV, ESERV, to the current line appear in that line in and DSERV. DOS private libraries that are the display. to be read in CMS must first be identified with the CMS ASSGN and DLBL commands.

Detailed information about the CMS The DOS linkage editor is simulated in Editor and how to edit a file, including a CMS. Files to be link-edited can be read discussion of editing at display terminals, from DOS libraries. The CMS DOSLKED is in th€~ YHL1IQ: ~H~ Y2~~~2 2Yig~. command link-edits files and places the output in a CMS file called DOSLIB. The A text processor called SCRIPT/370 is CMS DOSLKED command accepts the DOS linkage available as an IUP (Installed User editor control statements (ACTION, PHASE, Program) for use under CMS. (See "Appendix INCLUDE, and ENTRY) as input. B: Language Processors and Emulators.") SCRIPT/370 includes manuscript facilities The user executes DOS programs under CMS that create formatted output from one or using the FETCH and START commands. more CMS files containing text and/or Litraries to be searched must first be text-manipulating control words. specified on a CMS GLOBAL command. Although the user can sometimes create CMS module files from DOS programs by using the FETCH and GENMOD commands, this procedure PROGRAM COMPILATION AND EXECUTION COMMANDS is not recommended.

The compilers executable under CMS are invoked by name and provided with a source CONTROL COMMANDS file whose filetype designator indicates the compiler. The CMS commands that invoke OS compilers and the assembler are: The CMS user is able to define certain ASSEMBLE, ASM3705, VSBASIC, COBOL, FORTGI, system functions with the SET command. The FORTHX, GOFORT, PLIOPT, and PLIC. On each functions include: the amount of of these command lines, the user can information in the message printed at the specify CMS options, and also language end of command processing, the type of processor o~tions, that are identical to error messages to be printed at the those coded on an OS EXEC card when the terminal, and whether unknown commands language processor is invoked from OS. should be passed on to CPo With the QUERY command, the user is given the current OS program execution is controlled by status of these and other CMS functions. CMS commands such as RUN, INCLUDE, and LOAD. A core image copy of the program can Synonyms for command names may be be recorded on disk with GENMOD, and later created by a user via entries in a CMS file retrieved for execution with LOADMOD. with a filetype of SYNONYM. Libraries to be searched during program

32 IBM VM/370: Introduction The EXEC command specifies a file of CP internally. CMS supports OS VSAM data and CMS commands, as well as conditional sets. Many OS Supervisor Call functions branching and control statements, which are including GETMAIN/FREEMAIN and TIME are executed in a predetermined sequence by the simulated. EXEC processor of CMS. For DOS, the sequential access method and virtual storage access method are supported as well as DOS/VS library access. LANGUAGE PROCESSORS Note that sequential output files are written as CMS files and that DOS/VS libraries can only be read. A VM/370 Assembler is distributed as a part of the VM/370 system and is required for The OS and DOS macros that are not installation and support. It is also used simulated include those that support the to assemble users' problem programs. All Indexed Sequential Access Method (ISAM) and necessary macros for installation and the telecommunications access methods. An support are provided in CMS libraries. OS problem program that uses only those functions for which simulation code exists A variety of programming languages are may be tested and run under CMS. For available for use with CMS. VS APt, BASIC, example, all FORTRAN IV (G1) language FORTRAN, and PL/I are useful languages for functions execute under CMS while COBOL problem-solving applications, while COBOL, programs that use ISAM do not. assembler language, and again PL/I are useful for commercial program development Functions related to multitasking are applications. either ignored by CMS or modified to achieve single task execution. The DOS/VS The compilers that can execute under CMS Sort/Merge program is not supported under include various PL/I, FORTRAN, and COBOL CMS. See the !~L~l~: ~Y21~! f£Qg£~!!~I~2 compilers. VS BASIC and VS APL also Guide for more information about CMS's OS execute under CMS and include interactive and-DOS macro support. debug facilities as part of the Program Product. For information on programming languages and compilers that can be used with CMS, see "Appendix B: Language ALTERNATING OPERATING SYSTEMS Processors and Emulators." The compilers are invoked within the If a program to be tested uses OS and DOS conversational environment of CMS; the functions that are not simulated, or if the normal mode of execution is to run the program is designed for some other compilation to completion, type any operating system, the user may execute the diagnostic messages at the terminal, and two operating systems alternately. The make the listing file available for virtual machine must be configured to run inspection at the terminal or for printing both CMS and the other operating system. on the real printer. Using this technique, the user first The VS APL interpreter executes in the loads the Conversational Monitor System conversational environment of CMS. The into the virtual machine. The editor is interpreter responds interactively to input used to make any necessary updates to the keyed in at the terminal, displaying source program. spooling facilities are results when called for or displaying used to copy the program (integrated into a diagnostic messages when input is invalid. suitable operating system job stream) into the virtual card reader. The user then Most object programs produced and issues the IPL command to load his other compiled under CMS may be executed under operating system and begin the compilation. CMS for direct problem solving. Programs When the job stream completes, the user that use certain OS system functions, must reload CMS with the IPL command. The described in the following paragraphs, must spooled printer output generated by the be run under the appropriate operating other operating system can be read onto a system. CMS user disk, inspected for diagnostic messages, then optionally scheduled for To support the compilers and the VS APL printing. Corrections and additional interpreter, CMS simulates the execution of compilations, if necessary, follow the same many of the OS and DOS macros. For OS, the procedure. sequential, direct, and partitioned access methods are logically simulated. CMS keeps With this technique, a user can compile these data records in the chained 800-byte OS ISAM programs under CMS and then test blocks, which are standard to CMS, and them under OS. See the 15AM and simulates the OS data set characteristics dynamically modified channel program

Conversational Monitor system 33 restrictions listed in the !~Ll1Q: E!~~~i~~ The accounting routines charge the time ~~g 2y~!g~ §gng~~!!QB §y!g~. used 1n the batch machine to the originating user. A batch facility virtual machine is DEBUGGING FACILITIES generated and controlled at a terminal console under a userid dedicated to execution of jobs in batch mode. The The debugging facilities of CMS permit a system operator generates a batch machine user to set instruction address stops in by performing an IPL of CMS, then entering his program, to examine and modify virtual a command (CMSBATCH), which specifies that registers and virtual storage, and to trace the machine is to execute jobs in batch all SVC interrupts. User-selected mode. After each job is executed, the interrupts may be traced with output batch facility reloads itself, thereby directed to either a virtual printer or the providing a continuously running batch terminal. machine. Jobs are sent to the batch machine's virtual card reader from either Symbolic debugging capabilities are the user terminals or the system card available to FORTRAN programmers using Code reader and are executed sequentially. When and Go FORTRAN or FORTRAN IV (Gl) in the the last job is executed, the batch FORTRAN Interactive Debug Program Product, facility for more input. to COBOL programmers using ANS Version 4 COBOL in the OS COBOL Interactive Debug The batch facility is designed for the Program Product, and to PL/I programmers non-CMS user who requires a system for using the PL/I checkout compiler. VS BASIC compiling or executing batch jobs loaded and VS APL include interactive debug from the real system card reader. The facilities as part of the Program Product. batch facility is also useful for the interactive user who has compute-bound jobs such as assemblies and compilations, or large programs. Thus, interactive users CMS BATCH FACILITY can continue working at their terminals while their time-consuming jobs are executed in another virtual machine. The eMS Batch Facility is a VM/370 programming facility that executes under Any user program written in a language CMS. It allows a VM/370 user to execute supported by CMS can be executed on the jobs in batch mode by sending jobs from batch machine. The same restrictions that either his own virtal machine or the real apply to programs executed under CMS, apply card reader to a virtual machine dedicated to programs executed under the CMS Batch to running batch jobs under the batch Facility. Also, there are restrictions on facility. The batch facility virtual programs using certain CP and CMS commands. machine then executes these jobs, freeing For full information about the CMS Batch the user's virtual machine for other uses. Facility, see the !~Ll1Q: £~2 g~~£~2 §Yig~.

34 IBM VM/370: Introduction Remote Spooling Communications Subsystem

The VM/370 Remote Spooling Communications The line drivers drive, or control, a Subsystem (RSCS) is the VM/370 component specific type of remote station. that transfers files between remote stations and virtual machines at the VM/370 Figure 13 shows the relationship between installation. Remote stations are the VM/370 virtual machine users, the CP configurations of I/O devices attached to spool system, and the remote stations. the VM/370 computer by binary synchronous (BSC) switched or nonswitched lines. An RSCS virtual machine controls the The RSCS Teleprocessing Network transferring of files. RSCS has a supervisor and line drivers. The RSCS network consists of a real CPU, The supervisor is an interface between the transmission control units, and BSC CP spool system and the RSCS line driver. telecommunications lines and remote stations.

VM/370 REMOTE STATIONS r- Nonprogrammable VM/370 Virtual Remote Station Machines

CONTROL PROGRAM RSCS Virtual 2780 Machine B Line R Driver CP S Spool Line C Driver Programmable OS/360 System S Remote Station HASP Batch Line System/3 Processor Driver

HASP Work Station Program

Programmable Remote Station System/370

JES or HASP Control Program Operating 'as a Remote Batch Processor

Figure 13. A VM/370 RSCS Teleprocessing Network

Remote Spooling Communications Subsystem 35 THE REAL CPU processor, it acts as if it were nonprogrammable. A real CPU that is executing VM/370, and RSCS in a virtual machine, is the center of the RSCS teleprocessing network. The operator of the RSCS virtual machine controls the network by issuing RSCS commands from his terminal. Nonprogrammable remote stations are I/O configurations that cannot be programmed, The CP spool system is an integral part but can receive, read, print, punch, and of the RSCS teleprocessing network. All send files. An example of a files transmitted between remote locations nonprogrammable remote station is a 2780 and VM/370 virtual machines are routed Data Transmission Terminal. through the CP spool system via the RSCS virtual machine. The types of devices supported for all types of remote stations, programmable and nonprogrammable, are listed in the !~LJ1.Q: :R~!Q1~ §EQQli~ ~~~~~~i£~!iQn§ §~~§~§!:§m RSCS TELEPROCESSING HARDWARE REQUIREMENTS (~§~2) y§~~~§ ~Yig~·

Teleprocessing equipment (transmission control units, data sets, and communication Using RSCS lines) is required to control the teleprocessing network. Transmission control units control the transmission of The facilities of RSCS are selected and data between the real CPU and remote controlled by commands and control cards. stations over communications lines. Data Connections between geographically remote sets are devices that code and decode locations are made by the operator of the binary data for transmission over the RSCS virtual machine. communications lines. The specific devices supported by VM/370 for these functions are described. in the !t1LJ1.Q: :R~.!!!2!:§ §EQQ!!ng ~Q'!!!'!!!~~!£~!:!Q~§ §Y~2~21~m (:R~~~) Y2§!~2 LINKING GEOGRAPHIC LOCATIONS IN THE RSCS ~~ig~· NETWORK

Each location in the RSCS network is REMOTE STATIONS assigned a location identifier, which RSCS uses to find a link, or path, to the remote location. RSCS remote stations are I/O configurations. The minimum configuration To link a remote station to a virtual consists of a card rea~er, a printer, and a machine, the RSCS operator issues the START card punch. There are two types of remote command. Then, to' begin transmitting to stations: programmable and nonprogrammable. the RSCS virtual machine, the remote station operator transmits a SIGNON card. Once the link between a remote station and the RSCS virtual machine is established via START and SIGNON, files can be transferred to and from that location. An Programmable remote stations are I/O ID card, which specifies the eventual configurations that include a computer, destination, must precede each file such as a System/3, System/32, System/360, transmitted from the remote station to the or system/370. If this computer is running RSCS virtual machine. The RSCS virtual a HASP-type or ASP-type batch processor, machine uses the information on the ID card the remote station can receive files to transmit the file to the designated transmitted across the RSCS network, virtual machine. If tag information is process the files, and transmit the results also supplied, RSCS can transmit the file of the processing back to the originating to another remote station. location. Otherwise, the programmable remote station can only receive, read, Figure 14 shows how the remote stations print, punch, and send files. In other are linked to VM/370 virtual machines words, if the programmable remote station (including the RSCS virtual machine) and to does not have a HASP- or ASP-type of batch other remote locations.

36 IBM VM/370: Introduction VM/370 REMOTE STATIONS

Location Identifier userid Programmable Remote Virtual CONTROL PROGRAM Station Machine

CP RSCS r------.userid ___-----+-- ...... Spool Virtual System Machine Virtual Machine Location Identifier

Nonprogrammable Remote Station userid'

Virtual Machine

Figure 14. Linking Virtual Machines and Remote stations

COMMANDS USED TO TRANSMIT FILES AND TO CONTROL THE RSCS NETWORK

File transmission and system control are RSCS has commands and control cards that the two main functions of the RSCS Control control the operation of the RSCS system. Program. The system control functions are executed by the RSCS control program when it receives commands entered either from a console or via punched cards.

The CP TAG and SPOOL commands are used The RSCS virtual machine operator can under RSCS to transmit files across a use all the RSCS commands to control the teleprocessing network. Virtual machine system; operators at remote stations use a users issue the CP TAG command to name the sutset of the commands available to the location identifier of the destination that RSCS virtual machine operator. In general, is to receive the file. The CP SPOOL functions such as purging a file from the command and a command that closes the file system, defining or deleting a link in the being transmitted, such as the CMS PUNCH or system, repositioning a file forward or PRINT command, cause the file to be sent to backward during processing, disconnecting the RSCS virtual machine for processing. the RSCS virtual machine console, and so The RSCS virtual machine then transmits the on, are provided by the system. These file across its network. The CP TAG and commands are described in detail in the SPOOL commands control the transmission of !HLll~: ~~~g!~ 2£~~li~g ~g~~~~!£~!!gll§ files from virtual machines to remote 2~£§Y§!~~ (~2£§) Q§~!~§ §~!£g. stations, whereas the ID card controls the transmission of files from remote stations to virtual machines.

Remote Spooling Communications Subsystem 37 one of the batch processors, the RSCS operator can transmit to that batch processor via the RSCS CMD command. The CMD command causes a HASP or ASP command to If a batch system has a remote job entry be transmitted to the batch processor for capability, such as HASP and JES2, it execution, just as if the command were requires its own control statement in order transmitted to the processor by one of its to execute correctly. When RSCS is work statons. operating as a remote job entry system for

38 IBM VM/370: Introduction Appendix A: System Requirements

Machine Requirements • IBM 3210 Console Printer-Keyboard, Models 1 and 2

The following machines and devices are • IBM 3215 Console Printer-Keyboard, Model supported by VM/370. Specific information 1 regarding model numbers and supported features can be provided by an IBM • IBM 7412 Console (via RPQ AA2846) with a marketing representative. 32 1 5 , Mod e 1 1

I. IBM System Consoles for the System/370 I Models 135-3, 138, 145-3, and 148 in CPUS I printer-keyboard mode (with the 3286 I printer, Model 2 required) or in display I mode IBM System/370 Model 135 IBM System/370 Model 135-3 • IBM System Console for the System/370 IBM System/370 Model 138 Model 158 (in printer-keyboard mode IBM System/370 Model 145 (with the 3213 Printer Model IBM System/370 Model 145-3 required), or in display mode IBM System/370 Model 148 IBM system/370 Model 155 II IBM System/370 Model 158 IBM system/370 Model 158 MP (uniprocessor TELECOMMUNICATIONS mode only) IBM System/370 Model 165 II IBM System/370 Model 168 IBM System/370 Model 168 MP (uniprocessor mode only) IBM System/370 Model 168 Attached Processor The following devices are supported for use system (uniprocessor mode only) as virtual system consoles (and, consequently, as CMS user terminals) : These machines must be equipped with the Dynamic Address Translation facility and at • IBM 1050 Data Communication System least 245,760 bytes of real storage. They must operate in extended control mode. The • IBM 2741 Communication Terminal Models 135 and 145 require the system Timing Facility and floating-point feature. • IBM 3275 Display station, Model 2, with The Models 165 II and 168 require the integrated control unit (remote Channel Indirect Data Addressing feature on attachment) each of the following standalone channels: 2860, 2870, and 2880. • IBM 3277 Display Station, Model 2 (local and remote attachment) For information about storage requirements, refer to the Y~LJ1Q: g!~nn!ng • Line Control for CPT-TWX (Model 33/35) ~n£ ~~§!~~ ~~n~~~i!Qn ~~!£~. terminals • IBM 3767 Communication Terminal, Models 1 and 2 (2741 compatible-equipped) SYSTEM CONSOLES The following printers can be attached to local or remote 3270'5: The following system consoles and terminals are supported by VM/370 as virtual consoles • IBM 3284 Printer, Model 2 (local or (simulated as 3215 consoles) : remote attachment) or Model 3 (remote attachment only) • IBM 2150 Console with 1052 Printer-Keyboard, Model 7 • IBM 3286 Printer, Model 2 (local or remote attachment) or Model 3 (remote • IBM 3066 Models 1 and 2 System Console attachment only) for the System/370 Models 165 II and 168 • IBM 3288 Line Printer, Model 2 (local or remote attachment)

Appendix A: System Requirements 39 • IBM 2701 Data Adapter Unit with Synchronous Data Adapter, Type II

The supported terminal control units are: • IBM 2703 Transmission Control Unit with synchronous Terminal Control (except for • IBM 3271 Control Unit, Model 2, for 3770) remote attachment of 3277 display stations, 3284 Printers, 3286 Printers, • IBM 3704 Communications Controller (in and 3288 Line Printers. EP mode only) • IBM 3272 Control Unit, Model 2, for • IBM 3705 Communications Controller (in local attachment of 3277 display EP mode only) sta tions, 3284 Printers, and 3286 Printers. The systems supported for remote job entry into RSCS are:

• IBM System/360 Models 20, 22, 25, 30, 40, 50, 65, 75, 85, 195 • IBM System 370 Models 115, 125, 135, The supported transmission control units I 135-3, 138, 145, 145-3, 148, 155, 155 are: II, 158, 165, 165 II, and 168

• IBM 2701 Data Adapter Unit • IBM 1130 System • IBM 2702 Transmission Control • IBM system 3 Models 6, 8, 10, 12, and 15

• IBM 2703 Transmission Control • IBM system/32 • IBM 3704/3705 Communications Controllers • IBM 2922 Programmable Terminal (In Network Control Program mode, Partitioned Emulation Program mode, and When RSCS is operating as a remote job 2701, 2702, 2703 Emulation Program mode) entry system to a HASP-type or ASP-type batch processor, it supports any IBM system • IBM Integrated Communications Adapter that supports the HASP/ASP-type system. ('4640) available on the System/370 Model 135 The software subsystems supported for RSCS are:

• HASP II Version 3.1 (360D-05.1.014) • HASP II Version 4 (370H-TX-001) • ASP Version 3.1 (360A --CX-15X) • JES2 Component of VS2 Release 2 • JES3 Component of VS2 (when available) VM/370 provides device and subsystem • RES Component of VS1 Release 2 and above support for both programmable and nonprogrammable RSCS remote stations.

The devices supported for DIRECT ACCESS STORAGE DEVICES nonprogrammable remote stations are: • IBM 2770 Data Communication system, with VM/370 supports the following direct access the 2772 Multipurpose Control unit storage devices: • IBM 2780 Data Transmission Terminal, • IBM 2305 Fixed Head Storage, Model 1 Models 1 and 2 (Models 165 II and 168 only) and Model 2 • IBM 3770 General Purpose Communication • IBM 2314 Direct Access Storage Facility Terminal, (operating in 2770 compatibility mode) • IBM 2319 Disk Storage • IBM 3780 Data Communications Terminal • IBM 3330 Disk storage, Models 1, 2, and 11 The transmission control units supported for programmable remote stations are: • IBM 3333 Disk storage and Control, Models 1 and 11 • ICA (Integrated Communications Adapter)

40 IBM VM/370: Introduction • IBM 3340 Direct Access storage Facility, 3333 Models 1 and 11, 3340 Model A2, Models A2, B1, and B2, with Data Modules 3344, and 3350 Models 35, 70, and 70F, and the IBM 3344 Direct Access storage, Model B2. All direct access devices are supported • IBM 3350 Direct Access Storage, Models as VM/370 system residence, paging, and A2 and B2. spooling devices. All except the 2305 are supported by CMS.

DIRECT ACCESS CONTROL UNITS MAGNETIC TAPES

VM/370 supports the following control units for DASD: VM/370 supports the following tapes: • IBM 2401, 2402, 2403 Magnetic Tape units • IBM 2835 storage control Model 1 for 2305 Model 1 (Models 165 II and 168 • IBM 2415 Magnetic Tape Unit, Models 1, only) 2, 3, 4, 5, and 6 • IBM 2835 storage Control Model 2 for • IBM 2420 Magnetic Tape Unit, Models 5 2305 Model 2 and 7 • IBM 2844 Auxiliary storage Control for • IBM 3410 Magnetic Tape Units, Models 1, 2314 and 2319 2, and 3 (9-track only)

• IBM 3333 Disk storage and Control Models • IBM 3411 Magnetic Tape Unit and Control, 1 and 11 for the 3330 Models 1, 2, and Models 1, 2, and 3 (9-track only) 11 • IBM 3420 Magnetic Tape Unit, Models 3, 4, • IBM 3340 Direct Access Storage Facility, 5, 6, 7, and 8 Model A2.

• IBM 3345 Storage and control Frame, Models 3, 4, and 5 on the Model 145 MAGNETIC TAPE CONTROL UNITS (with the standard ISC) for 3330 Disk storage Models 1 and 2, 3333 Disk Storage and Control, Models 1 and 11, VM/370 supports the following magnetic tape 3340 MOdel A2, 3344, and 3350 control units: • IBM 3830 Storage Control Model for • IBM 2803 Tape Control 3330 Models 1 and 2 only • IBM 2804 Tape Control • IBM 3830 storage Control Model 2 for 3333 Models 1 and 11, 3340 Model A2, • IBM 3411 Magnetic Tape Unit and Control, 3344, and 3350 Models 1, 2, and 3

• IBM IFA (Integrated File Adapter) • IBM 3803 Tape Control (#4650) on system/370 Models 135 and 145 for 2319 • IBM IFA (Integrated File Adapter) PRINTERS (#4655) on the Model 135 for 3330 Models 1 and 2, 3333 Models 1 and 11, 3340 Model A2, and 3344 Model B2 VM/370 supports the following printers:

• IBM ISC (Integrated storage Control) • IBM 1403 Printer, Models 2, 3, 7 and N1 (14660) on the Model 145 for 3330 Models 1 and 2, 3333 Models 1 and 11, 3340 • IBM 1443 Printer, Model N1 Model A2, 3344, and 3350. IBM 3203 Printer, Model 4 (System/370 • IBM ISC (Integrated storage Control) on I • Models 138 and 148 only) the Model 158 for 3330 Models 1 and 2, 3333 Models 1 and 11, and 3340 Model A2 • IBM 3211 Printer

• IBM ISC (Integrated Storage Control) on the Model 168 for 3330 Models 1 and 2,

Appendix A: System Requirements 41 READER/PUNCHES One Telecommunications Control Unit (or the Integrated Communications Adapter on the System/370 Model VM/370 supports the following readers and 135) or one 3272 Control Unit (if punches: only 3277 Display stations are used) • IBM 2501 Card Reader, Models Bl and B2 One Multiplexer Channel One Selector or Block Multiplexer • IBM 2!;20 Card Punch, Models B2 and B3 Channel One Communications Terminal • IBM 2540 Card Read Punch, Model • IBM 3505 Card Reader, Models Bl and B2 VM/370 Programming Characteristics • IBM 3525 Card Punch, Models P 1, P2 and P3 Most of VM/370 is written in VM/370 Assembler language, using the instructions available only on an IBM System/370 with UNIT RECORD CONTROL UNITS dynamic address translation.

VM/370 supports: Support Considerations • IBM 2821 Control Unit

• IBM 3811 Printer Control Unit CMS is used to install all VM/370 program releases and updates. • IBM IPA (Integrated Printer Adapter) for the 1403 Printer on the Model 135

MINIMUM VM/370 CONFIGURATION

CPU One of the System/370 Models designated Storage 245,760 bytes One Console device One Printer One Card Reader One Card Punch Two spindles Direct Access Storage One 9-track Magnetic Tape Unit

42 IBM VM/370: Introduction Appendix B: Language Processors and Emulators

VM/370 Assembler .------I I IBM I I Program The VM/370 Assembler is distributed as a IIBM Program Product I Number part of the VM/370 system and is required 1------1------for installation and further support of the IDCS PL/I Optimizing Compiler I 5736-PL1 system. All necessary installation and I I support macros are provided in CMS IDOS PL/I Resident Library I 5736-LM4 libraries. I I DOS PL/I Transient Library 5736-LM5 The Conversational Monitor system (CMS) and the Remote Spooling Communications DCS PL/I Optimizing Compiler 5736-PL3 Subsystem (RSCS) are components of VM/370 and Libraries and are distributed with it. Certain other facilities mentioned in this publication DOS/VS COBOL Compiler & Library 5746-CB1 are not part of VM/370, but can be separately ordered from IBM. These include: DOS/VS COBOL Object Library 5746-LM4 IBM System/360 and Systea/370 operating systems, IBM language processors and other OS Code & Go FORTRAN 5734-F01 program products, IBM Installed User Programs, and IBM Field Developed Programs. OS FORTRAN IV (G 1) 5734-F02 For more information, contact your' IBM representative. OS FORTRAN IV Library (Mod I) 5734-LM1 as FORTRAN IV (H) Extended 5734-F03 Program Products as FORTRAN Library (Mod II) 5734-LM3 FORTRAN Interactive Debug 5734-F05 Figure 15 lists the IBM Program Products that are executable under CMS. 10S/VS COBOL Compiler & Library 5740-CB1 I To find the amount of storage required 10S/VS COBOL Library Only 5740-LM1 to install a program product, refer to the I appropriate program product publication. lOS Full American National 5734-CB2 I Standard COBOL Version 4 I Compiler and Library I Installed User Programs os Full American National 5734-LM2 Standard COBOL Version 4 Library A text-processing program is available: IBM Installed User Program (IUP) SCRIPT/370 as COBOL Interactive Debug 5734-CB4 (IBM Program No. 5796-PAF). SCRIPT/370 creates formatted output from one or more as PL/I Optimizing Compiler 5734-PL1 CMS files, each of which contains text and/or SCRIPT control words. The SCRIPT as PL/I Resident Library 5734-LM4 files are created and modified at a terminal using the CMS Editor. as PL/I Transient Library 5734-LM5 SCRIPT/370 manuscript facilities include as PL/I Optimizing Compiler 5734-PL3 right margin justification, line centering, and Libraries inserting top and bottom titles, and the ability to invoke additional SCRIPT input OS PL/I Checkout Compiler 5734-PL2 files from the file being processed. Other facilities to assist in the preparation of VS BASIC Processor 5748-XX1 large documents include symbolic capabilities that can generate a table of L______VS APL 5748-AP 11J contents, and number pages and figures. Figure 15. IBM Program Products

Appendix B: Language Processors and Emulators 43 A time-sharing facility is available as collected by the VM/370 measurement an IUP: the McGill University System for facility, thus providing useful information Interactive Computing (MUSIC), IBM Program for installation management, systems No. 5796-AJC. MUSIC is a conversational programmers, consultants, and users. time-sharing operating system that can execute in a virtual machine under VM/370. MUSIC supports several programming Integrated Emulators languages, for example: OS FORTRAN G1, VS BASIC, OS ANS COBOL, APL and OS Assembler F. MUSIC also has a batch facility, Emulator-dependent programs (except for DOS Context Editor, accounting, sort programs, emulation under OS or OS/VS) that execute and command language. For additional on a particular System/370 equipped with information about MUSIC, see the MUSIC: the appropriate compatibility features can §gng£21 !n!Q~!21iQn ~~nY21, Order---Uo. execute on that System/370 in DOS or OS G320-1238. virtual machines under VM/370. The VS/REPACK IUP package, IBM Program Figure 16 shows, by system/370 model No. 5796-PDZ, allows the user to collect number, which integrated emulators can and graphically display the pattern of execute under VM/370 and the compatibility activity of his program or system, analyze feature numbers (Ixxxx) that are required. this data to predict how rearranging portions of the program will improve No changes are required to the locality of reference (thereby reducing its emulators, to DOS or OS, or to VM/370 to working set size and paging activity), and allow emulator-dependent programs to verify that the program is operating execute in virtual machines. correctly. On the System/370 Model 158 only, the A data reduction program is available as virtual machine assist feature cannot an IUP: the statistics-generating package operate concurrently with the 7070/7074 for VM/370 (VM/SGP), IBM Program No. compatibility feature (Feature #7117). 5796-PDD. VM/SGP reduces the data that is

r------·------, 1401 I 1440 709 I S/360 1401 1460 7090 I System/370 Model 1440 1410 7070 7094 I Mod(~l 20 1460 7010 7074 7080 709411 I ------I 135,135-3,138 17520 14457 I 145,145-3,148 14457 14458 I 155 11,158 .3950 .7117 I 165 II .7117 17118 :17119 I 168 17127 #7128 #7129 I ._-1 Figure 16. Integrated------Emulators that Execute under VM/370

44 IBM VM/370: Introduction AppendixC: VM/370-Related Publications for CMS 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 GX20-1926 Manual VM/370: Commands (General User)l GX20-1961 VM/370: Commands (Other than GX20-l995 General User)l VM/370: CMS Command and Macro GC20-l8l8 Reference MATH/BASIC, General Information GH20-1128 VM/370: CMS User's Guide GC20~l8l9 Manual MATH/BASIC, Program Reference SH20-1158 Manual STAT/BASIC, Program Reference SH20-1069 Manual STAT/BASIC, General Information GH20-1027 VM/370: Introduction GC20-1800 Manual VM/370: system Messages GC20-1808 Business Analysis/BASIC, Program SH20-1264 VM/370: Terminal User's Guide GC20-1810 Reference Manual Business Analysis/BASIC, General GH20-1175 Information Manual

Virtual Machine Facility/370 GC20-1757 OS/VS and VM/370 Assembler GC33-4021 Features Supplement programmer's Guide OS/VS, DOS/VS, and VM/370 GC33-4010 CMS for Programmers, A Primer SR20-4438 Assembler Language VM/370: System Programmer's GC20-1807 The publications that are relevant to a Guide particular type of CMS user are listed by categories of CMS users. Since titles change and new publications are constantly §~!!!.f1 !!§g!: being added to the IBM library, this list should serve only as a guide to what is SCRIPT/370 Text Processing SH20-1114 currently available. For a more Facility Under VM/370 - Program up-to-date list, see the !~~ §Y21gmL~lQ Description/Operator's Manual ~i~1i2g~~EhY, Order No. GC20-0001. SCRIPT/370 IUP: Systems Guide LY20-0762 SCRIPT/370 Quick Guide for Users GX20-1969 Note: In some cases, the titles are Reference Summary abbreviated to save space.

!Q~1~!!! !!§g!: !§ ~!§!~ !!§g!: VM/370 (CMS) Terminal User's SC28-6891 VS BASIC CMS Terminal User's SC28-8306 Guide for FORTRAN IV Program Guide Products B is for BASIC. An Introduction SC28-8310 IBM FORTRAN Program Products for GC28-6884 to VS BASIC under CMS OS and the CMS Component of VS BASIC, General Information GC28-8302 VM/370: General Information VS BASIC, Program Product Design GC28-8301 FORTRAN IV (G1) Code and Go SC28-6842 Objectives Terminal User's Guide IBM OS Code and Go FORTRAN and SC28-6853 FORTRAN IV (G1) Programmer's Guide FORTRAN IV (G1) Processor and SC28-6856 TSO FORTRAN Prompter for OS 1 These 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. GBOF3576.

Appendix C: VM/370-Related Publications for CMS Users 45 IBM OS FORTRAN IV Library SC28-6858 Des/vs COBOL Compiler and SC28-6479 (Mod 1) for OS and VM/370 (CMS) Library Installation Reference Installation Reference Manual Material IBM Code and Go FORTRAN SC28-6859 VM/370 CMS User's Guide SC28-6469 Processor for OS and VM/370 for COBOL (CMS) Installation Reference Material ~g§L!§ !§!~ gng ~tt§ !~A~ ~§g~§ IBM OS FORTRAN IV (H Extended) SC28-6852 Compiler, Programmer's Guide DOS/VS Data Management Guide GC33-5372 IBM OS FORTRAN IV (H Extended) GC28-6865 DOS/VS Supervisor and I/O Macros GC33-5373 Compiler and Library (Mod II), DOS/VS Access Method Services GC33-5382 Messages User's Guide IBM FORTRAN IV (H Extended) SC28-6861 Compiler and FORTRAN Library (Mod II) for OS and VM/370 (CMS) Installation Reference OS/VS VSAM system Information GC26-3835 Material OS/VS2 Programming Library: GC26-3830 IBM OS FORTRAN IV Mathematical SC28-6864 Data Management System and Service Subprograms OS/VS VSAM Programmer's Guide GC20-3818 Supplement for Mod I and Mod II OS/VS Access Method Service GC35-0009 Libraries OS/VS VSAM Planning Guide GC26-3799 IBM FORTRAN IV Library GC28-6818 OS/VS VSAM Options for Advanced GC26-3819 Mathematical and Service Applications Subprograms OS/VS Data Management GC26-3783 FORTRAN Interactive Debug for OS SC28-6886 Services Guide (TSO) and VM/370-CMS OS/VS Access Method Services GC26-3836 Installation Reference Manual OS/VS Planning and Use Guide GC24-5090 FORTRAN Interactive Debug for OS SC28-6885 OS/VS2 Access Method Services GC26-3841 (TSO) and VM/370 (CMS) Terminal Planning for Enhanced VSAM under GC26-3842 User's Guide OS/VS IBM FORTRAN Interactive Debug SX28-8193 for OS (TSO) and VM/370 (CMS) .f1L! ~§.§~ Reference Card FORTRAN IV Language GC28-6515 as PL/I Optimizing Compiler, GC33-0022 Program Product Specifications as PL/I Optimizing Compiler, SC33-0006 Programmer's Guide as PL/I Optimizing Compiler, SC33-0027 Messages !Qtg: "IBM OS Full American National as PL/I Optimizing Compiler SC33-0025 Standard COBOL" has been abbreviated to Execution Logic "OS ADS COBOL" in the following list. os PL/I Optimizing Compiler SC33-0026 Installation as PL/I Optimizing Compiler SC33-0037 OS ANS COBOL Language Manual GC28-6396 CMS User's Guide OS ANS COBOL Compiler and SC28-6456 as TSO PL/I Optimizing Compiler SC33-0029 Library, Version 4, as PL/I Optimizing Compiler GC33-0001 Programmer's Guide General Information OS ANS COBOL Installation SC28-6458 as PL/I Checkout Compiler: GC33-0003 Reference Manual General Information OS ANS COBOL Messages, Version 4 SC28-6457 as PL/I Checkout Compiler GC33-0030 OS ANS COBOL Version 4 Planning SC28-6431 Program Product Specifications Guide as PL/I Checkout Compiler SC33-0007 OS COBOL Interactive Debug SC28-6465 Programmer's Guide Terminal User's Guide and as PL/I Language Reference GC33-0009 Reference Manual as COBOL Interactive Debug SC28-6468 as PL/I Checkout Compiler SC33-0034 Installation Reference Messages Material as PL/I Checkout Compiler SC33-0031 as/vs caBaL Compiler and Library GC28-6470 Installation General Information as PL/I Checkout Compiler TSO SC33-0033 as/vs COBOL Compiler and Library SC28-6481 User's Guide Installation Reference Material as PL/I Checkout Compiler - SC33-0032 as/vs COBOL Compiler and Library SC28-6483 Execution Logic Programmer's Guide as PL/I Checkout Compiler, SC33-0047 DOS/VS COBOL Compiler and SC28-6478 CMS User's Guide Library Programmer's Guide as PL/I Resident Library GC33-0023 Program Product Specifications

46 IBM VM/370: Introduction OS PL/I Transient Library GC33-0024 Des PL/I Transient Library GC33-0018 Program Product Specifications Program Product Specifications DOS PL/I Checkout Compiler GC33-0016 Program Product Specifications DOS PL/I Optimizing Compiler SC33-0020 Installation VS APL: Terminal User's DOS PL/I Optimizing Compiler GC33-0008 Guide for CMS SC20-9067 Programmer's Guide VS APL for CMS: Writing Auxiliary DOS PL/I Optimizing Compiler SC33-0051 processors SH20-9068 CMS User's Guide VS APL: Reference Summary SX26-3712 DOS PL/I Optimizing Compiler SC33-0021 VS APL: Installation Reference Messages Material SH20-9065 DOS PL/I Resident Library GC33-0017 VS APL: General Introduction GH20-9064 Program Product Specifications APL Language: Concepts and Reference GC26- 3853

Appendix C: VM/370-Related Publications for CMS Users 47

Index

A directory entry 28 access disk mode 29 space, allocation of 30 read-only 19 support 29 read/write 19 Editor 31 to real CPU 15 EXEC to virtual device 19 procedures 30 address translation, dynamic 9 processor 30 allocating file directory 29 CMS disk space 30 files page frames 16,17 format 30 real disk storage 19 structure 29 real storage 17 system 29 alternating operating systems 33 IBM programs executable under 43 applications language processors 33 batch 13 libraries 29 of performance option 15 nucleus 27 VM/370 performance of virtual machine executing interactive use 14 22 operations 13 reading programming 12 DOS files 30 assembler, VM/370 43 OS data sets 30 read/write disk, size of 27 shared segment of 27 storage size 27 B support backup 13 of disks 27 basic control mode 11 of tapes 27 batch of unit record devices 27 applications 13 system disk 27 mode 34 read-only 27 operating systems 9 read/write 27 and RSCS 38 truncation of commands 30 virtual machine 34 use of Diagnose interface by 19 batch, facility (2~~ CMS Batch Facility) 34 user disk 29 block multiplexer channel mode 23 user files 28,29 byte multiplexer mode 23 manipulation of 31 VM/370-related publications 45 CMS commands 31 DOS Linkage Editor 33 C Editor, DOS Linkage 33 Cambridge Monitor System 27 synonyms for 30 central processing unit (CPU) (2~g CPU that execute DOS programs 33 (central processing unit» that invoke DOS compiler 33 chain link record 29 that invoke OS compilers and assembler channel 33 indirect data addressing 18 that provide library services 33 mode 23 truncation of 30 virtual 11 command language, CMS 30 Channel Check Handler (2~g CCH (Channel commands (2~~ al22 CMS commands CP Check Handler» commands) channel-to-channel adapter CMS 31,32 attached 23 CP 20 virtual 12 for controlling RSCS 38 CMS (Conversational Monitor system) for transmitting files 38 27 program compilation and execution, CMS Batch Facility 34 32 capabilities of 14 communication command language 30 with other real computing system 12 commands (2~~ CMS commands» with other virtual machines 12,24 configuration 27,28 compilers executable under CMS 33 debugging facilities 34 compiling programs under CMS 33

Index 49 components password 10 of virtual machine 10 privilege class 20 of VM/370 9 size of virtual storage 16 concurrent execution, of virtual machines user identification 10 9 file condition code 18 VM/370 10,15 configuration discontiguous segment minimum VM/370 42 nonshared 17 of CMS virtual machine 27 shared 17,27 of virtual machine 10 disk device, virtual, description of 11 console spooling 20 disk initialization program control DOS/VS 29,31 commands, CMS 32 IBCDASDI 29 mode as/vs 29,31 basic 11 disks (~~ ~!22 DASD (Direct Access Storage extended 11 Device) Control program (~CP (Control Program» read-only system 27 conversational read/write user 27 operating systems 9 space, CMS, allocation of 30 user, definition of 15 support, CMS 29 Conversational Monitor system (§§§ CMS disks (~~!§2 DASD (Direct Access Storage (Conversational Monitor System» Device» 40 conversion, of operating system 13 display CP (Control Program) devices, editing at 32 description 15 of password, inhibiting 10 privilege class descriptions 21 DOS files, read by CMS 30 CP assist 24 Dynamic Address Translation (DAT) 9,16 CP commands 20 dynamically modified channel programs 19 general users 20 other users 22 CPU (central processing unit) supported by VM/370 39 virtual, description of 11 E CP-67/CMS 9,27 editing files at display terminals 32 creating a virtual machine 10,15 Editor, CMS 31 emulators 43 integrated, that execute under VM/370 43 D EXEC DASD (Direct Access Storage Device), procedures, of CMS 30 supported by VM/370 40 processor, of CMS 30 data addressing, channel indirect 18 executing debugging facilities, CMS 34 different releases of operating systems dedicated 9 channel 19 OS/VS1 in V8/370 25 device 12,18 execution defining virtual devices 10 concurrent, of virtual machines 9 developing programs 12 favored 15 device independent, of virtual machines 9 input/output, virtual 11 expanded virtual machine assist 24 paging 16 Extended Control Mode 11 virtual Extended Control-Program Support (ECPS) 23 dedicated 12,18 CP assist 24 operation of 18 expanded virtual machine assist 24 shared 18 provided functions 24 devices supported, virtual 11 virtual interval timer assist 24 DIAGNOSE instruction 11,16 Diagnose interface 19 used by CMS 27 DIAL command 14 F direct access control units, supported by favored execution option 15 VM/370 40 file direct access storage device (2gg DASD directory, CMS 29 (Direct Access Storage Device» structure, of CMS 29 directory system, of CMS 29 entry fileid 29 contents of 15 filemode 29 for CMS 28 filename 29

50 IBM V"/370: Introduction filetype 29 logging first level storage 16 off, VM/370 19 on VM/370 10,15 logon, procedure, VM/370 10 G genera.l user 20 generating, system 13 M machine requirements, VM/370 39 macros, OS, simulated by CMS 33 H magnetic tape hardware assist 23 control units, supported by VM/370 41 devices supported by VM/370 41 manipulating, CMS user files 31 maximum storage size 16 I MCR (2~~ machine check handler (MCR» IBCDASDI disk initialization program 30 minidisks IBM program products, executable under CMS description of 11 43 initializing 30 identification, user (userid) 10 minimum, configuration, for VM/370 42 inactive pages 16 mode independent execution, of virtual machines batch 13 9 block multiplexer 23 inhibiting display of password 10 byte multiplexer 23 initialization and dump/restore program 30 extended control 9 input, spool files 19 VS1 nonpaging 25 input/output (see I/O) mUltiple input/output operations 19 access operating systems 9 integrated emulators 43 operating systems, consecutive use of interactive 13 system virtual machines 10 multiple-access 14 single user 14 use, VM/370 applications 14 interrupt handling 18,23 N invoking, operating system 10 nonconversational user, definition of 15 I/O nonprogrammable remote stations, RSCS 36 devices, virtual 11 normal and virtual=real virtual machines management 18 18 operations, initiating 18 normal storage size 16 isolation, of virtual machine storage 26 NPT (nonprogrammable terminal) 36

J o JCL (job control language) 12 OLTSEP (Online Test standalone Executive Program) 26 operating systems alternating 33 L batch 9 language processors, executable under CMS conversational 9 33 invoking 10 language processors and emulators 43 loading 10 languages, programming, available with CMS multiple-access 9 33 single user interactive 9 libraries, CMS 29 use of multiple consecutive 13 line, drivers, RSCS 35 virtual machine 9,16,18 link, record, chain 29 operations, applications 13 linking options, performance 15 geographic locations in the Rses network OS (Operating System) 36 data sets, reading by CMS 30 virtual machines and remote stations 37 macros, simulation of, under CMS 33 loading, operating system 10 performance of v~rtual machine executing location identifier, RSCS 36 22 locations, RSCS, linking 36 output, spool files 19 LOCK command 17 locked pages option, VM/370 17

Index 51 p Remote Spooling Communications subsystem page 16 (RSCS) (2§~ RSCS (Rellote Spooling faults, pseudo 25 Co.munications Subsystem» frames remote stations description of 16 RSCS real storage 16 definition of 36 reserved 17 linking to virtual lIachines 37 table, shadow 17 reserved page frames option 11 zero 17 RSCS, remote job entry 38 paging '16,18 RSCS (Remote spooling Communications device 16 Subsystell) operations 16 20 requil:'ements 17 controlling 38 password 10,26 description of 35 for device sharing 19 devices supported by 40 performance ID card 37 factors influencing 22 line drivers 35 of virtual machine 15,17 linking locations 36 option 15 remote job entry, systems supported for favored execution 15 40 locked pages 17 remote stations 36 priority 15 linking to virtual machines 37 reserved page frames 17 software subsystems supported for 40 virtual=real 17 supervisor 35 virtual Machine Assist feature 23 teleprocessing hardware requirements 36 systeDI 22 teleprocessing network 35 performance measurement and analysis 24 transmitting files 38 preferred virtual machine, definition of using the RSCS network 36 15 virtual machine 35 printers, supported by VM/370 41 VM/370 computer 36 priority option 15 value 15 privilege, classes 20 S privileged instructions 23 second level storage 16 problem, state 15 security, of password 10 program segment compilation and execution commands, CMS description of 16 32 discontiguous (~g discontiguous design 23 segment) development 12 shared 17 and execution 31 table 16 programmable remote stations selector channel mode 23 RSCS 36 SET command, FAVORED operand 15 transmission control units for 40 shadow page table 17 programmi.ng shadow table 17 applications 12 sharing characteristics, VM/370 42 devices 18 langQages, available with CMS 33 segments 17,27 pseudo page faults 25 systems 17 publications, VM/370, for CMS users 45 simulation, of DOS macros under CMS 33 simulation of OS macros under eMS 33 single user interactive operating systems 9 R slicing, time 11 RAS features, of VM/370 design 26 software subsystem supported for RSCS 40 readers/punches, supported by VM/370 41 spool files read-only, access 19 closing CP 25 read/write, access 19 input 19 real disk partitioned into minidisks 11 output 19 real storage spooling page frame 16 defining 12 size 17 files, with RSCS 35 reliability, availability, and options 20 serviceability (RAS) 26 remote 20 remote job entry (RJE), systems supported unit record I/O 19 for RSCS 40 virtual console I/O 20 remote spooling 20 START I/O instruction 18

52 IBM VM/370: Introduction START I/O operation, simulated by CP 23 virtual storage address 19 storage transmission control uni ts (TCU) 12 management of 16 supported by VM/370 40 of virtual machine 16 supported for programmable remote real, size of 17 stations 40 size virtual, description of 12 defining 16 transmitting maximum 16 commands, with RSCS 38 normal 16 files, with RSCS 38 virtual truncating, CMS, commands 30 description of 10 typical CMS configuration 28 referring to 11 size of 10 supervisor, RSCS 35 supervisor state 15,18 U support unit record considerations 42 control units, supported by VM/370 42 of system 13 devices virtual device 11 supported by VM/370 41 SVC handling 23 virtual, description of 11 synonyms, for CMS command names 30 user system conversational, definition of 15 backup 14 disk, CMS 29 console (2~ system console) general 20 supported by VM/370 39 nonconversational, definition of 15 consoles, virtual, description of 10 user directory (2~~ VM/370 directory) generation 13 user files requirements (2~~ virtual Machine CMS 28,29 Facility/370, system requirements) manipulation of 31 shared 17 user identification 10 support 13 userid 10 support for RSCS teleprocessing network using, RSCS 36 40 system testing 13 System/370 instructions 11 V models, supported by VM/370 39 virtual channels 11 channel-to-channel adapter 12 CPU, description of 11 T device, input/output 11 table devices page 16 access to 19 segment 16 dedicated 17 shadow 17 definition of 10 tape devices, supported by VM/370 41 disk, description of 11 TCU (2~~ transmission control units (TCU» input/output 11 telecommunications operation of 18 system requirements 39 shared 18 terminals, supported by VM/370 39 support for 11 teleprocessing hardware requirements, ascs transmission control units 12 36 virtual=real option 17 temporary use, of virtual device 19 virtual interval timer assist 24 terminals virtual machine, creation of 15 as virtual system consoles 10 virtual machine assist feature control unit, supported by VM/370 39 dedicated channel 23 supported by VM/370 39 description 23 termination, of virtual machine 26 shared segments 17,23 testing, of system 13 TRACE functions 23 third level storage 16 virtual Machine Communication Facility time, management 15 (VMCP) 24 time sharing 14,27 Virtual Machine Pacility/370 time slice 15 as virtual machine operating system time slicing 11,15 16,17 transferring, files 20 assembler 43 translating components 9 dynamic addresses 9 computer, as center of RSCS network 36 virtual device address 18 control program 15

Index 53 design, RAS features of 26 time management 15 directory 10,15 virtual storage machine requirements 39 description of 10 programming characteristics of 42 first level, definition of 16 publications for CMS users 45 referring to 11 RSCS teleprocessing network 35 second level, definition of 16 system requirements size of 10,16 CPUs 39 third level, definition of 16 dir.ect access control units 40 virtual storage page 16 direct access storage devices 40 virtual system console, description of 10 for RSCS 40 virtual transmission control unit, magnetic tape control units 41 description of 12 magnetic tapes 41 virtual unit record device, description of printers 41 11 readers/punches 41 VM Assist (see virtual machine assist system consoles 39 feature) telecommunications terminals 39 VMCF (Virtual Machine Communication terminal control units 39 Facility) 24 terminals 39 VM/VS Handshaking 25 transmission control units 40 requirements 25 unit record control units 42 VM/370 applications system/370 models supported by 9 interactive use 14 virtual machines operations 13 channel mode selection 23 backup 13 components 10 system generation 13 configuration, for CMS 27 system support 13 configurations 10 system testing 13 creation 10, 15 programming 12 description 9 VSAM (Virtual Sequential Access Method) for concurrent production, development 27 and testing 14 DOS files 30 multiple 10 OS data sets 30 normal and virtual=real 18 VSl non paging mode 25 operating systems 9,16,18 preferred, definition of 15 RSCS 35 storage 16 w storage management 16 wait state, of virtual machine 15 termination 26

54 IBM VM/370: Introduction GC20-1800··6

o So ~ ."o YOUR COMMENTS PLEASE ... c: » 0" ::J Your views about this publication may help improve its usefulness: this form (JQ,.. :i' will be sent to the author's department for appropriate action. Using this (D form to request system assistance and/or additional publications or to suggest programming changes will delay response, however. For more direct handling of such request, please contact your IBM representative or the IBM Branch Office serving your locality. Your comments will be carefully reviewed by the person or persons responsible for writing and publishing this material. All comments and suggestions become the property of IBM. I Fold Fold ------~ I First Class I Permit 81 I Poughkeepsie I New York

Business Reply Mail ::I.... No postage stamp necessary if mailed in the U.S.A. aCo I c cr~ I ::I I Postage will be paid by: I I International Business Machines Corporation I ..."'0 Department 058, Building 706-2 :i" I 6t PO Box 390 Co Poughkeepsie, New York 12602 I :i' I ------~ Fold Fold

Ci) (") ~ -o00 9 en llm~ (I) International Business Machines Corporation Data Procelling Division 1133 Weetchoster Avenue, White Plains, New York 10804 (U.S.A. only)

IBM World Trade Corporation 821 United Nations Plaza, New York, New York 10017 (International) READER'S COMMENTS

Title: IBM Virtual Machine Order No. GC20-1800-6 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? o 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 (explain below)

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

Did you find the material easy to read and understand? 0 Yes o No ( explain below)

Did you find the material organized for convenient use? 0 Yes o No (explain below)

Specific criticisms ( explain below) 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.