Origins of Operating Systems OS/360. Martin Grund HPI



Similar documents
ELEC 377. Operating Systems. Week 1 Class 3

Chapter 2: OS Overview

Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines

Virtual Machines.

Virtualization. Pradipta De

Introduction. What is an Operating System?

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:

Operating System Organization. Purpose of an OS

Operating Systems 4 th Class

How To Understand The History Of An Operating System

Chapter 3 Operating-System Structures

CHAPTER 15: Operating Systems: An Overview

Chapter 1: Introduction. What is an Operating System?

Page 1 of 5. IS 335: Information Technology in Business Lecture Outline Operating Systems

Full and Para Virtualization

Example of Standard API

Operating System Structures

Operating System Structures

Virtualization. Dr. Yingwu Zhu

Virtualization Technology. Zhiming Shen

x86 ISA Modifications to support Virtual Machines

System Structures. Services Interface Structure

Cloud Computing #6 - Virtualization

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

Computers: Tools for an Information Age

Time-sharing for OS INTRODUCTION

Kernel. What is an Operating System? Systems Software and Application Software. The core of an OS is called kernel, which. Module 9: Operating Systems

Performance and scalability of a large OLTP workload

Technical Properties. Mobile Operating Systems. Overview Concepts of Mobile. Functions Processes. Lecture 11. Memory Management.

Process Description and Control william stallings, maurizio pizzonia - sistemi operativi

Chapter 12. Development Tools for Microcontroller Applications

Introduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu

Overview and History of Operating Systems

Types Of Operating Systems

Topic 5a Operating System Fundamentals

IBM Tivoli Composite Application Manager for Microsoft Applications: Microsoft Hyper-V Server Agent Version Fix Pack 2.

Computing in High- Energy-Physics: How Virtualization meets the Grid

Operating System Tutorial

theguard! ApplicationManager System Windows Data Collector

Chapter 3. Operating Systems

3 - Introduction to Operating Systems

Principles of Operating Systems CS 446/646

VMware Server 2.0 Essentials. Virtualization Deployment and Management

1. Simulation of load balancing in a cloud computing environment using OMNET

CS 61C: Great Ideas in Computer Architecture Virtual Memory Cont.

Virtualization. Types of Interfaces

COS 318: Operating Systems. Virtual Machine Monitors

How do Users and Processes interact with the Operating System? Services for Processes. OS Structure with Services. Services for the OS Itself

Multi-core Programming System Overview

Introduction to the NI Real-Time Hypervisor

Arwed Tschoeke, Systems Architect IBM Systems and Technology Group

CPS221 Lecture: Operating System Structure; Virtual Machines

Chapter 2 System Structures

Oracle Database Auditing Performance Guidelines

Operating Systems Introduction

System Requirements Table of contents

Operating System Software

Windows Server Performance Monitoring

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

Chapter 3: Operating-System Structures. Common System Components

Virtualization. Jukka K. Nurminen

Basics of Virtualisation

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

How To Understand The Power Of A Virtual Machine Monitor (Vm) In A Linux Computer System (Or A Virtualized Computer)

Components of a Computing System. What is an Operating System? Resources. Abstract Resources. Goals of an OS. System Software

Introduction to Virtual Machines

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Chapter 6, The Operating System Machine Level

Running a Workflow on a PowerCenter Grid

IBM Tivoli Composite Application Manager for Microsoft Applications: Microsoft Internet Information Services Agent Version Fix Pack 2.

Lesson Objectives. To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization

Software: Systems and Application Software

Traditional IBM Mainframe Operating Principles

Efficient Load Balancing using VM Migration by QEMU-KVM

Operating Systems Virtualization mechanisms

Virtualization. Explain how today s virtualization movement is actually a reinvention

Stratusphere Solutions

Agenda. Enterprise Application Performance Factors. Current form of Enterprise Applications. Factors to Application Performance.

4.1 Introduction 4.2 Explain the purpose of an operating system Describe characteristics of modern operating systems Control Hardware Access

Distributed Systems. Virtualization. Paul Krzyzanowski

Mainframe alternative Solution Brief. MFA Sizing Study for a z/os mainframe workload running on a Microsoft and HP Mainframe Alternative (MFA)

Directions for VMware Ready Testing for Application Software

Virtualization and the U2 Databases

System Virtual Machines

Hypervisors. Introduction. Introduction. Introduction. Introduction. Introduction. Credits:

Cloud Computing CS

Echtzeittesten mit MathWorks leicht gemacht Simulink Real-Time Tobias Kuschmider Applikationsingenieur

nanohub.org An Overview of Virtualization Techniques

Accessing RCS IBM Console in Windows Using Linux Virtual Machine

Outline. hardware components programming environments. installing Python executing Python code. decimal and binary notations running Sage

Performance Tuning and Optimizing SQL Databases 2016

Definition of RAID Levels

Chapter 5 Cloud Resource Virtualization

Perfmon Collection Setup Instructions for Windows Server 2008+

Linux Kernel Architecture

9/26/2011. What is Virtualization? What are the different types of virtualization.

A hypervisor approach with real-time support to the MIPS M5150 processor

Virtualization. Introduction to Virtualization Virtual Appliances Benefits to Virtualization Example Virtualization Products

Chapter 14 Virtual Machines

Transcription:

Origins of Operating Systems OS/360 HPI

Table of Contents IBM System 360 Functional Structure of OS/360 Virtual Machine Time Sharing 2

Welcome to Big Blue 3

IBM System 360 In 1964 IBM announced the IBM-360 family for computers All machines, despite their differences, had the same user instruction set Different operating systems available for these machines Only midrange and high-end system run OS/360 IBM introduced the new term of hardware architecture In 1970 IBM announced System 370 with hardware virtual memory support 4

IBM System 360 High-end machines established 32 bit as standard for computers Virtual Memory Support hardware support for dynamic address translation Within ten years S/360 achieved standard status Flashback prices: 1970 $279/MB hard disk 1980 - $35/MB hard disk $50.000 /MB DRAM 5

IBM System 360 Specials Introduced 8bit entities Introduction of 32 or 64 bit floating point words based on a hexadecimal base Variable length strings using length field in the first byte All registers are universal registers accumulators as well as address registers Registers use 32 bit, 24 bit for addressing -> 16MB 6

IBM S/360 - Pictures 7

IBM OS/360 Introduction One OS for different application areas Upstream compatible 1.000.000 program instructions, one of the most complex software ever written $ 50.000.000 development costs -> double the price of the Manhattan Project Different OS for different hardware -> small, midrange, high-end MFT small systems MVT high-end systems Introduction of JCL 8

OS/360 Functional Structure OS/360 is one of the first second generation operating systems Primary Objective: accommodate an environment for diverse applications and operating modes Secondary objectives: Throughput, Response Time, Productivity, Adaptability, Expandability: Support for many languages, configurations, operating modes 9

OS/360 Design Concepts Every Program is either executed in Supervisor State or Problem State S-State: for control program to call different other modules P-State: all programs operate in Task combination of program and data both 2 Tasks 10

OS/360 Design Concepts Multiprogramming: for one CPU several tasks are defined Multiprocessing: one task utilizes several CPUs Multitasking allows both manners of operating Common System Elements: Translators for programming languages Linkage Editor to combine individually translated programs into one executable Service Programs Control Program 11

OS/360 Control Program Main important part of the OS, contains Master scheduler control communication between operator and system Job scheduler formalizes job into task, allocation of devices, initial execution for each job step, write job output Supervisor memory management, module loading, control execution, logging, monitoring 12

OS/360 System Generation To support as many operating modes as possible almost everything can be configured Each configuration leads to a new system generation System generation covers: Support for installed libraries Defining multi-task/ single-task environments Defining level of concurrent jobs Stage I parse generation instructions into job stream Stage II load assembler, linkage editor, catalog library 13

Job & Task Management Each message arriving to the system is an independent task -> many messages can arrive at the same time Control program must decide which task to execute on the status of other tasks Basic unit of work is a JOB can be divided into job steps -> each job step is a task All tasks to be executed are treated independent 14

Program Structure All Jobs are defined using the JCL Job Control Language First statement of a job is an identifier for naming, priority definition and other conditions to be matched Job Step Statement defines the execute part and a data definition for I/O Four program structures to be defined: 15

Program Structure Simple Structure Planned Overlay Structrue Main Program is a single load module, but not all functionality is needed and not loaded into main storage Dynamic Overlay Structure One load module denotes to the entire program Load modules are called dynamically. Control is handed over using LINK, XCTRL and LOAD Dynamic Parallel Structure Load modules are executed in parallel (modules declared as note reusable, serially reusable and reenterable) 16

Program Structure Program Program Program Program Planned Overlay using LINK/RETURN Simple Structure Program Program Program Dynamic Overlay using LINK / XCTL 17

JCL Job Control Language Scripting language to instruct the Job Entry Subsystem on how to run a batch program or start a subsystem JCL is defined using: One or more 80-byte records Must be uppercase It is possible to plan whole software execution steps on the forehand, independent of physical environment (using DD) Main instructions: JOB, EXEC, DD, PROC 18

JCL Job Control Language //jobname JOB (accounting information),class=x,msgclass=x,region=nk,time=(m,s) CLASS priority definition (environmental settings) MSGCLASS how the output is printed or filed REGION size of virtual memory to use TIME total CPU usage allowed by the job, max 1439 minutes or 1440 (untimed) //stepname EXEC PGM=progname,PARM='parm',COND=condition,REGION=n,TIME=(m,s) PGM name of the module to be executed PARM optional parameter to the module COND defines condition when the job is NOT run REGION and TIME as described above 19

JCL - Example //PASIVP JOB CLASS=A,MSGLEVEL=(1,1),REGION=256K //RUN1 EXEC PASCAL,PARM.COMPILE='COMPILATION OPTION LIST' //COMPILE.INPUT DD * PROGRAM Hello (Output) ; BEGIN WRITELN(' Hello World!'); END. Job Statement Job Step Statements //RUN2 EXEC PASCAL,PARM.COMPILE='COMPILATION OPTION LIST' //COMPILE.INPUT DD * PROGRAM fib_demo(output) ; TYPE pos_int = 0..30 ; VAR i : pos_int ; time : INTEGER ; FUNCTION fibonacci(j :pos_int) : INTEGER ; (*To evaluate fibonacci # j, for j >= 0, subject to integer overflow*) BEGIN 20

OS/360 Job Management Allocation of I/O devices Analysis of the Job Stream Overall Scheduler Direction of setup activities Job Management turns each task to task management using job scheduler and master scheduler Scheduling done either sequential or priority based Either Single Job Instantiation or Multi job Instantiation 21

Task Management Single Task Management Job scheduler operates as a task and executes loaded modules as subtasks (using LINK or XCTL) In the end supervisor sends callback to job scheduler Multi Task Management Main focus resources management Introduces CPU Manager task dispatcher, task queue Queue either ordered by sequence or by priority All elements of the queue either in READY or WAIT state 22

Task Management WAIT a tasks waits for a event to occur Events are submitted using the POST macro e.g. Read from I/O makes task wait until ready 23

OS/360 Resume Delivery too late Exceeded Budget Needed more hardware resources than planned Was replaced within a few years by other OS from IBM But: Definition of new ways for Computer Science Problem-State and Supervisor-State -> Kernel-Mode and User-Mode LINK or XCTRL origin for todays FORK command Creation of a general architecture family 24

OS/360 Lessons Learned Many concepts for todays operating systems were introduced in OS/360 Complexity of Installing/ Running an OS were reduced heavily Today OS/360 can be run on almost any machine using the Hercules emulator and is freely available as public domain software 25

Virtual Machine Time Sharing Approach to maximize the utilization of a single system Simulate the whole underlaying system In the beginning: S/360 40 with new modification for memory address translation mechanisms (later S/360 67) Combination of VMCP/CMS on S/360 40 was developed on the MIT Virtual Machine Control Program provide functionality for time-sharing, resource allocation, system handling CMS Simple single user Monitoring System for S/360 26

VM Environment VM simulates the whole system Support for many OS like OS/360, DOS/360, RAX... 24bit addressing region used to assign virtual memory to each guest system I/O partitioning VM devices are mapped onto real devices Requirements: not real-time dependent, almost same machine instruction set used by OS, guest OS must support privileged and unprivileged mode VM must be isolated and CP must be protected 27

VM Paging Explained Since cumulated size of main storage for all VMs exceeds main storage of the host, virtual addressing is needed Virtual main storage is divided into 4096 byte blocks (pages) -> all active pages are kept in main memory, other pages are swapped to secondary memory Dynamic address translation translates address into the current real memory Each VM has its own main memory 28

Demo Start OS/360 execute simple Job from the main terminal to compile and run a Pascal program Show S/360 with TSO to show VM mechanisms 29

Q&A Any Questions? 30

Literature [1] http://en.wikipedia.org/wiki/os/360 [2] Download of OS/360 - http://www.ibiblio.org/jmaynard/ [3] OS/360 Distribution - http://open360.copyleft.de/os360/download.html [4] System/360 Announcement http://www-03.ibm.com/ibm/history/exhibits/mainframe/mainframe_pr360.html [5] Computer History IBM 360/370/390 http://www.beagle-ears.com/lars/engineer/comphist/ibm360.htm [6] The IBM 360/67 CP and CMS - http://www.multicians.org/thvv/360-67.html [7] The iron penguin - http://www.itworld.com/comp/1369/lwd000606s390/ [8] History of Computes OS/360 - http://www.imn.htwk-leipzig.de/~yal-bil/ [9] Job Control Language - http://en.wikipedia.org/wiki/jcl [10] IBM Systems Journal A virtual machine time sharing System [11] IBM Systems Journal The functional structure of OS/360 [12] Amdahl et al, Architecture of the IBM System/360 [13] MVS Tur(n)key System - http://www.bsp-gmbh.com/turnkey/ 31