System/370 integrated emulation under OS and DOS

Similar documents
Computer Fundamentals : Pradeep K. Sinha& Priti Sinha

Unit 2 : Computer and Operating System Structure

Continuing the logical evolution to A most significant development The advantages of virtual storage greater function, higher performance

Virtual Machines WHEN YOU FINISH READING THIS CHAPTER YOU SHOULD BE ABLE TO:

Computer System Overview

Principles of Operating Systems CS 446/646

Chapter 8 & Chapter 9 Main Memory & Virtual Memory

Chapter 14 Operating Systems

Chapter 14 Operating Systems

Announcement. Exercise #2 will be out today. Due date is next Monday

. more flexibility... more capability... more features.

Q.1 Explain Computer s Basic Elements

CSE 237B Fall 2009 Virtualization, Security and RTOS. Rajesh Gupta Computer Science and Engineering University of California, San Diego.

Modeling Page Replacement: Stack Algorithms. Design Issues for Paging Systems

CS370: Operating Systems [Spring 2017] Dept. Of Computer Science, Colorado State University

Operating Systems Overview. Chapter 2

Architecture and OS. To do. q Architecture impact on OS q OS impact on architecture q Next time: OS components and structure

CS399 New Beginnings. Jonathan Walpole

Operating Systems. Operating System Structure. Lecture 2 Michael O Boyle

Process size is independent of the main memory present in the system.

Operating Systems Unit 6. Memory Management

Operating Systems Overview. Chapter 2

Introduction. CS3026 Operating Systems Lecture 01

OPERATING SYSTEM SUPPORT (Part 1)

B. the address of the data is supplied by the users C. there is no need for an address i.e. the data is used as an address

Operating Systems. Designed and Presented by Dr. Ayman Elshenawy Elsefy

A DESIGN FOR A MULTIPLE USER MULTIPROCESSING SYSTEM

Multiprogramming. Evolution of OS. Today. Comp 104: Operating Systems Concepts 28/01/2013. Processes Management Scheduling & Resource Allocation

Chapter 9: Virtual-Memory

Chapter 9 Memory Management

,- - A Guide to the IBM 3033 Processor Complex, Attached Processor Complex, and Multiprocessor Complex of System/370.

Chapter 1: Introduction Operating Systems MSc. Ivan A. Escobar

GUJARAT TECHNOLOGICAL UNIVERSITY MASTER OF COMPUTER APPLICATION SEMESTER: III

Error recovery through programnling

Operating Systems: Internals and Design Principles. Chapter 2 Operating System Overview Seventh Edition By William Stallings

Subject Name:Operating system. Subject Code:10EC35. Prepared By:Remya Ramesan and Kala H.S. Department:ECE. Date:

CS370 Operating Systems

Introduction to Concurrency (Processes, Threads, Interrupts, etc.)

Chapter 1 Computer System Overview

Input Output (IO) Management

CSC 553 Operating Systems

OPERATING SYSTEMS OVERVIEW

Operating System Support

Main Memory (Part I)

OS structure. Process management. Major OS components. CSE 451: Operating Systems Spring Module 3 Operating System Components and Structure

IT 540 Operating Systems ECE519 Advanced Operating Systems

The VERITAS VERTEX Initiative. The Future of Data Protection

Chapter 8. Operating System Support. Yonsei University

B.H.GARDI COLLEGE OF MASTER OF COMPUTER APPLICATION

Chapter 8: Main Memory

Digital System Design Using Verilog. - Processing Unit Design

Chapter 8: Memory-Management Strategies

Operating Systems: Principles and Practice. Mark Zbikowski Gary Kimura (kudos to Tom Anderson)

What is an Operating System? A Whirlwind Tour of Operating Systems. How did OS evolve? How did OS evolve?

CS 450 Fall xxxx Final exam solutions. 2) a. Multiprogramming is allowing the computer to run several programs simultaneously.

Operating Systems. V. Input / Output

Cache Performance and Memory Management: From Absolute Addresses to Demand Paging. Cache Performance

OPERATING SYSTEMS. Systems with Multi-programming. CS 3502 Spring Chapter 4

ELEC 377 Operating Systems. Week 1 Class 2

RAID SEMINAR REPORT /09/2004 Asha.P.M NO: 612 S7 ECE

Operating Systems. Memory Management. Lecture 9 Michael O Boyle

CHAPTER 8 - MEMORY MANAGEMENT STRATEGIES

9.1 Background. In Chapter 6, we showed how the CPU can be shared by a set of processes. As a result of

Chapter 2 Operating System Overview

Virtual Machines and Dynamic Translation: Implementing ISAs in Software

Memory Management. Frédéric Haziza Spring Department of Computer Systems Uppsala University

Chapter 8: Main Memory. Operating System Concepts 9 th Edition

System Virtual Machines

Improving VSAM Application Performance with IAM

An Overview of the BLITZ System

General Objectives: To understand the process management in operating system. Specific Objectives: At the end of the unit you should be able to:

Virtualization. Pradipta De

Memory Management. q Basic memory management q Swapping q Kernel memory allocation q Next Time: Virtual memory

CS370 Operating Systems

The Application of a Distributed Computing Architecture to a Large Telemetry Ground Station

Chapter 8 Virtual Memory

The Web Version of this chapter is split into 4 pages - this is page 2 - page contents are as follows:

Chapter 8: Main Memory

Chapter 9: Virtual Memory. Operating System Concepts 9 th Edition

Computer Organization and Architecture. OS Objectives and Functions Convenience Making the computer easier to use

Main Points of the Computer Organization and System Software Module

System Virtual Machines

Chapter 7 Memory Management

Chapter 29: Operating Systems

MEMORY MANAGEMENT/1 CS 409, FALL 2013

Process Time. Steven M. Bellovin January 25,

Operating System. Operating System Overview. Layers of Computer System. Operating System Objectives. Services Provided by the Operating System

Operating System Overview. Operating System

Objectives and Functions Convenience. William Stallings Computer Organization and Architecture 7 th Edition. Efficiency

Chapter 9: Virtual Memory

There are different characteristics for exceptions. They are as follows:

Architectural Support for Operating Systems

Four Components of a Computer System. Operating System Concepts 7 th Edition, Jan 12, 2005

Last Class: Deadlocks. Where we are in the course

Chapter 11: File System Implementation. Objectives

Chapter 8: Memory- Management Strategies. Operating System Concepts 9 th Edition

CS330: Operating System and Lab. (Spring 2006) I/O Systems

Chapter 8: Memory- Management Strategies

Operating System Support

CSE 4/521 Introduction to Operating Systems. Lecture 15 Virtual Memory I (Background, Demand Paging) Summer 2018

Transcription:

System/370 integrated emulation under OS and DOS by GARY R. ALLRED International Business Machines Corporation Kingston, N ew York INTRODUCTION The purpose of this paper is to discuss the design and development of integrated emulators for the IBM System/370. Specifically, emulation of IBM 1400 and 7000 series systems on the IBM System/370 Models 145, 155 and 165, integrated under an Operating System. While the author acknowledges the development and presence of emulation outside of IBM, it is not the intent of this article to conduct a comparative survey of all emulator products. Rather, the discussion will be restricted to the design and development considerations involved in producing the System/370 integrated emulators. EMULATOR HISTORY The System/370 integrated emulators are evolutionary products of earlier IBM emulators on System/ 360. Before discussing the design and functional characteristics of the System/370 emulators, a review of emulation as it existed prior to System/370 is presented in order to form a base of comparison for the new system. Three methods are employed by the emulators to effect the execution of prior systems programs on the new system and are referred to throughout this article: 1. Interpretation/execution via hardware (referred to as emulation). 2. Interpretation/execution via software routine (referred to as simulation). 3. A combination of the above (referred to as emulation). In System/360, emulation was composed of three distinct design types: 1. Hardware: Some emulators, such as the IBM 1401 emulator on System/360 Model 30, were exclusively implemented by hardware. The Model 30 became, in effect, a 1401, with the appropriate registers, addressing, I and E-time execution, etc., handled by the hardware. While performance and operating characteristics were quite good, the system was dedicated to a specific mode of operation, i.e., either emulation or "native" mode. The resultant loading and reloading necessary to attain the desired mode of operation imposed unproductive overhead on the user. 2. Hardware/Software: Other emulators, such as the IBM 7000 series emulators on System/360 Model 65, were comprised of both hardware and software. By adding software, the emulator offered more flexibility in device support and operational characteristics, while at the same time retained the desirable performance attributes of hardware execution. (Pure software implementation would become total simulation, with the obvious degradation of performance.) These emulators required a total dedication to the system of a specific operating mode--emulation or native, with the unproductive overhead of loading and reloading. This overhead was more noticeable when the native mode operation involved an operating system. Additionally, terminal applications were not possible because of the necessity to "shut down" the operating system for emulator loading. 3. Hardware/Software/Operating System: Two programs, Compatibility Operating System (COS)/30 and COS/40 were developed by IBM which integrated the 1401 emulator on System/ 360 Models 30 and 40 under DOS. At first considered to be interim programs, these programs, because of their wide acceptance and usage, were subsequently upgraded through hardware and software refinements and renamed Compati- 163

164 Spring Joint Computer Conference, 1971 bility System (CS)/30 and CS/40. For the first time, 1401 jobs and System/360 native-mode jobs could be run concurrently in a limited multiprogramming environment. (Limited multiprogramming in the sense that there were certain restrictions on the Foreground/Background allocation of jobs under DOS.) Single job stream input was also possible. Overall system thruput was significantly improved by eliminating the need to reload the system between emulator and System/360 jobs. In addition to the CS emulators, there were other applications such as Hypervisors and "hook loaders," which, to a lesser degree, provided a single operating environment by eliminating the need to re-ipl between emulator and System/360 jobs. Hypervisors enabled two emulators to run concurrently or, an emulator to run with a System/360 job. The Hypervisor concept was relatively simple. It consisted of an addendum to the emulator program and a hardware modification on a Model 65 having a compatibility feature. The hardware modification divided the Model 65 into two partitions, each addressable from O-n. The program addendum, having overlaid the system Program Status Words (PSW) with its own, became the interrupt handler for the entire system. After determining which partition had initiated the event causing the interrupt, control was transferred accordingly. The Hypervisor required dedicated I/O devices for each partition and, because of this, the I/O configurations were usually quite large, and, therefore, prohibitive to the majority of users. Hook loaders, developed by individual installations, effected a "roll-in/roll-out" of the emulator or System/ 360 job. The decision to swap operating modes could be interrupt driven or initiated by the operator. The basic attribute of this application was to eliminate the need for IPL when changing operating modes. DESIGN CONSIDERATIONS AND OBJECTIVES At the time they were initially released, the System/ 360 emulators were considered to be short term programs. They were intended to provide the user with the facility to grow from a second generation system to the improved facilities of System/360 with little or no reprogramming. To this end, they served their purpose very well. Their predicted demise however, did not take place as expected. Emulation usage continued at a high rate, with installation resources directed at new applications rather than conversion of existing applications. Clearly, as system and customer applications became more complex, the need for expanded emulator support became more evident. Early in the planning cycle of System/370, IBM began a design study to determine the most efficient architecture for emulators on System/370. Based on an analysis of existing and projected future operating environments, feedback from user groups, and the experience gained to date with emulation, the following key design points were establishe4 as objectives for System/370 emulators: 1. Emulators must be fully integrated with the operating system and run as a problem program. 2. Complete multiprogramming facilities must be available including multiprogramming of emulators. 3. Device independence, with all device allocation performed by the operating system. 4. Data compatibility with the operating system. 5. A single jobstream environment. 6. A common, modular architecture for improved maintenance and portability. 7. An improved hardware feature design with emulator mode restrictions eliminated and all feature operations interruptible. MODELING While the COS/CS emulators had proved the basic feasibility of integrating an emulator as a problem program under an operating system, in this case DOS, extending this feasibility to include a large scale, complex system with the full multiprogramming facilities of OS/360 remained to be proven. Therefore, it was decided that a model should be built which would integrate a large scale system into OS/360. The system selected was the 7094 Emulator on System/360 Model 65. The 7094 and the 7094 Operating System (IBSYS) represented the most complex and sophisticated second generation system available. If this system could be successfully integrated with OS/ 360, the design and technology could certainly be applied to smaller, less complex systems. The OS/360 option selected was MFT II. This system, with its fixed partition requirement, could be more easily adapted to the 7094 Emulator design which also included fixed locations and addressing. This particular feasibility study proved to be an excellent subject for modeling. The goals were well defined, the emulator itself was relatively self contained, and the design alternatives were varied enough to make

System/370 Integrated Emulation 165 multiple design evaluations necessary. Modeling was primarily concerned with the assessment of four major areas: input/output techniques, operation under an operating system, hardware design/requirements, and operating system interfaces. There were a number of key recommendations and resolutions achieved in these areas as the result of modeling. Input/output techniques To provide the most efficient means of I/O Simulation, an emulator access method with standard interfaces to the operating system was developed. OS /360 Basic Sequential Access Method (BSAM) was used for tape operations and Queued Sequential Access Method (QSAM) for support of Unit Record devices. Basic Direct Access Method (BDAM) support was later added for those systems that support disk. This access method was subsequently expanded to be usable by any System/370 emulator, regardless of the emulated system. This access method is currently used by the 1400 and 7000 series emulators on System/370. To solve the problem of prohibitively long tape records (32K maximum), and some file formats which were unacceptable to OS /360, a tape preprocessor program was developed to format secondgeneration tapes into a spanned variable length record format. A post-processor was also developed to convert these tapes back to their original format, if desired. To enable selective processing for Operating System error recovery procedures, parity switching and density switching modifications were made to the data management facilities of 08/360. Operation under an operating system Whereas the stand alone emulators had used privileged instructions at will, this could not be done if the emulator was to run as a problem program under the operating system. Those routines requiring privileged Op-Codes were either replaced by operating system routines or redesigned to use only standard Op-Codes. To achieve a common, portable architecture, emulator routines were standardized as emulator dependent and operating system dependent modules. Hardware design/requirements The need to operate in emulator mode should be eliminated. The emulator program should be transparent to the operating system. There should be no fixed addresses and the emulator including the target memory, should be relocatable. Emulator Op-Codes should be standardized. Emulator Op-Codes should be interruptible and capable of retry. (In emulation, it is possible to remain in E-time simulation for an unusually long period of time, relative to normal 8ystem/370 E-time. Therefore, the hardware feature, must be fully interruptible if functions requiring the immediate dispatch of asynchronous interrupts are to be supported.) Hardware/Software communication should be done via General Purpose Registers and Floating Point Registers rather than through special hardware registers and/or fixed tables. This is required if emulators are to be multiprogrammed. Operating system interfaces Three standard interfaces were defined. These interfaces are emulator and operating system dependent. 1. An interface was established between the compatibility feature and the emulator modules which performed CPU simulation, I/O simulation and Operator Services. 2. A second interface was established between the CPU, I/O and Operator Service modules and the emulator access method. 3. A third interface was established between the emulator access method and the operating system By implementing the emulator to these standard defined interfaces, the goal of a common, modular design with the inherent facility of portability was realized. In summary, the modeling effort successfully demonstrated the feasibility of large scale integrated emulation, while at the same time meeting all of the design and performance objectives. The architecture which evolved from the model was used by the 08 /M85 /7094 emulator and was released in early 1970. This architecture, with further refinements, is used by all of the 8ystem/370 emulators: Models 145 and 155 DOS /1401-1440-1460 DOS/1410-7010 OS/1401-1440-1460 08/1410-7010 Model 165 OS/7074 OS/7080 OS/7094

166 Spring Joint Computer Conference, 1971 These systems represent the most advanced emulators ever offered in the IBM product line, combining the powerful new System/370, its high performance I/O devices, the multiprogramming facilities of Operating System (OS) /360 and Disk Operating System (DOS) / 360, and an improved technology in emulator design. SYSTEM REQUIREMENTS AND FEATURES On the Model 155 there are four emulator combination, available. The 1401/1440/1460 Emulator under both DOS and OS and the 1410/7010 Emulators under DOS and OS. These are four separate programs, each with an individual program number. The compatibility feature on System/370 Model 155 is an integrated feature which provides the facility to emulate the 1401/1440/1460/ and 1410/7010. These emulators can be multiprogrammed in any combination. On the model 165-7074, 7080 and 7094 emulators are provided. These emulators run under OS/360 and can be multiprogrammed. Each emulator consists of a compatibility feature and a corresponding emulator program that has a unique feature and program number. Only one feature can be installed in the system at one time. The System/370 emulators have a number of requirements, considerations and support functions in common: Data File Restrictions: 1400 /7000 series tape files must be converted if record lengths exceed 32,755 bytes or, if data is in mixed densities. All 1400/7010 disk files must be converted. COMPATIBILITY FEATURES The Compatibility Features on System/370 Models 155 and 165 are under microprogram control. The feature on the Model 155 is an installed resident feature, whereas on the Model 165 it is loaded into "Writable Control Storage" via the console file. The compatibility feature is, in effect, a number of special instructions added to the base System/370. These special instructions are used by the emulator program to emulate target machine operations. The selection of operations to be performed by the special instructions is based on an analysis of the target machine operations relative to complexity and frequency of use. The most significant special instruction (since it is used once for each target machine instruction executed) is called DO INTERPRETIVE LOOP or simply, DIL (Figure 1). The DIL instruction replaces with a single instruction the subroutine that a pure software sub- Minimum Requirements Compatibility Feature A sufficient number of System/370 I/O devices to correspond to the devices on the system being emulated, plus the devices required by the Operating System. Sufficient System/370 processor storage for: (1) the version of the operating system being used (MFT, MVT or DOS), (2) emulator functions needed for the system being emulated, and (3) the program being executed. S/370 I-FETCH AND EXECUTION IF OIL TRAP PENDING OPERATOR SERVICES VO COMPLETION INTERRUPT GENERATION UNUSUAL CONDITION Additional Features Two tape formatting programs are provided: (1) to convert 1400/7000 series tape files to Operating System (spanned variable length) format for more efficient data handling by the emulator, and, (2) to convert output records in spanned variable length format to original 1400/7000 series format. A disk formatting program is provided to assist in converting 1400/7010 disk files to the standard Operating System format. EMULATOR ACCESS METHOD OSOATAMGMT ISAM, QSAM, loam Figure I---Dverview of emula.tor instruction execution

System/370 Integrated Emulation 167 routine would use to: 1. Access the simulated instruction counter (I C). 2. Convert the IC to a System/370 address in the simula ted target machine storage which contains the instruction to be interpreted. 3. Fetch the instruction. 4. Update and restore the simulated IC. 5. Perform any indexing required for the subject instruction. 6. Convert the effective address obtained to the System/370 address in the simulated target machine storage which contains the subject operand. 7. Interpret the instruction Op-Code and branch to the appropriate simulator routine which will simulate the instruction. INPUT/OUTPUT DEVICE CORRESPONDENCE Expanded support of I/O devices is provided with the System/370 integrated emulators. The OS Emulators employ the QSAM, BSAM and BDAM facilities of OS /360 Data Management, and offer device independence within the support capabilities of these access methods. The DOS emulators provide device independence only for Unit Record devices. DISTRIBUTION DOS The DOS emulators for 1400/7010 are distributed as components of DOS. Standard DOS system generation procedures are followed in generating an emulator system. OS The OS emulators for System/370 Models 155 and 165 are distributed independently of OS/360. Independent distribution was chosen inasmuch as the emulator modules would be superfluous to System/360 users and take up unnecessary space on the distributed system libraries. SUPPLEMENTAL PROGRAMS Tape formatting programs Two tape formatting programs are distributed with the emulator program. The Preprocessor program con- verts tapes in original 1400/7000 series format to spanned variaole-iength record format. Any 1400/7000 series tape containing records longer than 32,755 characters must be preprocessed. Preprocessing of other tapes is optional, although greater buffering efficiency can be obtained because the emulator is intended to normally operate with a spanned variable-length format. The post-processor program converts tape data sets from spanned variable-length format to 1400/7000 series format. The programs support tapes at 200, 556, 800 and 1600 BPI density and handle mixed density tapes. The programs support even, odd and mixed parity tapes. Disk formatting program A disk formatting program is provided to assist in converting 1400 disk files to a format acceptable to the emulator program. The disk formatting program runs as a problem program under the operating system. The program creates a data set composed of control information and of blank records whose size and number are determined by the device being emulated. COMMUNICATING WITH THE EMULATOR PROGRAM A full range of operator services are provided for operator communication with the emulator program. 1400/7000 series console operations are simulated through commands entered by the operator. In an integrated, multiprogramming environment, the operating characteristics are expected to initially be more difficult for the operator. However, every effort has been made to ease the transition from stand-alone to integrated operation. Messages from the emulator program are identified by a unique message ID, including a sequentially-incremented message number and the job name of the program being emulated. The user has the option of including multiple console support and directing emulation messages to the second console. SUMMARY The System/370 integrated emulators have significantly extended the technology of emulation. They bring to the user an improved, more efficient operating environment for emulator and native mode System/370 jobs, while at the same time providing a nondisruptive growth path for today's System/360 user.

168 Spring Joint Computer Conference, 1971 REFERENCE MATERIAL System/370 Emulators-8RL Publications Emulating the IBM 1401,1440,1460 on the IBM System/370 Model8145 and 155 Using DOS/360- '/I.GC33-2004 Emulating the IBM 1410 and 7010 on the IBM System/370 Model8145 and 155 Using DOS/360- '/I. GC33-2005. Emulating the IBM 1401,1440,1460 on the IBM System/370 Model8145 and 155 Using OS/360- '/I. GC27-6945. Emulating the IBM 1410 and 7010 on the IBM System/370 Model8145 and 155 Using OS/360- '/I.GC27-6946 Emulating the IBM 7070/7071,. on the IBM System/370 Model 165 Using OS/360- '/I.GC27-69J,8 Emulating the IBM 7080 on the IBM System/370 Model 165 Using 08/360- '/I.GC27-6952 Emulating the IBM 709, 7090, 7094, 709411 on the IBM System/370 Model 165 Using OS/360- '/I.GC27-6951 Hypervisor Documentation Hypervisor for Running 7074 Emulation as an OS/360 Task '/I. 360D-05.2.005 Double 7074 Emulation on a System/360 Model 65- '/I. 360D- 05.2.008 Hypervisor RPQ's Shared Storage RPQ for a 8ystem/360 Model 65- '/I.E 880801 Shared Storage RPQ for a 8ystem/360 Model 50- '/I.E 56222