MVS. Traditional Mainframes Mainframe operating systems were designed to concurrently process several batch applications. Over time: – The number of concurrent.

Slides:



Advertisements
Similar presentations
Computer Architecture
Advertisements

System Integration and Performance
Lectures on File Management
Lecture 11: Operating System Services. What is an Operating System? An operating system is an event driven program which acts as an interface between.
Chap 2 System Structures.
Operating-System Structures
FIU Chapter 7: Input/Output Jerome Crooks Panyawat Chiamprasert
CS 345 Computer System Overview
Process Description and Control Module 1.0. Major Requirements of an Operating System Interleave the execution of several processes to maximize processor.
Process Description and Control Chapter 3. Major Requirements of an Operating System Interleave the execution of several processes to maximize processor.
Processes CSCI 444/544 Operating Systems Fall 2008.
1 Computer System Overview OS-1 Course AA
1 Process Description and Control Chapter 3. 2 Process Management—Fundamental task of an OS The OS is responsible for: Allocation of resources to processes.
Basic Input/Output Operations
Chapter 1 and 2 Computer System and Operating System Overview
Cs238 Lecture 3 Operating System Structures Dr. Alan R. Davis.
Process Description and Control A process is sometimes called a task, it is a program in execution.
INPUT/OUTPUT ORGANIZATION INTERRUPTS CS147 Summer 2001 Professor: Sin-Min Lee Presented by: Jing Chen.
External Devices I/O Modules Programmed I/O Interrupt Driven I/O Direct Memory Access I/O Channels and Processors.
Group 7 Jhonathan Briceño Reginal Etienne Christian Kruger Felix Martinez Dane Minott Immer S Rivera Ander Sahonero.
Group 5 Alain J. Percial Paula A. Ortiz Francis X. Ruiz.
Input/Output. Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower.
Computer Organization
Operating System A program that controls the execution of application programs An interface between applications and hardware 1.
1 Computer System Overview Chapter 1. 2 n An Operating System makes the computing power available to users by controlling the hardware n Let us review.
FINAL MPX DELIVERABLE Due when you schedule your interview and presentation.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
Chapter 41 Processes Chapter 4. 2 Processes  Multiprogramming operating systems are built around the concept of process (also called task).  A process.
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
Computer Architecture Lecture10: Input/output devices Piotr Bilski.
Operating Systems Lecture 02: Computer System Overview Anda Iamnitchi
OPERATING SYSTEMS Goals of the course Definitions of operating systems Operating system goals What is not an operating system Computer architecture O/S.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
The Functions of Operating Systems Interrupts. Learning Objectives Explain how interrupts are used to obtain processor time. Explain how processing of.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
6 Memory Management and Processor Management Management of Resources Measure of Effectiveness – On most modern computers, the operating system serves.
COMPUTER ORGANIZATIONS CSNB123 NSMS2013 Ver.1Systems and Networking1.
Process by Dr. Amin Danial Asham. References Operating System Concepts ABRAHAM SILBERSCHATZ, PETER BAER GALVIN, and GREG GAGNE.
Chapter 2 Data Manipulation Yonsei University 1 st Semester, 2015 Sanghyun Park.
Interrupt driven I/O. MIPS RISC Exception Mechanism The processor operates in The processor operates in user mode user mode kernel mode kernel mode Access.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Process-Concept.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Process-Concept.
O PERATING S YSTEM. What is an Operating System? An operating system is an event driven program which acts as an interface between a user of a computer,
CIS250 OPERATING SYSTEMS Chapter One Introduction.
4 Linking the Components Linking The Components A computer is a system with data and instructions flowing between its components in response to processor.
Chapter 2 Process Management. 2 Objectives After finish this chapter, you will understand: the concept of a process. the process life cycle. process states.
Interrupt driven I/O Computer Organization and Assembly Language: Module 12.
Structure and Role of a Processor
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
Interrupts and Exception Handling. Execution We are quite aware of the Fetch, Execute process of the control unit of the CPU –Fetch and instruction as.
Copyright © Curt Hill More on Operating Systems Continuation of Introduction.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Operating Systems Overview: Using Hardware.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Multiprogramming. Readings r Chapter 2.1 of the textbook.
Lecture 1: Operating System Services
2. OPERATING SYSTEM 2.1 Operating System Function
Advanced OS Concepts (For OCR)
Chapter 2: System Structures
Introduction to Operating System (OS)
Process Description and Control
BIC 10503: COMPUTER ARCHITECTURE
Process Description and Control
Interrupt handling Explain how interrupts are used to obtain processor time and how processing of interrupted jobs may later be resumed, (typical.
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Chapter 6 Programming the basic computer
Presentation transcript:

MVS

Traditional Mainframes Mainframe operating systems were designed to concurrently process several batch applications. Over time: – The number of concurrent applications increased; – Innovations such as virtual memory, multiple virtual machines, time sharing, and interactivity enhanced the operating environment – BUT----- The underlying architecture of the operating system still reflected its batch processing roots.

Traditional Mainframes Today’s dominant distributed information technology environment is highly interactive, with a myriad of personal computers and workstations simultaneously communicating with a variety of remote service providers via the Internet and similar networks. These operating systems have outgrown their batch roots. Traditional batch-oriented operating systems still exist, however, running as virtual machines under a higher-level operating system.

Traditional Mainframes Although they represent old technology, traditional mainframe operating systems such as MVS do offer one significant advantage: – Relative simplicity A modern distributed system is incredibly complex and is best studied by focusing on the interrelated layers rather on the contents of any given layer. It is possible, however, to understand the internal logic of an MVS operating system, and what happens within a stand-alone computer is a pretty good reflection of what happens inside one of those complex, distributed system’s independent layers.

Traditional Mainframes The Program Status Word A computer executes one instruction during each machine cycle. The Instruction Control Unit looks to the Instruction Counter for the address of its next instruction. – The Program Status Word (PSW) External devices are attached to the mainframe through channels: – A special-purpose computer – Because it has its own independent processor, the channel can function in parallel with the main processor, thus freeing the mainframe to do other work.

Traditional Mainframes Physical I/O External devices are attached to the mainframe through channels: – A special-purpose computer – Because it has its own independent processor, the channel can function in parallel with the main processor, thus freeing the mainframe to do other work.

Traditional Mainframes Physical I/O The channel executes instructions – Channel Program The channel’s function is to transfer a certain number of bytes from a peripheral device into memory (or from memory to a peripheral device). The channel program is stored in the main computer’s memory and passed to the channel when the I/O operation begins.

Traditional Mainframes Physical I/O Channel Program: – Consists of one or more channel command words (CCW) – Each CCW Contains a: Command code that specifies the operation to be performed (read, write, seek) Data Address Byte Count Several Flags

Traditional Mainframes Physical I/O When the channel’s processor receives a start I/O command from the main processor: – It copies the channel address word into the channel’s instruction counter – The channel fetches and executes the first channel command word.

Traditional Mainframes Physical I/O The channel and the computer function independently. The main processor has no way of knowing when the channel has completed its work unless the channel tells it. When the I/O operation is finished, the channel signals the main processor and reports its status to the operating system (I/O Interrupt).

Traditional Mainframes Interrupts The signal that flashes from a channel to the processor. The mainframe responds to an Interrupt by switching PSWs. Three fields are involved: – The current PSW – The special register that holds the address of the next instruction to be executed, – An old PSW; – A new PSW – Holds the address of an interrupt handling routine in the operating system.

Traditional Mainframes Interrupts When an Interrupt occurs: – Hardware stores the current PSW in the old PSW field and then loads the new PSW into the current PSW register. – The current PSW now points to the Interrupt Handling Routine. – As the processor begins its next machine cycle, it fetches the instruction whose address is in the PSW and starts the Interrupt Handling Routing.

Traditional Mainframes Interrupts The old PSW holds the address of the next instruction in the original application program. – After the interrupt is processed, the application program is resumed.

Traditional Mainframes Interrupts The mainframe recognizes six different Interrupt types: – I/O Interrupt – The channel must signal the processor when an I/O operation is completed. – Restart Interrupt – Allows an operator or another processor to intervene and start a program. – External Interrupt – Comes from the operator’s console, another processor, or the timer.

Traditional Mainframes Interrupts The mainframe recognizes six different Interrupt types: – Machine Check Interrupt – Occurs whne the computer’s self-checking circuitry detects a hardware failure. – A Supervisor Call (SVC) Interrupt – When a program requests a particular supervisor routine. – Program Interrupt – the result of anillegal or invalid instruction.

Traditional Mainframes Operating System Functions Job and Task Management: – A Task – A single program or routine that has been loaded on the computer and is ready to run. – A Job – One or more related tasks. Job Management: – The routines that dispatch, queue, schedule, load, initiate, and terminate jobs or tasks. Task Management: – Supports a program as it runs (Interrupts)

Traditional Mainframes The Master Scheduler The Master Scheduler: – The MVS Dispatcher – With several application tasks sharing memory, it is inevitable that two or more will be ready to use the processor at the same time. – The Master Scheduler resolves this conflict by following an algorithm to select the next task to run. The operator can issue an external interrupt to communicate with the Master Scheduler and override the selection.

Traditional Mainframes Job Control Language Mainframe operating systems were designed to support a batch environment. The complete job, including all the related programs or job steps and their peripheral device requirements, must be specified in advance and submitted to an operating system scheduler routine so it can be placed in a queue for eventual processing. These specifications are defined in a series of job control language (JCL) statements.

MVS Job Control Statements JOB Statement Identifies a job to the operating system Separates and identifies jobs Passes Accounting and Priority information to the operating system

MVS Job Control Statements EXEC Statement Identifies the program to be executed Identifies a job step

MVS Job Control Statements DD Statement Identifies a data set to the operating system Defines in detail the characteristics of each and every peripheral device used by the job.

Fig. 11.4: An OS/JCL statement.

JCL Syntax Parentheses are required if more than one subparameter is coded. To continue a JCL statement, break after any comma and resume on the next line.

JOB Statement

Fig. 11.5: A JOB statement.

Job Statement //P155 JOB (‘04/10/97’),’M. R. Izzo’,CLASS=T, // PRTY=5,MSGCLASS=F, // MSGLEVEL=(1,1),TIME=(,30), // COND=(4,GT)

The first two positions must contain a // to identify the statement as a Job Control Statement.

//P155 JOB (‘04/10/97’),’M. R. Izzo’,CLASS=T, // PRTY=5,MSGCLASS=F, // MSGLEVEL=(1,1),TIME=(,30), // COND=(4,GT) Job Name – Identifies the Job - An 8-position alphanumeric name. - The first position must be alphabetic.

//P155 JOB (‘04/10/97’),’M. R. Izzo’,CLASS=T, // PRTY=5,MSGCLASS=F, // MSGLEVEL=(1,1),TIME=(,30), // COND=(4,GT) Operation - JOB

//P155 JOB (‘04/10/97’),’M. R. Izzo’,CLASS=T, // PRTY=5,MSGCLASS=F, // MSGLEVEL=(1,1),TIME=(,30), // COND=(4,GT) Two types of parameters: Positional Parameter - Parameter is identified by its position in the job statement. 30

//P155 JOB (‘04/10/97’),’M. R. Izzo’,CLASS=T, // PRTY=5,MSGCLASS=F, // MSGLEVEL=(1,1),TIME=(,30), // COND=(4,GT) Two types of parameters: Keyword Parameter - Identified by means of a “key” word. Subparameter - May be contained within positional or keyword parameters. 31

Positional Parameters

//P155 JOB (‘04/10/97’),’M.R.Izzo’,CLASS=T, // PRTY=5,MSGCLASS=F, // MSGLEVEL=(1,1),TIME=(,30), // COND=(4,GT) Accounting Information Positional Parameter is used to supply any type of accounting information which may be required by a particular installation. The entire Accounting Information Parameter may contain as many as 142 characters. If Subparameters are used in the Accounting Information Parameters, they must be separated by commas and enclosed within parentheses.

Accounting Information Parameter Example Assuming that your installation requires 4 subparameters -- account number, billing date, billing code, and billing location--- //Jobname JOB ( ,’05/30’,4B16, // ‘ST. LOUIS, MO.’)

//P155 JOB (‘04/10/97’),’M. R. Izzo’, CLASS=T, // PRTY=5,MGCLASS=F, // MSGLEVEL=(1,1),TIME=(,30), // COND=(4,GT) Programmer Name identifies the individual or group responsible for the job. The Programmer Name positional parameter may be from 1 to 20 characters long, including any special characters.

//P155 JOB,’M. R. Izzo’, CLASS=T, // PRTY=5,MGCLASS=F, // MSGLEVEL=(1,1),TIME=(,30), // COND=(4,GT) If the Accounting Information Parameter is omitted, the Programmer Name must be preceded by a comma.

Keyword Parameters

//P155 JOB (‘04/10/97’),’M. R. Izzo’,CLASS=T, // PRTY=5,MSGCLASS=F, // MSGLEVEL=(1,1),TIME=(,30), // COND=(4,GT) In MVS, jobs are scheduled according to job class and priority. Each job is assigned to a job class using the CLASS parameter. CLASS may be any alphanumeric character (A-Z, 0-9) as defined by the installation. The CLASS parameter values have no inherent meaning except as defined by the installation.

//P155 JOB (‘04/10/97’),’M. R. Izzo’,CLASS=T, // PRTY=5,MSGCLASS=F, // MSGLEVEL=(1,1),TIME=(,30), // COND=(4,GT) Within a job class category, jobs are selected for execution based on job PRIORITY specified in the JOB statement. PRIORITY may be any number from 0 to 13, with the highest priority being 13.

//P155 JOB (‘04/10/97’),’M.R.Izzo’,CLASS=T,PRTY=5, // MSGCLASS=F,MSGLEVEL=(1,1), // TIME=(,30),COND=(4,GT) The MSGLEVEL parameter is used to indicate which JCL statements and system messages are to be printed on the output listing. MSGLEVEL has 2 subparameters - one which indicates what kinds of JCL statements are to be printed and one which indicates whether system allocation/termination messages are to be printed.

Fig. 11.7: MSGLEVEL specifies which JCL statements and messages are to be printed.

//P155 JOB (‘04/10/97’),’M. R. Izzo’,CLASS=T, // PRTY=5,MSGCLASS=F, // MSGLEVEL=(1,1),TIME=(,30), // COND=(4,GT) The first subparameter (statements) identifies: 0 - Print only the JOB statement. 1 - Print all JCL statements, including cataloged procedure statements. 2 - Print the input JCL only.

//P155 JOB (‘04/10/97’),’M. R. Izzo’,CLASS=T, // PRTY=5,MSGCLASS=F, // MSGLEVEL=(1,1),TIME=(,30), // COND=(4,GT) The second subparameter (statements) identifies: 0 - Print no system(allocation/termination) messages unless the job terminates abnormally. 1 - Print all allocation/termination messages.

//P155 JOB (‘04/10/97’),’M. R. Izzo’,CLASS=T, // PRTY=5,MSGCLASS=F, // MSGLEVEL=(1,1),TIME=(,30), // COND=(4,GT) Print all JCL statements, including cataloged procedure statements. Print all allocation/termination messages. Where??????????

//P155 JOB (‘04/10/97’),’M. R. Izzo’,CLASS=T, // PRTY=5,MSGCLASS=F, // MSGLEVEL=(1,1),TIME=(,30), // COND=(4,GT) The MSGCLASS parameter directs the operating system to assign the output listing, as specified by the MSGLEVEL parameter, to a particular output class. The MSGCLASS parameter pertains only to job JCL and allocation/termination messages.

//P155 JOB (‘04/10/97’),’M. R. Izzo’,CLASS=T, // PRTY=5,MSGCLASS=F, // MSGLEVEL=(1,1),TIME=(0,30), // COND=(4,GT),TYPRUN=SCAN The TIME parameter specifies the total amount of CPU time the job will be allowed to run. The TIME parameter has 2 subparameters - one which indicates the number of minutes and one which indicates the number of seconds the job will be allowed to run.

Fig. 11.6: The TIME parameter sets a run time limit on the job.

//P155 JOB (‘04/10/97’),’M. R. Izzo’,CLASS=T, // PRTY=5,MSGCLASS=F, // MSGLEVEL=(1,1),TIME=(0,30), // COND=(4,GT),TYPRUN=SCAN The CONDITION CODE is a number from 0 through 4095 which is compared to the return code or completion code issued by a program. The OPERATOR specifies the type of comparison to be made: GT - Greater Than GE - Greater Than Or EQ – Equal to Equal To LE – Less Than Or LT - Less Than Equal To NE - Not Equal To

Fig : The COND parameter.

//P155 JOB (‘04/10/97’),’M. R. Izzo’,CLASS=T, // PRTY=5,MSGCLASS=F, // MSGLEVEL=(1,1),TIME=(0,30), // COND=(4,GT),TYPRUN=SCAN HOLD The TYPRUN parameter allows the operating system to: SCAN the JCL for errors. Once the scan is completed, a JCL listing, containing any errors found, will be printed. The Job will not be executed. HOLD – the job is submitted into the system but will not be executed. The job will stay in HOLD status until the TYPRUN parameter is deleted.

EXEC Statement

//STEP1 EXEC PGM=PR350 PROC=GENLDGR STEP1 - Step Name EXEC - Operation PGM= - Program to be executed PROC= - Proc to be executed 52

//STEP1 EXEC PGM=PR350,ACCT=4552 ACCT - Allows you to supply accounting information for a job step. This parameter may contain as many as 142 characters, including commas that separate any subparameters.

//STEP1 EXEC PGM=PR350,ACCT=4552, // PARM=( ) PARM - The PARM parameter is used to pass variable information to a program at execution time. The information may be any data that is needed to execute the program. This parameter may contain up to 100 characters of information. The PARM parameter may contain subparameters.

ADDITIONAL PARAMETERS //STEP1 EXEC PGM=PR350,ACCT=4552, // TIME=(0,10),COND=(4,GT,) The TIME parameter specifies the total amount of CPU time the step will be allowed to run. The TIME parameter has 2 subparamaters - one which indicates the number of minutes and one which indicates the number of seconds the step will be allowed to run. 55

ADDITIONAL PARAMETERS //STEP2 EXEC PGM=PR350,ACCT=4552, // TIME=(0,10),COND=(4,GT,) The CONDITION CODE is a number from 0 through 4095 which is compared to the return code or completion code issued by a program in a previous step. The comparison takes place before the step is executed. If the condition is True, the step is bypassed. The OPERATOR specifies the type of comparison to be made: GT - Greater Than GE - Greater Than Or EQ – Equal to Equal To LE – Less Than Or LT - Less Than Equal To NE - Not Equal To 56

ADDITIONAL PARAMETERS //STEP1 EXEC PGM=PR350,ACCT=4552, // TIME=(0,10) //STEP2 EXEC PGM=PR355 //STEP3 EXEC PGM=PR405, // COND=(7,LE,STEP1)

Fig. 11.1: A compile, link edit, and execute job.

Fig. 11.2: The JCL for a compile, link edit, execute job.

Fig. 11.3: A cataloged procedure is a library file containing pre-coded JCL statements.

Fig. 11.9: The cataloged procedure FORTRAN.