Upload
api-3700456
View
76
Download
0
Embed Size (px)
Citation preview
DESIGN PRINCIPLESDESIGN PRINCIPLES
IBM OS/360IBM OS/360
DONALD MICHAEL LUDLOW>>Principle designer of OS/360. >>Principle designer of OS/360.
BATCH + REAL-TIME = BATCH + REAL-TIME =
SCIENTIFICSCIENTIFIC
APPLICATIONSAPPLICATIONS
COMMERCIALCOMMERCIAL
APPLICATIONSAPPLICATIONS
IBM OS/360
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
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…
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.
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..
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.
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.
KERNEL MODULESKERNEL MODULES
IBM OS/360IBM OS/360
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.
The System/360’s standardized input and output interfaces made it possible for customers to tailor systems to their specific needs.
REQUIRED PARTSREQUIRED PARTS TRANSLATORSTRANSLATORS
SERVICE PROGRAMSSERVICE PROGRAMS
CONTROL PROGRAMCONTROL PROGRAM
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.
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.
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.