Professional Documents
Culture Documents
Day-wise Schedule
Details of the Sessions
Day 1 Session 1 (Theory) Computing Environment -Key Concepts & terminology, Typical IBM MF site. IBM Operating Systems IBM families of OS - IBM Hardware - MVS Implementation Demo on ISPF Familiarizing with various options of TSO & ISPF Editor MVS Functions Data Management Overview - Job Management Overview MVS Tools Overview Assignments ISPF editor & TSO
MVS
Session 4 (Lab)
MVS
Command Processing
Command Issue Mode
How a user (programmer / end-user) interacts with the computer E.g. To edit a program, to execute a program On-line Mode - Using Terminal Batch Mode - Using Punched Cards or JCL
Foreground - Terminal is locked while the command is being executed Background - Terminal is free while the command is being executed
MVS
Data Processing
How Business applications are executed On-line End User performs business functions Application programs work interactively with End User Execution is in foreground mode Database is immediately updated to reflect the changes Typically used for transaction processing, queries, master updates functions
MVS
Data Processing
Batch
Application programs are executed in background mode Periodic business functions are executed automatically As and when business functions are triggered by End User Operations department is responsible for monitoring the
execution
A command file is created to execute these functions One command file may consist of multiple programs / system
utilities
Typically used for bulk transaction processing, report printing ,
Time Sharing
Resource Sharing Multiple Users compete for computer resources at the same time At any given point in time only one user can have control of the resources What should be the basis of sharing?
1. 2. 3.
4.
5.
First come first served? Priority based? Who so ever can grab it - Law of Jungle? Equal - Democratically? Need based?
Usually combination of 2 and 4 is used i.e. all are equal but some are more equal!!!!!
MVS
Time Sharing
Time Slice Each user is given control of resources for a pre-defined period - time slice The control is passed on to next in queue user at the end of time slice (even if first users work is incomplete) If the user requires I/O before the time slice is over, the control is handed over to the next user (since CPU cannot do anything until I/O is complete)
MVS
Time Sharing
Priority
Each user / function is assigned a priority level The higher priority users are serviced first in a round robin
fashion
Only if the higher priority users are in wait state for I/O
completion the users in the lower priority are serviced Time Sharing typically refers to sharing of resources in an interactive processing mode
MVS
Multi-programming
Why Multi-programming? The program has CPU based and Non-CPU based instructions CPU is kept waiting during the non-CPU based instructions execution E.g. I/O operations (Disk, Terminal, Printer) This results in wastage of CPU time - a precious resource Multi-programming results in better CPU utilization
MVS
10
Multi-programming
How Does it Work? Multiple programs are kept ready for execution CPU can execute only one program at any given point in time If the currently executing program requires I/O, it is put in a wait state Another program is immediately taken for execution On completion of I/O the program again becomes ready for execution
This results in an illusion that multiple programs are being executed simultaneously, hence multiprogramming.
MVS
11
Multi-programming
Multi-programming Overheads
Program Queue Management Program Status Management
MVS
12
Multi-processing
There are multiple CPUs (processors) in one machine These work together under single operating system Each CPU executes a separate program O/S assigns programs to each CPU Essentially CPU is treated as an allocable device!!!!!
MVS
13
Spooling
Why Spooling?
Multiple programs may need same printer at the same time May result in intermixing of output Exclusive access to a program will hold other programs Printer is much slower, results in longer wait state
How it is Implemented?
Output to printer is intercepted and written to a disk i.e.
spooled
On completion of program spooled output is queued for
Printing
This queue is processed by O/S print routine The O/S print routine is multi-programmed along with
application programs
MVS
14
Virtual Storage
Why Virtual Storage
Required to enable execution of programs with are larger than the main
memory size
address Feasible because only the instruction currently being executed and the corresponding data need to be in the main storage
MVS
15
Virtual Storage
Advantages of Virtual Storage Main memory can be shared by multiple programs Enables effective use of the limited main storage Overheads of Virtual Storage Address mapping Keeping track of what is in memory and what is not Data/Instructions need to be brought in main memory as an when required Remove from main memory what is not currently required (to make room for instructions of other program) Memory Management
MVS
16
Large Local or Global Operations or Both User Community in Hundreds Almost non-stop operations (weekly maintenance window of about 1/2 day) Large Volumes of Data / High Volumes of Transactions Hundreds of Applications / Mission Critical Applications
MVS
17
On-line during prime time (might mean 24 hours for global operations) Batch during non-prime time (wrt local time) of 12 - 15 hours
Software Environment
EDI Processing
Two Tier Database Architecture - C/S and Central
Hardware Environment
Multiple Machines - Networked Together Multiple Processors for Each Machine Huge Number of Data Storage Devices - Disks and Tapes
MVS
18
DBAs Operations Multiple Data Centers to Manage Batch Processing System Programmers for; - O/S - Database Packages - OLTP Packages Network Support Staff
MVS
19
Migrating from Dos to OS is a major change VM is not very popular Today most of the sites use MVS
20
MVS Evolution
1995 MVS/ESA 5.2.2
1993
1990 1988 SYSTEM 390
MVS/OPEN EDITION(POSIX)
MVS/ESA
16 TB
1981
1974 1972 OS/VS1
MVS/XA
2 GB (31-bit)
1970
1966 1966
SYSTEM 370
OS/MFT OS/MVT 3 MB
21
MVS Evolution
Operating Systems for System/360 1965 Basically a Primer Introduction of JCL-(JOB Control Language) (Became obsolete 1n 1969 1966 Limited multi-programming Small improvement over PCP 1967/68 MFT
PCP
MVT
MVS Evolution
Major Handicaps Limited and inefficient spooling No Virtual Storage
Developed unofficially (self initiative) by IBM employees Distributed free to MVT/MFT users Became very popular Eventually owned and supported by IBM
MVS
23
MVS Evolution
ASP - Attached Support Processor
Developed (officially) by IBM Intended for MVT Several mainframes can work together under single O/S (predecessor of multi-processing?) Provided better spooling capability Relatively less takers
MVS
24
MVS Evolution
System 370
Announced in early 70s Supported Virtual Storage New Operating Systems OS/VS were introduced
HASP and ASP were migrated to OS/VS2 under the names JES2 and JES3 MVS and its derivatives are the mainstay of IBM O/S now
MVS
25
MVS Evolution
1974 24 bit addressability Greater reliability / integrity / performance Virtual storage limitation of 16MB - A serious handicap for CICS 1983 32 bit addressability Virtual storage of 2GB Increased maximum number of channels and Devices 1988 Virtual storage of 16 Terra Bytes OS /VS2 MVS/SP1 Multiple Virtual Storage System/370
MVS/XA Processors : 308x, 3090, 4381 MVS /ESA MVS/SP3 Multiple Virtual Storage Enterprise Systems Architecture ESA/370 Processors : ES/3090 E and S Models and later 4381 Models 90E, 92E, 93E and later
MVS /ESA
MVS/SP4 Multiple Virtual Storage Enterprise Systems Architecture ESA/390 Processors : ES/9000, ES/3090-9000T ES/3090 J Models
MVS
26
common model for computing systems by John Von Neumann in year 1940
Prepared
Instruction 1
Instruction 2
Instruction 3 Instruction 4 ---- ----- ---Instructions are executed one at a time sequentially
MVS
Register
27
Main Memory
28
MVS
MVS
30
P3
Virtual Memory
OS
Real Memory (Only part of program that requires main memory will be in the main memory)
MVS
31
MVS
32
swapped in
File
Auxiliary Device
MVS
33
Channel 5
Channel 6 Channel 7
MVS
34
MVS
35
Devices
Channels Provide paths between the processor & I/O devices 3090 processors can have a maximum of128 channels A channel itself is a computer & executes I/O instructions called channel commands I/O devices are connected to channels through an intermediate device called Control Unit. Each channel can have up to 8 control units. 36 MVS
32
32
37
IBM Hardware
How do todays PC and medium sized IBM MF compare?
Characteristics Processor Speed Main Memory Individual Disk Storage Monitor PC (Pentium 100) 16-32 MB 16-32 MB 1.2 GB SVGA/ Graphics Main Frame (4381) 32 MB 32 MB 946 MB Character based dumb terminal
MVS
38
IBM Hardware
Where does the power of IBM MF come from? Multiple processors with partitioning capability Cache memory and expandable memory Multi-user / Multi-programming Support Batch and on-line processing support Local and remote terminal support High number of devices Strong data management capability
MVS
39
Key Terminology
Cache Memory High speed memory buffer (faster than main memory) Operates between CPU and main memory Used to store frequently accessed storage locations (instructions) Usually available on all processors Expanded Memory Supplements main memory Not directly available to application program Not directly accessible by CPU Implemented using high speed disk Usually available with higher-end machines 40 MVS
Key Terminology
Processor Resource / System Manager (PR/SM)
Used to control Multi-processor Configurations Allows division of multi-processors in partitions - LPAR Each partition functions as independent system Enables fault tolerance implementation by designating Primary and Secondary Partitions Secondary partition takes over automatically if primary fails Allows reconfiguration of I/O channel to partitions
MVS
41
Key Terminology
Channels Device Management Concept - Unique to IBM Provides access path between CPU and I/O devices (DMA) Upto eight control units can be connected to one channel Upto eight I/O devices can be connected to one control unit A channel is a small computer in itself with a set of instructions (Channel commands) Channel controls the I/O device operations independent of CPU Cannel processing can overlap CPU processing improved performance 42 MVS
Key Terminology
Channel - I/O Device Connectivity Parallel architecture i.e. all bits of a byte are transmitted simultaneously Information transfer is in unit of two bytes Sixteen data wires and additional control wires are required Maximum length of 120 meters (400 feet) Data speed of 4.5mbps Use of copper results in heavy, expensive cabling ESCON - Enterprise System Connection Announced in 1990 Uses fiber optic Results in reduced size and weight Length limit extended to approximately 42Km (26 miles) Faster data speed (17mbps)
MVS
43
I/O Devices
Unit Record Devices - Each record is a single physical unit Card Devices (now obsolete) : Readers / Punches / Reader and Punches Printer
Impact Printers - 600 to 2000 LPM Non-Impact Printers - 3800 sub-system, 20,000 LPM
Magnetic Tape High volume storage Sequential processing Normally used as back-up device Also used for physical transfer of data 4 to 8 tape drives are connected to one control unit
MVS
44
I/O Devices
DASD - Direct Access Storage Device IBMs official name for Disk Non-removable - offers better reliability and are faster Each unit is called as disk pack or Volume Each pack has multiple surfaces Each surface has multiple tracks Same track no. of all surfaces together constitute a Cylinder DASD capacity ranges from 100 MB (3330) to 8514MB (3390/9) A group of DASDs of same type are connected together to form a String and are connected to a string controller Multiple string controller are connected to a storage controller Storage controller is connected to channel 45 MVS
I/O Devices
3990 Storage Controller Can connect 2 strings of 32 each 3390 model DASDs (totally 64 DASDs Consists of high speed cache storage (32MB to 1024MB) Data is buffered using cache Frequently accessed data is stored in Cache - improved performance Supports more than 4 channel connection to processor
MVS
46
Data Communication equipment lets an installation create a data communication network that lets users at local terminals & remote terminals to access computer system
MVS
47
MVS
Satellite Link) Remote terminals / printers are connected to terminal controller (at local site) Terminal controller is connected to modem Modem is connected to telecommunications line At the receiving end telecommunications line is connected to modem Modem is connected to communication controller
MVS
49
50
channel
communication controller
modem
modem
Telecommunication Lines
modem modem
terminal controller
terminal controller
terminal
printer
terminal
printer
Remote System
51
Ancient terminology (e.g. Card, Punch queue) which is irrelevant now Different terminology (e.g. DASD, DATA SET) Too many options / parameters Too many terms / acronyms Variety of software results in site specific variations
MVS
53
First in DBMS, First in OLTP, first in PC!!!! First to develop a chess playing computer that beat world champion
MVS
54
55
56
MVS
57
MVS Terminology
Address Space An address space is simply the complete range of addresses and as a result, the number of storage locations; that can be accessed by the computer. An address space is a group of digits that identify a physical location in main storage In MVS an address space has 24-bit positions i.e. 16MB addressability. MVS allows each programmer to use all 16MB address space, even though real storage includes only, for example 4MB physical locations.
MVS
58
MVS Terminology
Address Space (Contd..) In MVS, references in the program address space are not associated with a particular real storage location. They remain reference to a particular piece of information called Virtual Addresses. They become real only when assigned to a physical location. When the program is ready to execute the system, using a system/370 hardware feature called Dynamic Address Translation(DAT), maps the virtual addresses in the program to the real storage addresses. By doing this, MVS can make the program address space larger than the number of physical location available in real storage. 59 MVS
MVS Terminology
MVS It uses real storage to simulate several address spaces, each of which is independent of the others
Auxiliary Storage 0 0 0
MVS
60
MVS Terminology
Auxiliary storage and real storage are used in combination to simulate several virtual storage address space Each batch job or TSO user is given its own address space Various factors such as the speed of the processor and the amount of real storage installed effectively limit the number of address spaces than can be simulated. To provide for the larger virtual storage, MVS treats DASD as an extension of real storage Only one address space can be in control of CPU
MVS
61
MVS Terminology
Paging To enable the movement of the parts of a program executing in virtual storage between real storage and auxiliary storage, the MVS system breaks real storage, virtual storage & Auxiliary storage into blocks. - A block of Real Storage is a Frame - A block of Virtual Storage is a Page - A block of Auxiliary storage is a Slot A page, a frame and a slot are all the same size each is a 4K byte An active virtual storage page resides in a real storage frame, an inactive virtual storage page resides in an auxiliary storage slot 62 MVS
MVS Terminology
Paging Moving pages between real storage frames and auxiliary storage slots is called PAGING
Virtual Storage Page
MVS
63
MVS Terminology
Demand Paging Assume that DAT encounters an invalid page table entry during address translation, indicating that a page is required that is not in a real storage frame. To resolve this Page Fault, the system must locate an available real storage frame to map the required page(page-in). If there is no available frame, an assigned frame must be freed. To free a frame, the system moves its contents to a auxiliary storage. This movement is called a Page-Out. System performs page-out only when the contents of the frame have changed since the page was brought into real storage.
Once a frame is located for the required page, the contents of the page are moved from auxiliary storage to real storage. This movement is called as Page-In.
MVS
64
MVS Terminology
Demand Paging (Contd ..) The process of bringing a page from auxiliary storage to real storage in response to a Page Fault is called DEMAND PAGING
MVS tries to avoid the time consuming process of demand paging by keeping an adequate supply of available real storage frames constantly on hand. Swapping is one means of ensuring this adequate supply. Page stealing is another.
MVS
65
MVS Terminology
Swapping Swapping is the movement of an entire address space between Virtual storage & Auxiliary storage. It is one of the several methods MVS employs to balance system workload, as well as to ensure that an adequate supply of available real storage frames is maintained. Address space that are swapped in are active, having pages in real storage frames & pages in auxiliary storage slots. Address spaces that are swapped out are inactive; the address space resides on auxiliary storage and cannot execute until it it is swapped in.
MVS
66
MVS Terminology
Page Stealing If there are not enough 4K frames available then frames which are not referenced for long time will get thrown out and written to the auxiliary storage. So now those 4K frames are free. This is known as Page Stealing.
MVS
67
MVS Terminology
The paging process is managed by several components of MVS. The 3 major one are : - Real Storage Manager (RSM) - Auxiliary Storage Manager(ASM) - Virtual Storage Manager (VSM) RSM - manages real storage - directs movements of pages among real and auxiliary - builds segment & page table
MVS
68
MVS Terminology
ASM keeps track of the contents of the page dataset and swap dataset page dataset contain virtual pages that are currently occupying a real storage frame. Swap dataset contain the LSQA pages of swapped out address space. VSM controls allocation/deallocation of virtual storage maintain storage use information for Storage Management Facility (SMF)
MVS
69
Private Area
System Area
Nucleus
System Region
Each Virtual Storage Address Space consists of a System Area, a Private Area and a Common Area.
MVS
70
MVS
71
It contains parts of the system control program, control blocks, tables and data areas The basic parts of the Common Area are :
System Queue Area (SQA) Pageable Link Pack Area (PLPA) Common Service Area (CSA)
MVS
72
pageable
MVS
73
MVS
74
MVS
75
76
- SWA contain control blocks that exist from task initiation to task termination - The information in SWA is created when a job is interpreted and used during job initiation and execution - It is pageable and swappable
MVS
77
78
MVS
79
Dataset Organization
Dataset organization fall into two categories under MVS : VSAM and NON-VSAM Non-VSAM provides four basic ways of organizing data stored in datasets - Physical Sequential - Indexed Sequential - Direct - Partitioned VSAM provides four basic ways of organizing data stored in datasets - Entry Sequence Dataset - ESDS - Key Sequence Dataset - KSDS - Relative Record Dataset - RRDS - Linear Dataset - LDS 80 MVS
MVS
81
Dataset Organization
Non-VSAM datasets organization
Direct Permits random access of records It doesnt use an index To access record, the disk location address (By hashing) of that record to be specified
Partitioned Consists of one or more members Each of these members can be processed, as if it were a separate physical sequential file. Names of members in a Partitioned dataset(PDS) is stored in a directory
MVS
82
Dataset Organization
Partitioned Data Set - Salient Features Commonly referred as PDS Also known as Library Used to store application components PDS is divided into one or many members Member name can be up to 8 characters long There is no extension for member Each member can be processed as an individual unit Entire PDS can be processed as one unit Each PDS contains a directory
MVS
83
Dataset Organization
Partitioned Data Set - Salient Features (Contd ..) Directory has an entry for each member in a PDS
PDS Examples PAYROLL.TEST.SOURCE, PAYROLL.PROD.SOURCE, INV.TEST.LOADLIB Normally consists of 3 qualifiers called as PROJECT GROUP TYPE
MVS
84
Dataset Organization
Partitioned Data Set - Salient Features (Contd..) Personal PDS start with high level qualifier as User ID E.g. DA00T23.NEW.SOURCE
Member Name Examples PAB0017, PAB0105, PAC0021 etc. Usually, the application component type cannot be identified from the member name. For that naming conventions are used for PDS.
MVS
85
Dataset Organization
VSAM datasets organization
ESDS Can only reside on DASD Functionally equivalent to Physical Sequential File KSDS Functionally equivalent to Indexed Sequential File RRDS Lets you retrieve the record by specifying the location relative to the start of the file All VSAM datasets must be cataloged
MVS
86
Dataset Organization
Data Organization - Salient Points Non-VSAM Data Organization was developed in mid 1960s VSAM - (Virtual Storage Access Method) was introduced in early 1970s VSAM was expected to replace Non-VSAM Data Organization Functions Today, most sites use both VSAM and Non-VSAM Data Organization VSAM is the primary data organization for user data VSAM is also called as native file management system of IBM Most of the DBMS running under MVS use VSAM as underlying Data Organization (e.g. DB2, IDMS) 87 MVS
Dataset Organization
Data Organization - Salient Points (Contd ..) Physical Sequential Data Organization is used for flat files Index Sequential and Direct Data Organization are not very popular now (these functions are handled better by VSAM) Partitioned Data Sets (PDS) also used by MVS to store O/S programs
MVS
88
89
MVS
90
Label Catalog
First record of each data set is a label record called as; File label or Data Set Control Block (DSCB) There are several formats for DSCB DSCB describes data sets name, its DASD location and other details
MVS
91
Each DASD is labeled; called Volume Label (VOL1 label) DASD label is stored on a disk at third record of track 0 in cylinder 0 DASD label contains Volume Serial Number and address of the VTOC file
MVS
92
MVS
93
MVS Datasets
Label Processing When a dataset is stored on disk or tape, MVS identifies it with special records called labels. There are 2 types of DASD labels : Volume, File Label All DASD volumes must contain a volume label, often called a VOL1 label. This label is always in the same place on a disk volume : the 3rd record of track zero in cylinder zero. Volume label has 2 important functions : - It identifies the volume by providing a volume serial no. : Vol-ser. Every DASD volume must have a unique sixcharacters vol-ser. - It contains the disk address of the VTOC.
MVS
94
MVS Datasets
Label Processing (Contd..)
The VTOC (Volume Table of Contents) is a special file that contains the file labels for the datasets on the volume.
These labels are called Data Set Control Block (DSCB) have several formats called Format-1, Format-2 and so on.
MVS
95
MVS Datasets
VOL 1 Label Vtoc Format-4 VTOC Free Extents File-A File-B File-C Free Extent File-B Free Extent Format-1 FileA Format-I File-B Format-I File-C Format-3 File-B Format-5 Free Extents
MVS
96
MVS Datasets
Format-4-dscb : describes VTOC itself Format-1-dscb : *describes a dataset by supplying dataset name, DASD location & other characteristics [space is not allocated to DASD file in area called extents. Each extent consists of one or more adjacent tracks] : * has room to define 3 extents for a file (1 primary, 2 secondary) Format-3-dscb : *if file requires more than 3 extents, this dscb is created *It contains room for 13 additional secondary extents [As a result file can contain upto 16 extents] Format-5-dscb : *contain information about free extents that arent allocated to files * each can define upto 26 free extents
MVS
97
Catalog
Catalog
Obviates the need of specifying Vol Ser for the data set
Catalog Types
Catalog Features
Each MVS has only one Master Catalog Master Catalog is used by MVS for system data sets User Catalog is used for user data sets There can be multiple User Catalogs Master Catalog contains one entry of each User Catalog
MVS
98
Catalog
Catalog Features (Contd..) VSAM data sets must be Cataloged Non-VSAM Data Sets may or may not be cataloged An Alias can be created for a Catalog Usually, the high-level qualifier of a data set is same as the catalog name or catalog alias name Multiple data sets can be cataloged in single user catalog Alias helps to catalog data sets with different high-level qualifiers to be cataloged in a single user catalog
Catalog Name VCAT.MPS800 Alias MMA2 MMA1
99
Data Management
Data Management Functions (for Non-PDS) Allocate Process Add Records Modify Records Delete Records Deallocate (delete) Copy Rename Catalog
MVS
100
Data Management
Additional Functions for PDS
Interactively using MVS Commands Executing MVS Utility Programs (batch mode) Through Application Programs On-line Processing Batch Processing
MVS
101
MVS Concepts
How datasets are Accessed Generally dataset goes through three phases when handled through program : Allocation Processing Deallocation Allocation The process of locating an existing dataset or space for a new dataset and preparing the system control block needed to use the dataset is called Allocation Allocation occurs at 3 levels
Unit is selected and allocated e.g. SYSALLDA-DASD, TAPE Volume is allocated Dataset on that volume is allocated
MVS
102
MVS Concepts
How datasets are Accessed (Contd ..)
Deallocation - Each file is automatically deallocated when job is finished with it - While deallocating, disposition of dataset can be decided, whether you want to retain the file or should be deleted
MVS
103
104
MVS
105
MVS
106
MVS
107
Incorrect commands (command syntax errors) Required resources (Data Sets, Program Library, Program Load Module) not available Violation of access permissions for data sets, program load module etc. Mismatch in data set status; as required by job and as it actually exists e.g. a create is issued for a data set while data set which already exists
MVS
108
MVS
109
Job Management
Definitions JOB :- Is the execution of one or more related programs in sequence JOB STEP :- Each program to be executed by a Job is called a job step
JCL (Job Control Language) :- Is a set of control statements that provide the specifications necessary to process a job
MVS
110
Job Management
Definitions (Contd ..)
JES (Job Entry Subsystem) :
- Ment for job entry into system, also for job returning after completion - Shares the load on the operating system - Takes care of all inputs and outputs - Do simple basic syntax checking - Resource Initialization - Creation of address space - It is also known as Job Scheduler - Classified into JES2-design for uniprocessor environment JES3-design for multiprocessing environment (Decided at the time of system initialization) - Jobs are sent to MVS depending on the class priority schemes 111 MVS
MVS
112
Job Scheduling
How Job Is Scheduled For Execution
MVS does not necessarily process jobs in the order in which they are submitted. Instead, JES examines the jobs in the job queue and selects the most important jobs for execution. That way JES can prioritize its work, giving preference to more important jobs. JES uses 2 characteristics to classify a jobs importance, both of which can be specified in the jobs JCL : Job Class and Job Priority If two or more jobs are waiting to execute, the JES scheduler selects the one with higher priority 113
MVS
Job Scheduling
Each job class is represented by a single character, either a letter (A-Z) or a digit (0-9). Job classes are assigned based on the processing characteristics of the job.
INITIATOR :- An initiator is a program that runs in the system region of an address space. Each initiator can handle one job at a time. It examines the JES spool, selects an appropriate job for execution, executes the job in its address space and returns to the JES spool for another job. The number of active initiator on a system and as a result the number of address spaces eligible for batch job processing determines the number of batch jobs that can be multiprogrammed at once.
MVS
114
Job Scheduling
Each initiator has one or more job classes associated with it. It executes jobs only from those classes. Initiator 1 2 3 4 5 6 Eligible Job Classes A B,C,D,H,L,T B,C,D,H,L,T B,C B,C C
MVS
115
Job Scheduling
Within a job class, initiator selects jobs for execution based on their priorities, which can range from 0 to 15
If two or more jobs have same class & priority, they are executed in the order in which they are submitted.
MVS
116
MVS
Job JES
spool
INITIATOR
MVS
118
MVS
119
MVS
120
After initiator selects a job for execution, it invokes the interpreter, which builds the required control blocks in the address spaces SWA.
System Region Allocation Initiator SWA control block User Program System Region Initiator
For each job step, the initiator invokes allocation routines to allocate the units, volumes and datasets required by the job step
After resource allocation, the initiator creates a user region, loads the user program into it and transfers control to user program
MVS
121
SWA
CONTROL BLOCK
SYSTEM REGION
UNALLOCATION
INITIATER
When the user program completes, the initiator invokes Unallocation routine to Deallocate the resources used by the job step 122 MVS
Tools Overview
Tools - A set of sub-systems and facilities that; Implement MVS functions Are directly used by MVS user
MVS
123
Tools Overview
Interactive Processing Tools TSO - Time Sharing Option Used by the terminal user to invoke MVS facilities interactively TSO internally treats each terminal user as a Job Job Stream is created when terminal user logs in Each terminal user is given a separate address space
MVS
124
Tools Overview
ISPF - Interactive System Productive Facility Runs as part of TSO Takes advantage of full screen (24 x 80) capability of 3270 terminals Panels are provided for terminal users for issuing commands Key Functions Implemented Using ISPF Editor - Program Sources, Job Commands Data Management - PDS and Physical Sequential Data Set Management Job Processing - Initiate Job, Check job log Miscellaneous PDF - Program Development Facility is Part of ISPF
MVS
125
MVS
126
MVS
127
To whom the job belongs (which user id)? What is the program / utility that is to be executed? Where (in which library / PDS) to find the load module of the program or utility? Where (which DASD volume / catalog, what data set name) to find the input data files for the program / utility? Where should (which DASD volume, what data set name) the output files be created? The printer output should be directed to which printer?
MVS
128
Stands for Job Control Language Connotation is; set for job commands stored as a MEMBER in a PDS e.g. JCL to execute a batch program, JCL to compile and link a COBOL program, JCL to allocate a VSAM data set, JCL to SORT and MERGE two Physical Sequential Data Sets Thus, JCL is nothing but a set of commands User keys-in commands using a editor Saves as PDS Member e.g. PAYROLL.TEST.JCL(PROG1JCL)
MVS
129
130
JES2 is primarily for single processor systems JES3 is for multiple processor systems
Each MVS system uses either JES2 or JES3 JES3 has additional scheduler functions than JES2 (e.g. schedule job at specific time of the day, interdependent job scheduling)
MVS
131
(now obsolete)
.By starting a cataloged JCL procedure (e.g. when user logs
in, a predefined set of commands are executed as a batch job. These commands are stored as cataloged JCL procedure)
.By interactive users thru SUBMIT command. Users can
create a PDS member in which commands are specified. On issuing SUBMIT command these are executed as a job
We will focus on third approach
MVS
132
On SUBMIT, internal reader reads the JCL and creates an input stream JES2 reads the input stream, assigns a Job Number and places input stream in SPOOL data set (a message is sent to TSO user about the job number) Job is put in the conversion queue
Conversion
Converter program analyzes JCL statements Converts into converter / interpreter text Checks for Syntax errors
If any error, Job is queued for output processing If no error, Job is queued for processing
MVS
133
SWA is part of address spaces private area Control blacks describe the data sets required by the job
MVS
134
Initiator starts the program to be executed Builds the user region Loads the program in the user region Transfers control to the program
allocates the resources The process of allocation / execution and de-allocation is repeated for each job step
MVS
135
MVS
136
MVS
137
MVS
138
Special class (usually Z) is assigned to hold the output Held output remains in the SYSOUT indefinitely Usually used to verify before printing User can change the class and thus release the held output
MVS
139
Local or remote processing Device Selection Queue the output for print /punch
Purge
Release SPOOL and Job Queue space Intimate TSO user about job completion
MVS
140
Job output is available to user (you can see it dynamically) It can be viewed using ISPF
MVS
141
First and last page of job output Inserted by JES Helps operator the segregate the job outputs when directed to printer
Messages produced by JES Also displayed on operators console If the job Abends, error messages are logged in Job Log
MVS
142
Summary information of system resources used by the job e.g.; Number of JCL cards Spool usage Execution time
Component 3 - JCL Listing List of JCL that was processed for the job Should be same as what user has created
MVS
143
Component 5 - SYSOUT Separate sub-component for each SYSOUT allocation Each SYSOUT can have different characteristics e.g. class, record length etc.
MVS
144
MVS
145
Interactive applications are developed using CICS CICS is a VTAM application program Works with VTAM to support on-line functions CICS implements multi-programming within itself Multiple programs which are part of same application are executed within CICS address space CICS selects one program at a time for execution CICS itself is multi-programmed by MVS along with other programs
MVS
146
RACF Whenever user tries to access a resource the security is checked by RACF RACF is a set of routines Invoked as and when required
MVS
147
Keeps track of system usage CPU, DASD I/O, Records Printed etc. Data collected when job is executed Stored in a special data sets Used for billing
MVS
148
MVS
149
MVS
150
151