15
DESIGN PRINCIPLES DESIGN PRINCIPLES IBM OS/360 IBM OS/360 DONALD MICHAEL LUDLOW >>Principle designer of OS/360. >>Principle designer of OS/360.

OS360 - DESIGN PRINCIPLES AND KERNEL MODULES

Embed Size (px)

Citation preview

Page 1: OS360 - DESIGN PRINCIPLES AND KERNEL MODULES

DESIGN PRINCIPLESDESIGN PRINCIPLES

IBM OS/360IBM OS/360

DONALD MICHAEL LUDLOW>>Principle designer of OS/360. >>Principle designer of OS/360.

Page 2: OS360 - DESIGN PRINCIPLES AND KERNEL MODULES

BATCH + REAL-TIME = BATCH + REAL-TIME =

SCIENTIFICSCIENTIFIC

APPLICATIONSAPPLICATIONS

COMMERCIALCOMMERCIAL

APPLICATIONSAPPLICATIONS

IBM OS/360

Page 3: OS360 - DESIGN PRINCIPLES AND KERNEL MODULES

Produce a “General Purpose System”.Produce a “General Purpose System”.Accommodate an environment of diverse Accommodate an environment of diverse

applications and operating modesapplications and operating modes

““22ndnd GENERATION OS”! GENERATION OS”!Primary Objectives

Increased throughput.Lowered response time. Increased programmer productivity.Adaptability and expandability.

Secondary Objectives

Page 4: OS360 - DESIGN PRINCIPLES AND KERNEL MODULES

PROBLEM: THE TWO OPPOSING VIEWPOINTSPROBLEM: THE TWO OPPOSING VIEWPOINTS

11STST GENERATIONS OS GENERATIONS OS The machine executed an incoming stream of The machine executed an incoming stream of

programs.programs. Each program and its associated input data Each program and its associated input data

corresponded to one application or problem.corresponded to one application or problem.

11STST GENERATIONS REAL-TIME SYSTEM GENERATIONS REAL-TIME SYSTEM Incoming pieces of data were routed to one of a

number of processing programs.

These attitudes led to quite different system structures…

Page 5: OS360 - DESIGN PRINCIPLES AND KERNEL MODULES

THE ANSWER!!!THE ANSWER!!!

It was not recognized that these points of It was not recognized that these points of view were matters of degree rather than kind.view were matters of degree rather than kind.

The basic consideration, is one of emphasis: The basic consideration, is one of emphasis:

Programs are used to process data in Programs are used to process data in both cases.both cases.

Because it is the combination of program and data that marks a unit of work for control purposes, OS/360 takes such a combination as the distinguishing property of a task.

Page 6: OS360 - DESIGN PRINCIPLES AND KERNEL MODULES

Examples…Examples…

TRANSACTION PROCESSING PROGRAMTRANSACTION PROCESSING PROGRAM Two input transactions, Two input transactions, A and B.A and B. To process A and B, two tasks are introduced into the systemTo process A and B, two tasks are introduced into the system::

A plus the programA plus the program B plus the program.B plus the program.

Here, Here, the two tasks use the same program but different sets of the two tasks use the same program but different sets of input datainput data..

A MASTER FILEA MASTER FILE Two programs, X and YTwo programs, X and Y Two tasks are introduced into the system:Two tasks are introduced into the system:

master file plus Xmaster file plus X master file plus Ymaster file plus Y

Here Here the same input data join with two different programs to the same input data join with two different programs to form two different tasksform two different tasks..

Page 7: OS360 - DESIGN PRINCIPLES AND KERNEL MODULES

system capable of supporting system capable of supporting both commercial and scientific both commercial and scientific applications.applications.

multiprogramming operating multiprogramming operating system.system.

general purpose mainframe general purpose mainframe computer.computer.

Page 8: OS360 - DESIGN PRINCIPLES AND KERNEL MODULES

The System/360 introduced a number of industry The System/360 introduced a number of industry standards to the marketplace, such as:standards to the marketplace, such as:

The 8-bit byte (against financial pressure during development to reduce The 8-bit byte (against financial pressure during development to reduce the byte to 4 or 6 bits)the byte to 4 or 6 bits)

Byte-addressable memory (as opposed to word-addressable memory)Byte-addressable memory (as opposed to word-addressable memory) 32-bit words32-bit words Two's complement arithmeticTwo's complement arithmetic Commercial use of microcoded CPUs Commercial use of microcoded CPUs The EBCDICThe EBCDIC(extended binary coded decimal interchange code) character (extended binary coded decimal interchange code) character

set (a binary computer character code, representing 256 standard letters, set (a binary computer character code, representing 256 standard letters, numbers, symbols, and control characters by means of eight binary digits).numbers, symbols, and control characters by means of eight binary digits).

The IBM Floating Point Architecture (until superseded by the IEEE 754-The IBM Floating Point Architecture (until superseded by the IEEE 754-1985 floating-point standard, 20 years later).1985 floating-point standard, 20 years later).

System/360 couldSystem/360 could handle logic instructions handle logic instructions as well as three types of as well as three types of arithmetic instructions (fixed-point binary, fixed-point decimal and floating-arithmetic instructions (fixed-point binary, fixed-point decimal and floating-point hexadecimal).point hexadecimal).

The The system’s architectural unitysystem’s architectural unity helped lower customer costs, helped lower customer costs, improved computing efficiency and, quite frankly, took a lot of the mystery improved computing efficiency and, quite frankly, took a lot of the mystery out of the art of computing.out of the art of computing.

Page 9: OS360 - DESIGN PRINCIPLES AND KERNEL MODULES

KERNEL MODULESKERNEL MODULES

IBM OS/360IBM OS/360

Page 10: OS360 - DESIGN PRINCIPLES AND KERNEL MODULES

To create a General Purpose System, IBM To create a General Purpose System, IBM decided to allow each customer to generate the decided to allow each customer to generate the kind of operating system they required by the kind of operating system they required by the

process of process of modular construction modular construction ..

Modular Construction Modular Construction - - creating an operating system by creating an operating system by modules where they can be assembled and linked together modules where they can be assembled and linked together in many combinations to form a unique operating system and in many combinations to form a unique operating system and can be replaced independently of one another.can be replaced independently of one another.

3 Types of Modules:3 Types of Modules:

RequiredRequired, , AlternativeAlternative and and Optional.Optional.

Page 11: OS360 - DESIGN PRINCIPLES AND KERNEL MODULES

The System/360’s standardized input and output interfaces made it possible for customers to tailor systems to their specific needs.

Page 12: OS360 - DESIGN PRINCIPLES AND KERNEL MODULES

REQUIRED PARTSREQUIRED PARTS TRANSLATORSTRANSLATORS

SERVICE PROGRAMSSERVICE PROGRAMS

CONTROL PROGRAMCONTROL PROGRAM

Page 13: OS360 - DESIGN PRINCIPLES AND KERNEL MODULES

TRANSLATORSTRANSLATORS

AA variety of translators are being provided for FORTRAN, COBOL, and variety of translators are being provided for FORTRAN, COBOL, and RPGL (a Report Program Generator Language). Also to be provided is RPGL (a Report Program Generator Language). Also to be provided is a translator for PL/I, a new generalized language. a translator for PL/I, a new generalized language.

Page 14: OS360 - DESIGN PRINCIPLES AND KERNEL MODULES

SERVICE PROGRAMSSERVICE PROGRAMS

LINKAGE EDITORLINKAGE EDITOR- makes it possible to change a program without re-translating - makes it possible to change a program without re-translating

more than the affected segment of the program. more than the affected segment of the program. - individually translated programs can be combined into a - individually translated programs can be combined into a

single executable program.single executable program.-- handles program segments and overlays handles program segments and overlays

SORT/MERGESORT/MERGE

- - a generalized program that can arrange the fixed- or a generalized program that can arrange the fixed- or variable-length records of a data set into ascending or descending variable-length records of a data set into ascending or descending order. order.

Other service programs are routines for editing, arranging, and Other service programs are routines for editing, arranging, and updating the contents of the library; revising the index structure of the updating the contents of the library; revising the index structure of the library catalog; printing an inventory list of the catalog; and moving and library catalog; printing an inventory list of the catalog; and moving and editing data from one storage medium to another.editing data from one storage medium to another.

Page 15: OS360 - DESIGN PRINCIPLES AND KERNEL MODULES

CONTROL PROGRAMCONTROL PROGRAM

SUBDIVIDED INTO:SUBDIVIDED INTO:

SUPERVISORSUPERVISOR Allocating main storageAllocating main storage Loading programs into main storageLoading programs into main storage Controlling the concurrent execution of Controlling the concurrent execution of

taskstasks Providing clocking servicesProviding clocking services Attempting recoveries from exceptional Attempting recoveries from exceptional

conditionsconditions Logging errorsLogging errors Providing summary information on Providing summary information on

facility usagefacility usage Issuing and monitoring input/output Issuing and monitoring input/output

operationsoperations

JOB SCHEDULERJOB SCHEDULER The primary activities of the job The primary activities of the job

scheduler are as follows:scheduler are as follows: Reading job definitions from source Reading job definitions from source

inputsinputs Allocating input/output devicesAllocating input/output devices Initiating program execution for each Initiating program execution for each

job stepjob step Writing job outputsWriting job outputs

MASTER SCHEDULERMASTER SCHEDULERThe master scheduler serves as a communication control link between the operator The master scheduler serves as a communication control link between the operator and the system.and the system.

The control program as a whole performs three main functions: job management, task management, and data management.