MVS

Table of Contents
1. Introduction ..............................................................................................................................13
2. Computing Environment..........................................................................................................14
Key Concepts and Terminology.............................................................................................14
Command Processing.............................................................................................................14
Data Processing......................................................................................................................14
Multi-programming................................................................................................................15
Multi-programming Overheads..............................................................................................16
Relevance of Multi-programming..........................................................................................16
Multi-processing.....................................................................................................................16
VERSION 2.0
Spooling..................................................................................................................................16
Virtual Storage.......................................................................................................................17
3rd July 2000
3. Typical IBM Main Frame Site.................................................................................................18
4. IBM Operating Systems............................................................................................................19
MVS Evolution.......................................................................................................................20
5. Operating System Considerations...........................................................................................25
a)Process Management...........................................................................................................25
b)Memory Management.........................................................................................................26
c)Input-Output Management..................................................................................................27
System 370 I/O Architecture..................................................................................................28
6. IBM Hardware..........................................................................................................................31
7. Key Terminology.......................................................................................................................32
Cache Memory.......................................................................................................................32
Expanded Memory.................................................................................................................32
1

MVS
Processor Resource / System Manager (PR/SM)...................................................................32
Channels.................................................................................................................................32
Channel - I/O Device Connectivity........................................................................................32
ESCON - Enterprise System Connection...............................................................................32
I/O Devices.............................................................................................................................33
Unit Record Devices - Each record is a single physical unit.................................................33
Magnetic Tape........................................................................................................................33
DASD - Direct Access Storage Device..................................................................................33
3990 Storage Controller.........................................................................................................33
Data Communication Network...............................................................................................33
Components of data communication......................................................................................33
3270 Information Display System..........................................................................................34
8. Data Communication Equipment............................................................................................35
Often Asked Questions About IBM.......................................................................................36
9. Characteristics Features Of MVS............................................................................................38
MVS Terminology.................................................................................................................38
Address Space........................................................................................................................38
MVS.......................................................................................................................................39
Paging.....................................................................................................................................39
Demand Paging......................................................................................................................40
Swapping................................................................................................................................40
Page Stealing.........................................................................................................................41
RSM (Real Storage Manager)................................................................................................41
ASM (Auxiliary Storage Manager).......................................................................................41
VSM (Virtual Storage Manager)............................................................................................41
Virtual Storage Layout...........................................................................................................42
10. MVS Functions........................................................................................................................45
Data Management Overview..................................................................................................45
Types of Data.........................................................................................................................45
Dataset Organization..............................................................................................................45
Non-VSAM datasets organization..........................................................................................46
Dataset Organization..............................................................................................................46
VSAM datasets organization..................................................................................................47
Data Organization - Salient Points.........................................................................................47
Data Set Naming Rules..........................................................................................................47
MVS Datasets.........................................................................................................................48
11. MVS Concepts.........................................................................................................................52
How datasets are Accessed.....................................................................................................52
12. Job Management Overview....................................................................................................53
What is a Job?.........................................................................................................................53
Job Management.....................................................................................................................54
Definitions..............................................................................................................................54
Job Scheduling.......................................................................................................................54
13. Dataset Allocation And Job Step Execution.........................................................................58

2

MVS
14. MVS Tools Overview..............................................................................................................60
Components of Job Output.....................................................................................................63
An Introduction to TSO..........................................................................................................66
15. Interactive System Productivity Facility (ISPF)...................................................................68
Primary Options Menu...........................................................................................................68
Termination Panel..................................................................................................................70
Key Mapping ........................................................................................................................70
Browsing Datasets (Option 1)................................................................................................71
Browse Commands.................................................................................................................71
Editing Datasets (Option 2)....................................................................................................72
Standard editing commands...................................................................................................72
Edit Profiles............................................................................................................................73
Profile Settings.......................................................................................................................73
Edit Modes.............................................................................................................................74
Advanced Edit Options..........................................................................................................74
Shifting text source.................................................................................................................75
Utilities Menu.........................................................................................................................75
Library Utility.........................................................................................................................76
Dataset Utility.........................................................................................................................77
New dataset allocation............................................................................................................77
Renaming Dataset...................................................................................................................78
Dataset information................................................................................................................78
Allocate datasets managed by SMS.......................................................................................79
Move / Copy
................................................................................................................................................80
Move / Copy- 2.......................................................................................................................81
DSLIST Utility.......................................................................................................................82
DSLIST Dataset Selection......................................................................................................82
DSLIST Commands...............................................................................................................83
Primary Commands................................................................................................................83
...............................................................................................................................................83
Reset.......................................................................................................................................84
16. Appendix – A ( Assignment )................................................................................................85
17. Appendix – B (Bibliography/References)............................................................................86
1. Introduction ..............................................................................................................................13
2. Computing Environment..........................................................................................................14
Key Concepts and Terminology.............................................................................................14
Command Processing.............................................................................................................14
Data Processing......................................................................................................................14
Multi-programming................................................................................................................15
Multi-programming Overheads..............................................................................................16
Relevance of Multi-programming..........................................................................................16
Multi-programming is applicable even for single user system...............................................16
Multi-programming is a must for multi-user system...............................................................16
Multi-processing.....................................................................................................................16
3

MVS
Spooling..................................................................................................................................16
Multiple programs may need same printer at the same time..................................................16
May result in intermixing of output.........................................................................................16
Exclusive access to a program will hold other programs.......................................................16
Printer is much slower, results in longer “wait” state...........................................................16
Output to printer is intercepted and written to a disk i.e. “spooled”.....................................16
On completion of program “spooled” output is queued for Printing.....................................16
This queue is processed by O/S print routine..........................................................................16
The O/S print routine is multi-programmed along with application programs......................16
Virtual Storage.......................................................................................................................17
Required to enable execution of programs with are larger than the main memory size........17
Technique to simulate large amount of main storage.............................................................17
Reality is main storage is much less.......................................................................................17
E.g. Real main storage is 16MB but virtual storage is 2GB...................................................17
Program executable code is generated assuming virtual storage size...................................17
Only part of the program is loaded in main memory..............................................................17
Address translation mechanism is used to map virtual address to actual address.................17
Feasible because only the instruction currently being executed and the corresponding data
need to be in the main storage................................................................................................17
Main memory can be shared by multiple programs................................................................17
Enables effective use of the limited main storage...................................................................17
Address mapping.....................................................................................................................17
Keeping track of what is in memory and what is not .............................................................17
Data/Instructions need to be “brought in” main memory as an when required....................17
“Remove” from main memory what is not currently required (to make room for instructions
of other program)....................................................................................................................17
Memory Management..............................................................................................................17
3. Typical IBM Main Frame Site.................................................................................................18
On-line during prime time (might mean 24 hours for global operations)..............................18
Batch during non-prime time (wrt local time) of 12 - 15 hours..............................................18
Variety of Databases / OLTP packages..................................................................................18
EDI Processing.......................................................................................................................18
Two Tier Database Architecture - C/S and Central................................................................18
Multiple Machines - Networked Together...............................................................................18
Multiple Processors for Each Machine...................................................................................18
Huge Number of Data Storage Devices - Disks and Tapes....................................................18
Huge IT Departments..............................................................................................................18
Application Programming Staff..............................................................................................18
DBAs.......................................................................................................................................18
Operations Multiple Data Centers to Manage Batch Processing..........................................18
System Programmers for;.......................................................................................................18
O/S...........................................................................................................................................18
Database Packages.................................................................................................................18
OLTP Packages.......................................................................................................................18
Network Support Staff.............................................................................................................18
4. IBM Operating Systems............................................................................................................19
MVS Evolution.......................................................................................................................20
Limited and inefficient spooling..............................................................................................22
4

MVS
No Virtual Storage..................................................................................................................22
HASP - Houston Automatic Spooling Priority........................................................................22
5. Operating System Considerations...........................................................................................25
a)Process Management...........................................................................................................25
b)Memory Management.........................................................................................................26
c)Input-Output Management..................................................................................................27
System 370 I/O Architecture..................................................................................................28
6. IBM Hardware..........................................................................................................................31
Multiple processors with partitioning capability....................................................................31
Cache memory and expandable memory................................................................................31
Multi-user / Multi-programming Support...............................................................................31
Batch and on-line processing support.....................................................................................31
Local and remote terminal support.........................................................................................31
High number of devices...........................................................................................................31
Strong data management capability........................................................................................31
7. Key Terminology.......................................................................................................................32
Cache Memory.......................................................................................................................32
High speed memory buffer (faster than main memory)..........................................................32
Operates between CPU and main memory.............................................................................32
Used to store frequently accessed storage locations (instructions)........................................32
Usually available on all processors........................................................................................32
Expanded Memory.................................................................................................................32
Supplements main memory......................................................................................................32
Not directly available to application program........................................................................32
Not directly accessible by CPU...............................................................................................32
Implemented using high speed disk.........................................................................................32
Usually available with higher-end machines..........................................................................32
Processor Resource / System Manager (PR/SM)...................................................................32
Channels.................................................................................................................................32
Device Management Concept - Unique to IBM......................................................................32
Provides access path between CPU and I/O devices (DMA).................................................32
Up to eight control units can be connected to one channel....................................................32
Up to eight I/O devices can be connected to one control unit................................................32
A channel is a small computer in itself with a set of instructions (Channel commands)........32
Channel controls the I/O device operations independent of CPU..........................................32
Cannel processing can overlap CPU processing - improved performance............................32
Channel - I/O Device Connectivity........................................................................................32
Parallel architecture i.e. all bits of a byte are transmitted simultaneously...........................32
Information transfer is in unit of two bytes.............................................................................32
Sixteen data wires and additional control wires are required................................................32
Maximum length of 120 meters (400 feet)...............................................................................32
Data speed of 4.5mbps............................................................................................................32
Use of copper results in heavy, expensive cabling..................................................................32
ESCON - Enterprise System Connection...............................................................................32
Announced in 1990..................................................................................................................32
Uses fiber optic.......................................................................................................................32
Results in reduced size and weight..........................................................................................32
5

MVS
Length limit extended to approximately 42Km (26 miles)......................................................33
Faster data speed (17mbps)....................................................................................................33
I/O Devices.............................................................................................................................33
Unit Record Devices - Each record is a single physical unit.................................................33
Card Devices (now obsolete) : Readers / Punches / Reader and Punches.............................33
Printer.....................................................................................................................................33
Built-in control units for each device......................................................................................33
Directly attached to channel...................................................................................................33
Magnetic Tape........................................................................................................................33
High volume storage...............................................................................................................33
Sequential processing..............................................................................................................33
Normally used as back-up device............................................................................................33
Also used for physical transfer of data...................................................................................33
4 to 8 tape drives are connected to one control unit...............................................................33
DASD - Direct Access Storage Device..................................................................................33
IBM’s official name for Disk...................................................................................................33
Non-removable - offers better reliability and are faster.........................................................33
Each unit is called as disk pack or Volume.............................................................................33
Each pack has multiple surfaces.............................................................................................33
Each surface has multiple tracks............................................................................................33
Same track no. of all surfaces together constitute a Cylinder................................................33
DASD capacity ranges from 100 MB (3330) to 8514MB (3390/9)........................................33
A group of DASDs of same type are connected together to form a String and are connected
to a string controller...............................................................................................................33
Multiple string controller are connected to a storage controller...........................................33
Storage controller is connected to channel.............................................................................33
3990 Storage Controller.........................................................................................................33
Can connect 2 strings of 32 each 3390 model DASDs (totally 64 DASDs.............................33
Consists of high speed cache storage (32MB to 1024MB)....................................................33
Data is buffered using cache...................................................................................................33
Frequently accessed data is stored in Cache - improved performance..................................33
Supports more than 4 channel connection to processor ........................................................33
Data Communication Network...............................................................................................33
Components of data communication......................................................................................33
Host Computer - System/370 processor..................................................................................34
Communications Controller - Attached to the channel...........................................................34
Modems and telecommunication lines (telephone line, Satellite Link)...................................34
3270 Information Display System..........................................................................................34
Sub-system of terminals, printers and controllers connected to Host computer....................34
Locally through communications controller or directly to channel.......................................34
Remotely through communications controller, modem and telecommunications line...........34
A typical 3270 terminal controller (3274) controls up to 32 terminals / printers..................34
Emulator programs (Shine Link, Erma Link) allow computers (typically PCs) to mimic 3270
devices.....................................................................................................................................34
These are useful since they allow upload / download of data between MF and PC...............34
8. Data Communication Equipment............................................................................................35
it manages the communication function..................................................................................36
necessary to connect remote terminal system.........................................................................36
via modems and telecommunication lines...............................................................................36
6

MVS
Often Asked Questions About IBM.......................................................................................36
User interface is poor..............................................................................................................36
Ancient terminology (e.g. Card, Punch queue) which is irrelevant now................................36
Different terminology (e.g. DASD, DATA SET)......................................................................36
Too many options / parameters...............................................................................................36
Too many terms / acronyms ...................................................................................................36
Variety of software results in site specific variations.............................................................36
Sturdy and Secure HW/SW......................................................................................................36
Downward compatibility (does not make application SW obsolete)......................................36
Excellent customer support.....................................................................................................36
Variety of software (Databases, OLTP packages) - IBM and Third Party.............................36
Market Leader.........................................................................................................................36
Large existing application base will need support.................................................................36
Downsizing will need knowledge of current application/platform.........................................36
Dual skills will be much in demand........................................................................................36
Not all applications are suitable for downsizing - many will remain on MF.........................36
MF will be increasingly used as back-end server...................................................................36
New applications (data warehousing type) will be developed on MF....................................36
Multi-tier architecture will become common..........................................................................36
9. Characteristics Features Of MVS............................................................................................38
MVS Terminology.................................................................................................................38
Address Space........................................................................................................................38
MVS.......................................................................................................................................39
Paging.....................................................................................................................................39
A block of Real Storage is a Frame........................................................................................39
A block of Virtual Storage is a Page.......................................................................................39
A block of Auxiliary storage is a Slot......................................................................................39
Demand Paging......................................................................................................................40
Swapping................................................................................................................................40
Page Stealing.........................................................................................................................41
RSM (Real Storage Manager)................................................................................................41
ASM (Auxiliary Storage Manager).......................................................................................41
VSM (Virtual Storage Manager)............................................................................................41
controls allocation/deallocation of virtual storage................................................................41
maintain storage use information for Storage Management Facility (SMF).........................41
Virtual Storage Layout...........................................................................................................42
contains tables and queues relating to the entire system.......................................................43
the contents of SQA depends on an installation’s configuration & job requirement.............43
Allocated SQA space is both non-swappable and non-pageable............................................43
10. MVS Functions........................................................................................................................45
Data Management Overview..................................................................................................45
Types of Data.........................................................................................................................45
Database.................................................................................................................................45
Indexed Files...........................................................................................................................45
Flat Files.................................................................................................................................45
Source Programs.....................................................................................................................45
Executable Programs..............................................................................................................45
Screen Definitions...................................................................................................................45
7

MVS
Record Layout Definitions......................................................................................................45
Command File Scripts.............................................................................................................45
O/S program............................................................................................................................45
User Information (ID, Password, Profile)..............................................................................45
Access Permissions.................................................................................................................45
O/S Built Data (e.g. task queues, segment table, page table).................................................45
Spooled Output........................................................................................................................45
Work Files for Sort..................................................................................................................45
Dataset Organization..............................................................................................................45
Non-VSAM datasets organization..........................................................................................46
Dataset Organization..............................................................................................................46
Commonly referred as PDS....................................................................................................46
Also known as Library............................................................................................................46
Used to store application components....................................................................................46
PDS is divided into one or many members.............................................................................46
Member name can be up to 8 characters long........................................................................46
There is no extension for member...........................................................................................46
Each member can be processed as an individual unit............................................................46
Entire PDS can be processed as one unit...............................................................................46
Each PDS contains a directory...............................................................................................46
Directory has an entry for each member in a PDS.................................................................46
Personal PDS start with high level qualifier as User ID........................................................46
E.g. DA00T23.NEW.SOURCE................................................................................................46
Member Name Examples.........................................................................................................47
PAB0017, PAB0105, PAC0021 etc.........................................................................................47
VSAM datasets organization..................................................................................................47
Data Organization - Salient Points.........................................................................................47
Non-VSAM Data Organization was developed in mid 1960s.................................................47
VSAM - (Virtual Storage Access Method) was introduced in early 1970s ............................47
VSAM was expected to replace Non-VSAM Data Organization Functions............................47
Today, most sites use both VSAM and Non-VSAM Data Organization..................................47
VSAM is the primary data organization for user data............................................................47
VSAM is also called as “native” file management system of IBM.........................................47
Most of the DBMS running under MVS use VSAM as underlying Data Organization (e.g.
DB2, IDMS).............................................................................................................................47
Data Set Naming Rules..........................................................................................................47
Allows - Alpha, Digits, National Characters @,#$, and “.”..................................................47
Maximum Length 44 characters for DASD, 17 for Tape ......................................................47
If Length is more than 8, must be broken into qualifiers of maximum 8 characters each......47
Qualifiers are separated by “.”..............................................................................................47
“.” are counted in overall length............................................................................................47
First character of the qualifier must be alpha or national character.....................................47
Last character of data set must not be “.”..............................................................................47
First qualifier is called as high-level qualifier.......................................................................48
High-level qualifier has special significance..........................................................................48
Data Set Label.........................................................................................................................48
DASD Label............................................................................................................................48
Volume Serial Number............................................................................................................48
VTOC.......................................................................................................................................48
MVS Datasets.........................................................................................................................48
8

MVS
VSAM data sets must be Cataloged........................................................................................50
Non-VSAM Data Sets may or may not be cataloged...............................................................50
An Alias can be created for a Catalog....................................................................................50
Data Management...................................................................................................................50
11. MVS Concepts.........................................................................................................................52
How datasets are Accessed.....................................................................................................52
Allocation................................................................................................................................52
Processing...............................................................................................................................52
Deallocation............................................................................................................................52
Unit is selected and allocated e.g. SYSALLDA-DASD, TAPE .............................................52
Volume is allocated.................................................................................................................52
Dataset on that volume is allocated .......................................................................................52
12. Job Management Overview....................................................................................................53
What is a Job?.........................................................................................................................53
Simply put, job is execution of one or more related programs in sequence...........................53
E.g. 1.......................................................................................................................................53
A job of creating an executable module (load module) from a source program consists of. .53
executing Compiler program and executing Linker program.................................................53
E.g. 2.......................................................................................................................................53
A job of printing invoices may consist of execution of three programs;.................................53
Executed in a background mode.............................................................................................53
Job details are specified using some command language......................................................53
Receive the job into operating system.....................................................................................53
Schedule the job for processing by O/S...................................................................................53
Execute the Job.......................................................................................................................53
Process the output...................................................................................................................53
2. Job Scheduling....................................................................................................................53
3.Job Execution.......................................................................................................................53
4. End of execution (normal, erroneous)................................................................................53
Type of execution errors..........................................................................................................54
Any abnormal termination of program is called as “Abend”.................................................54
Job Management.....................................................................................................................54
Definitions..............................................................................................................................54
Job Scheduling.......................................................................................................................54
13. Dataset Allocation And Job Step Execution.........................................................................58
14. MVS Tools Overview..............................................................................................................60
These are essentially Software programs; system programs..................................................60
Runs as part of TSO................................................................................................................60
Takes advantage of full screen (24 x 80) capability of 3270 terminals..................................60
Panels are provided for terminal users for issuing commands...............................................60
Key Functions Implemented Using ISPF................................................................................60
PDF - Program Development Facility is Part of ISPF...........................................................60
JCL is used to specify this information...................................................................................61
The most common information supplied through JCL is;.......................................................61
Thus, JCL is nothing but a set of commands...........................................................................61
JCL is powerful and flexible, that leads to some complexity..................................................61

9

MVS
It is non-intuitive.....................................................................................................................61
The user interface is formidable.............................................................................................61
The terms are ancient..............................................................................................................61
Very little has changed since 1965 when JCL was first developed.........................................61
Two versions of JES; JES2/JES3............................................................................................61
Each MVS system uses either JES2 or JES3...........................................................................62
.Job can enter the system from local or remote card readers (now obsolete)........................62
On SUBMIT, internal reader reads the JCL and creates an input stream.............................62
Job is put in the conversion queue..........................................................................................62
Converter program analyzes JCL statements.........................................................................62
Converts into converter / interpreter text................................................................................62
Checks for Syntax errors.........................................................................................................62
Selected job is passed to Initiator...........................................................................................62
Initiator invokes Interpreter....................................................................................................62
Interpreter builds control blocks from converter / interpreter text in a Scheduler Work Area
(SWA)......................................................................................................................................62
Initiator allocates resources required by the Job...................................................................62
On completion of the program execution, initiator de-allocates the resources......................62
The process of allocation / execution and de-allocation is repeated for each job step .........62
Management of System Messages, User Data Sets that need to be Printed / Punched.........63
Organized by output class and device set-up requirements....................................................63
User ‘s program can produce output data that is stored in a JES spool; called as SYSOUT
data..........................................................................................................................................63
Each SYSOUT data is assigned an output class.....................................................................63
Output class indicates the printer selection............................................................................63
“Held” Output.......................................................................................................................63
Output is produced at each stage job processing...................................................................63
Includes output produced by;..................................................................................................63
Job output is available to user (you can see it dynamically)..................................................63
It can be viewed using ISPF....................................................................................................63
Components of Job Output.....................................................................................................63
List of JCL that was processed for the job..............................................................................64
Should be same as what user has created...............................................................................64
Telecommunications (TC) Access Method..............................................................................64
Required to support terminal devices.....................................................................................64
Part of SNA – System Network Architecture...........................................................................64
Provides centralized control over all terminals attached to the system.................................64
VTAM Application programs (e.g. TSO, CICS IMS-DC) communicate with terminal devices
via VTAM................................................................................................................................64
Interactive applications are developed using CICS................................................................64
CICS is a VTAM application program....................................................................................64
Works with VTAM to support on-line functions......................................................................64
CICS implements multi-programming within itself.................................................................64
Multiple programs which are part of same application are executed within CICS address
space........................................................................................................................................64
CICS selects one program at a time for execution..................................................................65
CICS itself is multi-programmed by MVS along with other programs...................................65
Database Management System...............................................................................................65
Relational Implementation......................................................................................................65
Comprehensive Security Package ..........................................................................................65
10

MVS
Though optional used by most of the installations..................................................................65
Users and Resources (e.g. Data Sets) are identified to RACF................................................65
Whenever user tries to access a resource the security is checked by RACF..........................65
RACF is a set of routines........................................................................................................65
Invoked as and when required................................................................................................65
CPU, DASD I/O, Records Printed etc....................................................................................65
Language Translators- Convert source to object module.......................................................65
Separate for each language, Assembler Language Translator is part of MVS......................65
Linkage Editor (part of MVS) - Converts object module to executable I.e. load module.......65
Loader - Creates temporary load module (used during testing phase)..................................65
Set of general purpose programs............................................................................................65
Executed like a user program through JCL............................................................................65
Common Utilities are :............................................................................................................65
An Introduction to TSO..........................................................................................................66
15. Interactive System Productivity Facility (ISPF)...................................................................68
Primary Options Menu...........................................................................................................68
Termination Panel..................................................................................................................70
Key Mapping ........................................................................................................................70
Browsing Datasets (Option 1)................................................................................................71
Browse Commands.................................................................................................................71
Editing Datasets (Option 2)....................................................................................................72
Standard editing commands...................................................................................................72
Edit Profiles............................................................................................................................73
Profile Settings.......................................................................................................................73
Edit Modes.............................................................................................................................74
Advanced Edit Options..........................................................................................................74
Shifting text source.................................................................................................................75
Utilities Menu.........................................................................................................................75
Library Utility.........................................................................................................................76
Dataset Utility.........................................................................................................................77
New dataset allocation............................................................................................................77
Renaming Dataset...................................................................................................................78
Dataset information................................................................................................................78
Allocate datasets managed by SMS.......................................................................................79
Move / Copy
................................................................................................................................................80
Move / Copy- 2.......................................................................................................................81
DSLIST Utility.......................................................................................................................82
DSLIST Dataset Selection......................................................................................................82
DSLIST Commands...............................................................................................................83
Primary Commands................................................................................................................83
...............................................................................................................................................83
Reset.......................................................................................................................................84
16. Appendix – A ( Assignment )................................................................................................85
17. Appendix – B (Bibliography/References)............................................................................86

11

MVS
Day-Wise Schedule
Day 1
Computing Environment -Key Concepts & terminology, Typical IBM MF site.
IBM Operating Systems IBM families of OS
IBM Hardware
MVS Implementation
Lab session
Demo on ISPF
Familiarizing with various options of TSO & ISPF Editor
Day 2
MVS Functions
Data Management Overview
Job Management Overview
MVS Tools Overview
Lab Session
Assignments ISPF editor & TSO

12

MVS

1. Introduction
Before you begin to work on the “Mainframe environment”, which by default means
“IBM Mainframe”, you need to have a basic idea of the IBM mainframe operating system. Today,
it is know as MVS, which expands to Multiple Virtual Storage.
The MVS operating system has evolved over many years and has adapted to the changing
technology and modern day requirements. Since the user base of MVS is very large, a change is
not easy to Implement. The costs of the Mainframes are very high and the customer base is mostly
made up of long-term customers with huge application and large databases to support. Most of
these applications are also ‘Mission Critical’ applications. It is therefore imperative that any
change to MVS also be backward compatible.
MVS is designed to work with many hundreds of users working together, located in the
same locality or across continents. The MVS operating System was created by IBM and is said to
‘propriety’ OS. It has the capacity to supports a large number of peripherals like disks, tapes,
printers, Network devices etc. The applications on these “Legacy systems” are typically where
there is a huge amount of data and a large user base. Examples are Banking sector, Insurance
Sector, Newspapers, Material & Inventory, Airlines, Credit Card System, Billing, Accounting,
Shipping and others. Company’s that own these mainframes are typically those that are very big
inherently or have to deal with vast amounts of data, which has to be processed fast.

13

MVS

2. Computing Environment
Key Concepts and Terminology
Command Processing

Command Issue Mode
This 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’s

Command Execution Mode
All computer commands can be executed in two modes
Foreground - Terminal is locked while the command is being executed
Background - Terminal is free while the command is being executed

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

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, periodic processing (e.g. invoice
generation, payroll calculation)

14

MVS


1.
2.
3.
4.

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?
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!!!

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
user’s 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)
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

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





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
15

MVS
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.

Multi-programming Overheads




Program Queue Management
Program Status Management
Context Switching during Changeover
Multiple programs must be in main memory
Management of Common Resource Sharing (e.g. Printer)
It is critical to determine optimum level of Multi-programming to maintain certain service level.

Relevance of Multi-programming
 Multi-programming is applicable even for single user system
 Multi-programming is a must for multi-user system

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!!!!!

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

16

MVS

Virtual Storage
Why Virtual Storage ?

Required to enable execution of programs with are larger than the main memory size

What is Virtual Storage ?
Technique to simulate large amount of main storage
Reality is main storage is much less
E.g. Real main storage is 16MB but virtual storage is 2GB
How Virtual Storage is Implemented ?
Program executable code is generated assuming virtual storage size
Only part of the program is loaded in main memory
Address translation mechanism is used to map virtual address to actual address
Feasible because only the instruction currently being executed and the corresponding data
need to be in the main 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

17

MVS

3. Typical IBM Main Frame Site
Business Environment
 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
Processing Environment
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
Variety of Databases / OLTP packages
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
Support Environment
Huge IT Departments
Application Programming Staff
 Development
 Maintenance / Support
DBAs
Operations Multiple Data Centers to Manage Batch Processing
System Programmers for;
- O/S
- Database Packages
- OLTP Packages
Network Support Staff

18

MVS

4. IBM Operating Systems
IBM Families of Operating Systems

DOS - Disk Operating
System
VM/CMS - Virtual
Machine
Conversation Monitor
System

For Small
System/360
DOS/VSE
(Virtual Storage
Extended)

•Simulates more than
one computer system
on single real machine
•Supports both DOS
and OS

OS - Operating System
For Full range
System/360
MVS
(Multiple Virtual
Storage)

19

MVS
MVS Evolution
1995

MVS/ESA 5.2.2

1993

MVS/OPEN EDITION (POSIX)

1990

SYSTEM 390

1988

MVS/ESA

16 B

1981

MVS/XA

2 GB (31-bit)

1974

OS/VS2R2(MVS)

16 MB(24-bit)

OS/VS2R1(SVS)

16 MB

OS/MVT

3 MB

1972
1970

OS/VS1
SYSTEM 370

1966

OS/MFT

1966

PRIMARY CONTROL PROGRAM (PCP)

20

MVS
Operating Systems for
System/360
1965

PCP

Primary Control Program
No Multiprogramming
No Priority
No Spooling
Very unreliable

Basically a Primer
Introduction of JCL(JOB Control Language)
(Became obsolete 1n
1969

1966 MFT Multi-programming with
Fixed number of Tasks
Limited multiprogramming
Small improvement
over PCP

Fixed Number of Partitions
One Job per Partition
Fixed Partition Size

1967/68 MVT

Multi-programming with
Variable number of Tasks
Storage allocated as per
requirement (region)
No. of Jobs depends
upon storage req. and
availability

Reliable Comprehensive
features
Predecessor of MVS

21

MVS

Migrating from Dos to OS was a major change
 VM is not very popular
 Today most of the sites use MVS
Major Handicaps
Limited and inefficient spooling
No Virtual Storage
o Utilities to Overcome these
Handicaps
HASP - Houston Automatic Spooling Priority
- Developed unofficially (self initiative) by IBM employees
- Distributed free to MVT/MFT users
- Became very popular
- Eventually owned and supported by IBM

ASP - Attached Support Processor
 Developed (officially) by IBM
 Intended for MVT
 Several mainframes can work together under single O/S (predecessor of multiprocessing?)
 Provided better spooling capability
 Relatively less takers

System 370








Announced in early 70s
Supported Virtual Storage
New Operating Systems OS/VS were introduced
OS/VS1 (Virtual System 1) - adopted from MFT
OS/VS2 (Virtual System 2)
Version SVS - Single Virtual Storage
- Adopted from MVT (1972)
Version MVS - Multiple Virtual Storage
- Completely Rewritten (1974)
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

22

MVS
1974
24 bit addressability
Greater reliability /
integrity / performance
Virtual storage limitation
of 16MB - A serious
handicap for CICS
1983

OS
/VS2

MVS/
XA

32 bit addressability
Virtual storage of 2GB
Increased maximum number
of channels and Devices
1988

Processors :
308x, 3090, 4381

MVS
/ESA

Virtual storage of 16 Terra
Bytes

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

Virtual storage of 16 Terra
Bytes

1990

MVS/SP1 Multiple Virtual Storage
System/370

MVS
/ESA

MVS/SP4 Multiple Virtual Storage
Enterprise Systems Architecture
ESA/390
Processors :
ES/9000, ES/3090-9000T
ES/3090 J Models

23

MVS
The Von Neumann Computing Model


Most common model for computing systems
Prepared by John Von Neumann in year 1940

Instruction 1
Instruction 2
Instruction 3
Register

Instruction 4
---- ----- ---Instructions are executed one at a time sequentially

24

MVS

5. Operating System Considerations
a) Process Management
Problem :- According to Jon Von Neumann model only one instruction gets executed at a time.
What will happen if that instruction is waiting for I/O. In this case CPU time is wasted.
Solution :-

1) executing
instruction
P1

2) I/O operation
READ

P2
P3

File

3) Now this
will get
executed

Auxiliary Device

Hard Disk Memory
Main Memory

This gave rise to multiprogramming

25

MVS
b) Memory Management
Problem :- Any thing that is to be executed, must be in memory. (memory limitation)
Solution :- 1. Place task in real memory
2. Place task in virtual memory
1. Real memory implementation :



code & data are in real memory
size of code & data limited by size of installed memory
good performance, low overhead
possible wastage of memory

2. Virtual memory implementation :
 based on assumption for a task, not all code & data is needed in real memory all the time
 implemented on a combination of real plus auxiliary storage
 operating system takes responsibility of bringing rest part of tasks in real memory when
required.

swapped out

Perform I/O operation
P1

P1

P2
P2

swapped in

DATA

P3
Virtual Memory
OS

Real Memory
(Only part of program that requires
main memory will be in the main
memory)

Advantage : code and data size independent of the real memory

26

MVS
c) Input-Output Management
Problem :- Application should not worry about device characteristics. I/O device speed is 100 times slower
than CPU.
Solution : Let all I/O be handled by a specialized system-I/O Subsystem

2) I/O operation
swapped out
P1

P1
P2

P2

I/O
Subsystem

swapped in

File

P3
How is to be done is decided by
I/O subsystem
Virtual Memory

OS

Tells What to do

Real Memory

27

Auxiliary Device

MVS
System 370 I/O Architecture

Channel 0
Channel 1
Channel 2
Channel 3
CP
U

Main
Storage

Channel 4
Channel 5
Channel 6
Channel 7

Typical Processor Configuration

28

MVS
STORAGE
CP

CP
Channels

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.

Control Unit
 These are DASD units, can be connected to common control unit, called “String
Controller”.
 String Controller can be connected to a channel directly or indirectly
 A control unit called “Storage Control” connects string controllers to a channel.

channel
connection

string controller
1
(1 - 128) storage control

32

(1 - 8)
string controller
1

32
DASD unit

29

MVS

30

MVS

6. IBM Hardware
How do today’s PC and medium sized IBM MF compare?
Characteristics

PC (Pentium 100)

Main-Frame (4381)

Processor-speed

16-31 MB

32 MB

Main Memory

16-32 MB

32 MB

Individual Disk
Storage

1.2 GB

946 MB

Monitor

SVGA/Graphics

Character based dumb terminal

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

31

MVS

7. 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

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

Channels
Device Management Concept - Unique to IBM
Provides access path between CPU and I/O devices (DMA)
Up to eight control units can be connected to one channel
Up to 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

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
32

MVS
Length limit extended to approximately 42Km (26 miles)
Faster data speed (17mbps)

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
Built-in control units for each device
Directly attached to channel

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

DASD - Direct Access Storage Device
IBM’s 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

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
- Enables several simultaneous disk operations

Data Communication Network
Allows local and remote terminals access to the computer systems

Components of data communication

33

MVS
Host Computer - System/370 processor
Communications Controller - Attached to the channel
- Devices (terminals and printers) are connected to the terminal controller (also known as
cluster controller)
- Terminal controller is connected to communications controller
- Terminal Controller managing Local terminals / printers can be connected directly to the
channel
Modems and telecommunication lines (telephone line, 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

3270 Information Display System
Sub-system of terminals, printers and controllers connected to Host computer
Locally through communications controller or directly to channel
Remotely through communications controller, modem and telecommunications line
A typical 3270 terminal controller (3274) controls up to 32 terminals / printers
Emulator programs (Shine Link, Erma Link) allow computers (typically PCs) to mimic
3270 devices
These are useful since they allow upload / download of data between MF and PC

34

MVS

8. Data Communication Equipment
Data Communication equipment lets an installation create a data communication network that lets
users at local terminals & remote terminals to access computer system

System/370 processor

Host System

channel
communication controller

modem

modem

modem

Telecommunication
Lines
modem

terminal controller

terminal

terminal controller

printer
terminal

Remote System

printer

Remote System

35

MVS
o At the center of the network is the
host system, a system/370 processor
o
The control unit that attaches to the
host system’s channels is called a communication controller
it manages the communication function
necessary to connect remote terminal system
via modems and telecommunication lines
• A modem is a device that translates digital signals from the computer equipment at the
sending end into audio signal that are transmitted over a telecommunication line, which can be
telephone line, a satellite link or some other type of connection
o
At the receiving end of the line,
another modem converts those audio signals back into digital signal

Often Asked Questions About IBM
Why is grasping IBM difficult?
 User interface is poor
- Non-intuitive
- Unfriendly and Formidable
 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
Why is IBM so Popular





-

Sturdy and Secure HW/SW
Downward compatibility (does not make application SW obsolete)
Excellent customer support
Variety of software (Databases, OLTP packages) - IBM and Third Party
Market Leader
First in DBMS, First in OLTP, first in PC!!!!
First to develop a chess playing computer that beat world champion

The old legend : Nobody got fired for buying IBM
Future of IBM (is there any?)
Large existing application base will need support
Downsizing will need knowledge of current application/platform
Dual skills will be much in demand
Not all applications are suitable for downsizing - many will remain on MF
MF will be increasingly used as back-end server
New applications (data warehousing type) will be developed on MF
Multi-tier architecture will become common

36

MVS
Bottom Line : It is too soon to herald death of IBM MF

37

MVS

9. Characteristics Features Of MVS
1) VS : The use of virtual storage increases the number of storage locations available to hold
programs and data
2) MULTIPROGRAMMING : Multiprogramming simply reclaims the CPU during idle
periods to let other programs execute
3) SPOOLING : To provide shared access to printer devices, spooling is used
4) BATCH PROCESSING : When batch processing is used, work is processed in units called
“Jobs”. A job may cause one or more programs to be executed in sequence. Batch jobs get
collectively processed by the system
5) TIMESHARING : In this system, each user has access to the system through a terminal
device. Instead of submitting jobs that are scheduled for later execution, the user enters
commands that are processed immediately.
Time sharing is also called as Online Processing because it lets users interact directly with the
computer.

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.

• 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.

38

MVS
MVS
• It uses real storage to simulate several address spaces, each of which is independent of the
others

Address Space I

II

III

Real
Storage

Auxiliary
Storage
0

0

0

• 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
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

39

MVS

Moving pages between real storage frames and auxiliary storage slots is called PAGING

Virtual Storage
Page

Frame

Slot

Real Storage

Auxiliary Storage
PAGING

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.

• 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.

Swapping
• Swapping is the movement of an entire address space between Virtual storage & Auxiliary
40

MVS
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 is swapped in.

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.

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 (Real Storage Manager)
 manages real storage
 directs movements of pages among real and auxiliary
 builds segment & page table

ASM (Auxiliary Storage Manager)
 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 (Virtual Storage Manager)
controls allocation/deallocation of virtual storage
 maintain storage use information for Storage Management Facility (SMF)

41

MVS
Virtual Storage Layout
System Queue Area
(SQA)

Common
Area
Pageable Link Pack Area
(PLPA)
Common Service Area
(CSA)
Private
Area

Local System Queue
Area (LSQA)

User’s Private Address
Space

Scheduler Work Area (SWA)
User Region

System
Area

Nucleus

System Region

Each Virtual Storage Address Space consists of a System Area, a Private Area and a Common
Area.
System Area

• It contains the nucleus load module, page frame table entries. Data blocks for system libraries
and so many other things
• Nucleus and other contents of the System Area make up the resident part of the MVS system
control program
• Its contents are mapped one for one into real storage frames at initialization time.
• The size of System Area does not change once it is initialized
Common Area





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)

42

MVS
System Queue Area
contains tables and queues relating to the entire system
the contents of SQA depends on an installation’s configuration & job requirement.
 It is allocated from the top of the virtual storage in 64K segments, a minimum of 3
segments
 are allocated during system initialization.
Allocated SQA space is both non-swappable and non-pageable
Pageable Link Pack Area
 Contains svc routines, access methods, other system programs, and selected user
programs.
 It is pageable
 Because the modules in PLPA are shared by all users, all program modules in PLPA must
be reentrant and read-only
 PLPA space is allocated in 4K block directly below SQA.
 The size of PLPA is determined by the number of modules included
 Once the size is set, PLPA does not expand
Common Service Area
 Contains pageable system and user data areas.
 It is addressable by all active virtual storage address space and shared by all swapped-in
users.
 Virtual storage for CSA is allocated in 4K pages directly below PLPA.
Private Area





The Private Area is made up of :
Local System Queue Area(LSQA)
Scheduler Work Area(SWA)
Subpools 229/230
System Region
User Region
The user region is the space within Private Area that is available for running the user’s program
Local System Queue Area

LSQA contains tables and queues that are unique to a particular address space

Scheduler Work Area


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

43

MVS

44

MVS

10. MVS Functions
Data Management Overview
Anything that needs to be stored and accessed on user request is a Data for MVS
Types of Data
Business Data
Database
Indexed Files
Flat Files
Application Components
Source Programs
Executable Programs
Screen Definitions
Record Layout Definitions
Command File Scripts
MVS (System) Data
O/S program
User Information (ID, Password, Profile)
Access Permissions
Temporary Data
O/S Built Data (e.g. task queues, segment table, page table)
Spooled Output
Work Files for Sort

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

45

MVS

Non-VSAM datasets organization
Physical Sequential

Records are stored one after another in consecutive sequence

Can reside on just any type of I/O devices

Appropriate when file’s records don’t have to be retrieved at random
Indexed Sequential
• Includes an index, which relates key field values to the location of their corresponding data
records
Direct



Permits random access of records
It doesn’t 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

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
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

Personal PDS start with high level qualifier as User ID

E.g. DA00T23.NEW.SOURCE
46

MVS

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.

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

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)

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

Data Set Naming Rules
Data Set Naming Rules
Allows - Alpha, Digits, National Characters @,#$, and “.”
Maximum Length 44 characters for DASD, 17 for Tape
If Length is more than 8, must be broken into qualifiers of maximum 8 characters each
Qualifiers are separated by “.”
“.” are counted in overall length
First character of the qualifier must be alpha or national character
Last character of data set must not be “.”
47

MVS
First qualifier is called as high-level qualifier
High-level qualifier has special significance
E.g. Data Set name PAYROLL.P9710.TRAN
 Has three qualifiers
 High-level qualifier is PAYROLL
 Total length is 18
Dataset Tracking
Data Set Tracking Mechanisms
 Label
 Catalog
Label









Data Set Label
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 set’s name, it’s DASD location and other details

DASD Label
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

Volume Serial Number
 Each DASD is identified by a unique number, Volume Serial Number vol-ser
 Vol Ser must be specified for accessing the Data Set (which is not cataloged)
VTOC
 VTOC - Volume Table Of Contents is a special file for each DASD
 VTOC contains the file labels for all data sets on the volume

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

48

MVS
must have a unique six-characters vol-ser.
 It contains the disk address of the VTOC.
• 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.

VOL 1 Label
Vtoc
Format-4
VTOC

Format-1
FileA

Format-I
File-B

Format-I
File-C

Format-3 Format-5
File-B
Free Extents

Free Extents
File-A
File-B
File-C
Free Extent
File-B
Free Extent
Format-4-dscb
Format-1-dscb

: describes VTOC itself
: describes a dataset by supplying dataset name, DASD location & other
characteristics [space is 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 up to 16 extents]
Format-5-dscb : contain information about free extents that aren’t allocated to files
each can define up to 26 free extents
Catalog

• Obviates the need of specifying Vol Ser for the data set
• Catalog Types

49

MVS



 Master Catalog
 User Catalog
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
- 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

Data Set Name MMA2.CUSTOMER.MASTER
MMA1.CUSTOMER.TRAN
Data Management

Data Management Functions
(for Non-PDS)

Additional Functions for
PDS

How Data Management is
Achieved

 Allocate
 Process
- Add Records
- Modify Records
- Delete Records
 Deallocate (delete)
 Copy
 Rename
 Catalog

 Compress
 Member Management
 Create, Modify, Delete, Copy, Rename

 Interactively using MVS Commands
 Executing MVS Utility Programs (batch mode)

50

MVS
 Through Application Programs
- On-line Processing
- Batch Processing

51

MVS

11. 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”
o Allocation occurs at 3 levels
Unit is selected and allocated e.g. SYSALLDA-DASD, TAPE
Volume is allocated
 Dataset on that volume is allocated
Processing
o Processing involves 3 steps
 Opening datasets
 Processing I/O
 Closing datasets
Deallocation
o Each file is automatically deallocated
when job is finished with it
o While deallocating, disposition of
dataset can be decided, whether you
want to retain the file
or should be deleted

52

MVS

12. Job Management Overview
What is a Job?
Simply put, job is execution of one or more related programs in sequence
E.g. 1
A job of creating an executable module (load module) from a source program consists of
executing Compiler program and executing Linker program.
E.g. 2
A job of printing invoices may consist of execution of three programs;
• an EXTRACT program to pull out transactions from database,
• a SORT program for sorting the transactions,
• a PRINT program to print the invoices.
Job - Salient Points

Executed in a background mode

Job details are specified using some command language
Job Management Functions
• Receive the job into operating system
• Schedule the job for processing by O/S
• Execute the Job
• Process the output
Stages of Job
1. Job Preparation

User keys-in commands using Editor

Save as a member in PDS
2. Job Scheduling

Initiated using TSO SUBMIT command

Not necessarily on FIFO basis

Prioritization is implemented using concept of class and priority code
3. Job Execution
4. End of execution (normal, erroneous)
• Intimate the user
• Job log management
• Job output management
• Printer output
• Data set output

53

MVS
o Erroneous Termination of job
Type of execution errors
 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
 Program errors
 Mismatch for Data set - Between program definition
 and actual characteristics
 Infinite loop
 Data Type mismatch - numeric variable contains non-numeric data
Any abnormal termination of program is called as “Abend”

Job Management








Definitions
o
JOB - Is the execution of one or
more related programs in sequence
o
JOB STEP - Each program to be
executed by a Job is called a job step
o
JCL (Job Control Language) - Is a set
of control statements that provide the specifications necessary to process a job
o
JES (Job Entry Subsystem) :
Meant 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
How Job Is Entered Into the System

• When you submit the job, JES reads the job stream(sequence of JCL commands) from a
DASD file and copy it to a job queue, which is a part of a special DASD file called JES
SPOOL.

Job Scheduling
How Job Is Scheduled For Execution
• MVS does not necessarily process jobs in the order in which they are submitted. Instead, JES
54

MVS


o



o

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 job’s importance, both of which can be specified in the
job’s JCL : Job Class and Job Priority
If two or more jobs are waiting to
execute, the JES scheduler selects the one with higher priority
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 multi
programmed at once.
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

Within a job class, initiator selects
jobs for execution based on their priorities, which can range from 0 to 15
o
If two or more jobs have same class &
priority, they are executed in the order in which they are submitted.
o

How Job Is Executed

55

MVS
Once an initiator has selected job for

o
execution, it invokes a program called the interpreter
o
o
o

o
o
o
o

The interpreter's job is to examine the
job information passed to it by JES and create a series of control blocks in the SWA, a part of
the address space’s private area
Among other things, these control
blocks describes all of the datasets the job needs
Now initiator goes through 3 phases
for each step of job

Allocation (required resources are allocated)

Processing (region is created & program is loaded and executed)

Deallocation (resources are released)
This continues until there are no more
job steps to process
This continues until there are no more
job steps to process
Then, the initiator releases the job and
searches the spool again for another job from the proper class to execute
As a user’s program to execute, it can
retrieve data that was included as part of job stream and stores in the JES spool

Job
JES

SPOOL

JCL
SYSOUT QUEUE

O/P DATA

SYSOUT

INITIATOR

SYSIN

PROGRAM
EXECUTION

INTERPRETOR

How The Job’s Output Is Processed
o

Like Jobs, SYSOUT data is assigned
an output class that determines how the output will be handled
Common O/P classes are;
A - Printer
B - Card Punch O/P
X - Held O/P
[Held O/P stays on the sysout queue indefinitely; Usually, O/P is held so that it can be
examined from a TSO terminal]

56

MVS
How A Job Is Purged

• After the job’s output has been processed, the job is purged from the system, i.e. JES spool
space, the job used, is freed so it can be used by other jobs and any JES control blocks
associated with the job are deleted

o Once a job has been purged, JES no
longer knows of its existence

57

MVS

13. Dataset Allocation And Job Step
Execution
SWA
control block

System Region
Interpreter

After initiator selects a job for
execution, it invokes the
interpreter, which builds the
required control blocks in the
address space’s SWA.

Initiator

SWA
control block

System Region
Allocation

For each job step, the initiator
invokes allocation routines to
allocate the units, volumes and
datasets required by the job
step

Initiator
SWA
control block
User Program
System Region

After resource allocation, the
initiator creates a user region,
loads the user program into it
and transfers control to user
program

Initiator

58

MVS

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

59

MVS

14. MVS Tools Overview
Tools are a set of sub-systems and facilities that;

Implement MVS functions

Are directly used by MVS user
These are essentially Software programs; system programs
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
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
Job Management Tools
Job Control Language (JCL)
Used to code job commands
Job Entry System (JES)
Manages the job before and after
execution; receive, schedule, process
output
o Base Control Program (BCP)
o
o
o
o

Manages the job during execution

o Simultaneous Peripheral Operations
on-line (SPOOL)

Used for staging of input and output

Why and What of JCL?
JCL is the most dreaded word for newcomer to IBM world
Why JCL?
60

MVS

Since the job is executed in background, without user interaction, all information
required for the execution must be supplied in advance
 JCL is used to specify this information
The most common information supplied through JCL is;
- 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?

What is JCL?


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)

What makes learning JCL
so difficult

JCL is powerful and flexible, that leads to some complexity
It is non-intuitive
The user interface is formidable
The terms are ancient
Very little has changed since 1965 when JCL was first developed

However, JCL can be
understood and mastered
with logical approach and
open mind

Good grasp of JCL is a must
to be a versatile IBM
programmer

Introduction

JES - Job Entry System

Two versions of JES; JES2/JES3
- JES2 is primarily for single processor systems
- JES3 is for multiple processor systems
61

MVS

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 Tools Overview
 How Job Enters the System?
.Job can enter the system from local or remote card readers (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
Input
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
Processing
o Selection based on job class and
priority
Selected job is passed to Initiator
Initiator invokes Interpreter
Interpreter builds control blocks from converter / interpreter text in a Scheduler Work
Area (SWA)
- SWA is part of address space’s private area
- Control blacks describe the data sets required by the job
Initiator allocates resources required by the Job
- Initiator starts the program to be executed
- Builds the user region
- Loads the program in the user region
- Transfers control to the program
On completion of the program execution, initiator de-allocates the resources
The process of allocation / execution and de-allocation is repeated for each job step

62

MVS
Initiator Characteristics
 Each initiator can handle one job at a time
 There can be multiple initiators
 Each initiator has a job class associated with it
 System Operators can control the number of initiators and the class/es associated with
each initiator
Input Data
 Input data to the user’s program can be specified in the job
 Called as in-stream data or SYSIN data
 SYSIN data is read and stored in JES spool
 SYSIN data is treated like a data coming from card reader
Output
Management of System Messages, User Data Sets that need to be Printed / Punched
Organized by output class and device set-up requirements
User ‘s program can produce output data that is stored in a JES spool; called as SYSOUT
data
Each SYSOUT data is assigned an output class
Output class indicates the printer selection
 “Held” Output
- 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
Hard-Copy
 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
Job Output
Output is produced at each stage job processing
Includes output produced by;
- JES
- MVS
- User’s program where SYSOUT is allocated as output device
Job output is available to user (you can see it dynamically)
It can be viewed using ISPF

Components of Job Output

63

MVS
Component 1- Separator Page

First and last page of job output

Inserted by JES

Helps operator the segregate the job outputs when directed to printer
Component 2 – part I Job Log

Messages produced by JES

Also displayed on operator’s console

If the job Abends, error messages are logged in Job Log
Component 2 – part II Job Statistics

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
Component 4 - Message Log

Messages regarding job execution

Messages produced by MVS

Includes details of

Resource Allocation

Program Execution

Resource De-allocation

Consists of Message label and message text

Message label starting with IEF indicates a MVS message

Installation specific messages

Component 5 - SYSOUT

Separate sub-component for each SYSOUT allocation

Each SYSOUT can have different characteristics e.g. class, record length etc.
VTAM – Virtual Telecommunications Access Method

Telecommunications (TC) Access Method

Required to support terminal devices

Part of SNA – System Network Architecture

Provides centralized control over all terminals attached to the system

VTAM Application programs (e.g. TSO, CICS IMS-DC) communicate with
terminal devices via VTAM
CICS – Customer Information Control Program (optional component)

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
64

MVS

address space
CICS selects one program at a time for execution
CICS itself is multi-programmed by MVS along with other programs

DB2 - DataBase 2 (optional component)

Database Management System

Relational Implementation
RACF - Resource Access Control Facility





Comprehensive Security Package
Though optional used by most of the installations
Users and Resources (e.g. Data Sets) are identified to 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

SMF - System Management Facility
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




Language Translators / Linkage Editor / Loader



Language Translators- Convert source to object module
Separate for each language, Assembler Language Translator is part of MVS
Linkage Editor (part of MVS) - Converts object module to executable I.e. load
module
Loader - Creates temporary load module (used during testing phase)

Utilities


Set of general purpose programs
Executed like a user program through JCL
Common Utilities are :
 IEBGENER
 IEFBR14
 SORT
 IDCAMS

65

MVS
An Introduction to TSO



Time Sharing
Resource sharing
MVS handles each TSO user as it handles batch jobs
The user specific batch job that starts up handles
 what datasets are available
 What terminal monitor program is to be used
 what procedure to auto execute at logon

TSO Commands






About 26 commands providing a variety of functions can be used.
Allow Dataset Management functions
Program Development functions.
Batch job functions.
Other functions like Help, Broadcast, Clist and Rexx.
You can issue these at the READY prompt or TSO command.

Dataset Management functions








Allocate Datasets dynamically
List Datasets
Print Datasets
Copy Datasets
Delete Datasets
Rename Datasets
List Catalog Entries
List VTOC Entries
Use AMS Services

Program Development functions





Create program.
Edit program.
Compile program.
Linkedit a program.
View output.
Route output to a printer

Batch job functions


Submit Jobs
Monitor job
View output

66

MVS

Route output

Help

Help on TSO commands can be obtained by typing “HELP” at the “READY” prompt.

67

MVS

15. Interactive System Productivity Facility
(ISPF)


Access to ISPF is gained by Keying ISPF at the READY prompt
This is done as default in the auto executed clist at startup.
When this is entered you get the Primary Options Menu.

Primary Options Menu
----------------------- ISPF/PDF PRIMARY OPTION MENU -----------------------OPTION ===> pfshow
USERID - DA0034T
0 ISPF PARMS - Specify terminal and user parameters
TIME - 06:58
1 BROWSE
- Display source data or output listings
TERMINAL - 3278
2 EDIT
- Create or change source data
PF KEYS - 12
3 UTILITIES
- Perform utility functions
4 FOREGROUND
- Invoke language processors in foreground
5 BATCH
- Submit job for language processing
6 COMMAND
- Enter TSO Command, CLIST, or REXX exec
7 DIALOG TEST - Perform dialog testing
8 LM UTILITIES - Perform library administrator utility functions
9 IBM PRODUCTS
- Additional IBM program development products
10 SCLM
- Software Configuration and Library Manager
C CHANGES
- Display summary of changes for this release
T TUTORIAL
- Display information about ISPF/PDF
X EXIT
- Terminate ISPF using log and list defaults
D DATACENTER
- Perform Datacenter Defined Functions
S SDSF
- Spool Display and Search Facility
U USER
- Perform User Defined Functions
F1=HELP
F2=SPLIT
F7=UP
F8=DOWN

F3=END
F9=SWAP

F4=RETURN F5=RFIND F6=RCHANGE
F10=LEFT F11=RIGHT F12=RETRIEVE

68

MVS
PA/PF Key Map
PF1 ===> HELP
PF2 ===> SPLIT
PF3 ===> END
PF4 ===> RETURN
PF5 ===> RFIND
PF6 ===> RCHANGE
PF7 ===> UP
PF8 ===> DOWN
PF9 ===> SWAP
PF10 ===> LEFT
PF11 ===> RIGHT
PF12 ===> RETRIEVE
PA1 ===> ATTENTION
PA2 ==> RESHOW

Enter the Tutorial
Enter Split Screen Mode
Terminate the current operation
Return to primary options menu
Repeat find
Repeat Change
Move screen window up
Move screen window down
Activate the other logical screen in split screen mode
Scroll screen left
Scroll screen right
Retrieve last command
Interrupt Current operation
Redisplay the current screen

PF1 - PF12 Keys may be duplicated from PF13 to PF24 in 24 key mode.
Split Screen Mode and Tutorial (Help)


Entered by keying “SPLIT” on the command line
or by positioning the cursor where required and pressing PF2
Context Sensitive help can be accessed by typing help on the command line or through the
PF1 key

List and Log files


Some ISPF commands generate outputs. Printed output like this is collected and stored in a
special dataset call list dataset.
Whether the list dataset is to be retained, printed and/or deleted can be specified as a default in
the setup panels.
The ISPF operations done are recorded in a Log dataset. The disposition can be specified in
the defaults panel.

User Profile

ISPF maintains a user profile
This profile contains default values of various entry panels.

Exiting ISPF
To terminate ISPF you can
• type =x at the command line
• or use the PF3 key to exit
If you haven’t specified default dispositions for your List and log datasets then the termination
panel is displayed.

69

MVS
Termination Panel
------------------- SPECIFY DISPOSITION OF LOG DATA SET --------------------COMMAND ===>
LOG DATA SET DISPOSITION
LIST DATA SET OPTIONS NOT AVAILABLE
----------------------------------------------------------Process option ===>
SYSOUT class
===>
Local printer ID ===>
VALID PROCESS OPTIONS:
PD - Print data set and delete
D - Delete data set without printing
K - Keep data set (allocate same data set in next session)
KN - Keep data set and allocate new data set in next session
Press ENTER key to complete ISPF termination.
Enter END command to return to the primary option menu.

Key Mapping
Option 0.3
------------------------ PF KEY DEFINITIONS AND LABELS -----------------------COMMAND ===>
NUMBER OF PF KEYS ===> 12

TERMINAL TYPE ===> 3278

PF1 ===> HELP
PF2 ===> SPLIT
PF3 ===> END
PF4 ===> RETURN
PF5 ===> RFIND
PF6 ===> RCHANGE
PF7 ===> UP
PF8 ===> DOWN
PF9 ===> SWAP
PF10 ===> LEFT
PF11 ===> RIGHT
PF12 ===> RETRIEVE
PF1 LABEL ===>
PF4 LABEL ===>
PF7 LABEL ===>
PF10 LABEL ===>

PF2 LABEL ===>
PF5 LABEL ===>
PF8 LABEL ===>
PF11 LABEL ===>

70

PF3 LABEL ===>
PF6 LABEL ===>
PF9 LABEL ===>
PF12 LABEL ===>

MVS
Browsing Datasets (Option 1)
------------------------- BROWSE - ENTRY PANEL -----------------------------COMMAND ===>
ISPF LIBRARY:
PROJECT ===> DA0034T
GROUP ===> TRG
===>
===>
===>
TYPE
===> JCL
MEMBER ===>
(Blank or pattern for member selection list)
OTHER PARTITIONED OR SEQUENTIAL DATA SET:
DATA SET NAME ===>
VOLUME SERIAL ===>
(If not cataloged)
DATA SET PASSWORD ===>
MIXED MODE
===> NO
FORMAT NAME
===>

(If password protected)
(Specify YES or NO)

Browse Commands
• Cols - for displaying Columns
• Scroll up, down, left right with PF7, PF8, PF10 and PF11 respectively.
• Set Scroll amount to CRSR, HALF, PAGE, n lines, max, DATA
• Scroll by n lines, to top or bottom
• Define/LOCATE {line number}/label.
• FIND string {NEXT/PREV/FIRST/LAST/ALL}.
• PF5 for repeat find and use of “&”.
• Use of PF12 to recall last command.
• Terminate Browse with PF3 Key.
• FIND string {NEXT/PREV/FIRST/LAST/ALL} {CHAR/PREFIX/SUFFIX/WORD} col-1
col-2
• Column limitation search
• T ’text’ - for case insensitive search
• X ’hex-string’ for a hex search

71

MVS

Editing Datasets (Option 2)
• The Primary Editor entry is similar to that for Browse as regards concatenating datasets and
dataset selection.
• Labels can be defined as in browse but may be entered as line commands.
• Error messages may be removed by typing RESET on the command line.

Standard editing commands
I/In
D(n)
DD
R(n)
RR
C(n)
CC
M(n)
MM
A(n)
B(n)

Insert 1 or n lines.
Delete line or n lines.
Delete the block marked by the 2 DD line commands.
Repeat 1 or n lines.
Repeat the block marked by the 2 RR line commands.
Copy 1 or n lines.
Copy the block marked between the 2 CC line commands.
Move 1 or n lines.
Move the block marked between the 2 CC line commands.
Copy or Move lines 1 or n times after this line.
Copy or Move lines 1 or n times before this line.

Creating datasets and exiting editor
To create a new member specify non-existent member name in the current PDS.
You can quit the editor without saving changes by the CANCEL command.
You can update the dataset with the save command
You can exit with implicit save with the END command or PF3 key.

72

MVS
Edit Profiles




Edit profiles control editing options
Normally editing a new dataset uses the default profile - the dataset type
To display the edit profile type PROFILE on the command line in the editor
To remove it from the screen type RESET.
This gives you a display as follows..

EDIT ---- DA0034T.TRG.JCL(JCL1) - 01.27 ---------------------- COLUMNS 001 072
COMMAND ===>
SCROLL ===> CSR
****** ***************************** TOP OF DATA
******************************
=PROF> ....STD (FIXED - 150)....RECOVERY OFF....NUMBER ON STD..................
=PROF> ....CAPS ON....HEX OFF....NULLS ON STD....TABS ON STD....SETUNDO OFF....
=PROF> ....AUTOSAVE ON....AUTONUM OFF....AUTOLIST OFF....STATS ON..............
=PROF> ....PROFILE UNLOCK....IMACRO NONE....PACK OFF....NOTE ON................
=BNDS> <
=TABS>
=COLS> ----+----1----+----2----+----3----+----4----+----5----+----6----+----7-000100 //DA0034TA JOB LA2719,'PARAG',NOTIFY=DA0034T,
000200 //
CLASS=A,MSGCLASS=X
000300 //*
000400 //COBRUN EXEC PGM=PROG11
000500 //STEPLIB DD DSN=DA0034T.TRG.LNK,DISP=SHR
000510 //*STEPLIB DD DSN=DA0034T.TRG.COBOL2,DISP=SHR
000600 //INVMAS DD DSN=DA0034T.TRG.INVMAS,DISP=SHR
000700 //OP1 DD SYSOUT=*
000710 //*OP1 DD DSN=DA0034T.TRG.EXE7,DISP=(NEW,CATLG,CATLG),

Profile Settings




To switch to a different profile key “profile <“profile-name”>
To lock a profile, at the command line key “PROFILE LOCK”
Any changes made to the locked profile are not saved permanently.
Caps, number Pack and STATS modes are set each time you begin an edit session
To define tab stops . Key TABS on the command line and place ‘@’ on the tabs line one
character before where you would like a tab stop. On the command line, Key TABS ON/OFF
<tab-character>
• If you omit the tabbing character hardware tabbing is assumed.
• Line control Commands
 Nonumber/NUM OFF turns off line numbering
 NUM ON turns on line numbering
 AUTONUM resequence line numbers on save
 RENUM resequence line numbers
 NUM ON COBOL checks for valid COBOL numbering
 NUM ON STD checks for standard line numbering
 UNNUM removes line numbering.
73

MVS
Edit Modes









STATS ON/OFF
Controls dataset statistics
AUTOLIST ON/OFF
Controls Automatic listing
NULLS ON/OFF
Controls if nulls or spaces are padded.
RECOVERY ON/OFF Recovers a dataset being edited in case of a system crash. It also
permits
The use of the UNDO command. This works up to the last save only.
HEX ON/OFF
Displays data in HEX/ASCII mode.
CAPS ON/OFF
Converts Lower case letters to upper case if set to on.
 Line command for this function are LC or UC. LCLC & UCUC are blocked line
commands.
PACK ON/OFF
Specifies that the data is store in compressed mode.
AUTOSAVE ON/OFF PROMPT/NOPROMPT Auto save data when PF3 key is pressed
IMACRO
Specify initial macro to be run at startup.

Advanced Edit Options
To locate a String within another;
FIND string range NEXT/PREV/FIRST/LAST/ALL CHARS/PREFIX/SUFFIX/WORD
X/NX col-1 col-2\
Where:
range
string
NEXT
PREV
FIRST
LAST
ALL
CHARS
PREFIX
SUFFIX
X/NX
col-1 col-2

is denoted by 2 labels
is the string to be found
start search at current line and locate the next occurrence of the string (default).
start search at current line and locate the previous occurrence of the string.
locate the first occurrence of the string
locate the last occurrence of the string
Same as first but count the occurrences in the file.
any occurrence of the string
string must be at the beginning of the word
string must be at the end of a word
Search only excluded/Non excluded lines
starting and ending column numbers defining the search boundaries.

To Modify/Change a string with another String;
CHANGE string1 string2 range NEXT/PREV/FIRST/LAST/ALL
CHARS/PREFIX/SUFFIX/WORD X/NX col-1 col-2
String2 replaces string1

74

MVS

Shifting text source
<--------------Data shift----------> <---------- Column shift ----------->
<
<n
<<
(
(n
((n
left shifts
>
>n
>>
)
)n
))n
right shifts
Data shifts








does not drop blank characters
does not combine words by drooping spaces
does not delete spaces within apostrophes
COPY [member] [AFTER/BEFORE label]
MOVE [member] [AFTER/BEFORE label]
CREATE [member] [range]
REPLACE [member] [range]
Edit member-name to edit recursively

Utilities Menu
Option 3
------------------------- UTILITY SELECTION MENU ---------------------------OPTION ===>
1 LIBRARY

- Compress or print data set. Print index listing.
Print, rename, delete, browse, or edit members
2 DATASET
- Allocate, rename, delete, catalog, uncatalog, or
display information of an entire data set
3 MOVE/COPY - Move, copy, or promote members or data sets
4 DSLIST
- Print or display (to process) list of data set names
Print or display VTOC information
5 RESET
- Reset statistics for members of ISPF library
6 HARDCOPY - Initiate hardcopy output
8 OUTLIST
- Display, delete, or print held job output
9 COMMANDS - Create/change an application command table
10 CONVERT - Convert old format menus/messages to new format
11 FORMAT
- Format definition for formatted data Edit/Browse
12 SUPERC
- Compare data sets
(Standard Dialog)
13 SUPERCE
- Compare data sets and Search-for strings (Extended Dialog)
14 SEARCH-FOR - Search data sets for strings of data
(Standard Dialog)

75

MVS
Library Utility
Option 3.1
---------------------------- LIBRARY UTILITY -------------------------------OPTION ===>
blank - Display member list
C - Compress data set
X - Print index listing
L - Print entire data set
I - Data set information

B - Browse member
P - Print member
R - Rename member
D - Delete member
E - Edit member
S - Data set information (short)

ISPF LIBRARY:
PROJECT ===> DA0034T
GROUP ===> TRG
===>
===>
===>
TYPE ===> JCL
MEMBER ===>
(If "P", "R", "D", "B", "E" or blank selected)
NEWNAME ===>
(If "R" selected)
OTHER PARTITIONED OR SEQUENTIAL DATA SET:
DATA SET NAME ===>
VOLUME SERIAL ===>
(If not cataloged)
DATA SET PASSWORD ===>

(If password protected)

76

MVS
Dataset Utility
Option 3.2
---------------------------- DATA SET UTILITY ------------------------------OPTION ===> A
A - Allocate new data set
C - Catalog data set
R - Rename entire data set
U - Uncatalog data set
D - Delete entire data set
S - Data set information (short)
blank - Data set information
M - Enhanced data set allocation
ISPF LIBRARY:
PROJECT ===> DA0034T
GROUP ===> TRG
TYPE ===> JCL
OTHER PARTITIONED OR SEQUENTIAL DATA SET:
DATA SET NAME ===>
VOLUME SERIAL ===>
(If not cataloged, required for option "C")
DATA SET PASSWORD ===>
(If password protected)

New dataset allocation
option 3.2.A
------------------------ ALLOCATE NEW DATA SET -----------------------------COMMAND ===>
DATA SET NAME: DA0034T.TRG.JCLS
VOLUME SERIAL
===> BS3008
(Blank for authorized default volume)
GENERIC UNIT
===>
(Generic group name or unit address)
SPACE UNITS
===> BLOCK
(BLKS, TRKS, or CYLS)
PRIMARY QUANTITY
===> 26
(In above units)
SECONDARY QUANTITY ===> 12
(In above units)
DIRECTORY BLOCKS
===> 0
(Zero for sequential data set)
RECORD FORMAT
===> FB
RECORD LENGTH
===> 150
BLOCK SIZE
===> 1500
EXPIRATION DATE
===>
(YY/MM/DD, YYYY/MM/DD
YY.DDD, YYYY.DDD in Julian form DDDD for retention period
in days or blank)
( * Only one of these fields may be specified)

77

MVS
Renaming Dataset
Option 3.2.R
---------------------------- RENAME DATA SET -------------------------------COMMAND ===>
DATA SET NAME: DA0034T.TRG.JCL
VOLUME:
BS3008
ENTER NEW NAME BELOW:

(The data set will be recataloged.)

ISPF LIBRARY:
PROJECT ===> DA0034T
GROUP ===> TRG
TYPE ===> JCL
OTHER PARTITIONED OR SEQUENTIAL DATA SET:
DATA SET NAME ===>

Dataset information
Option 3.2.s
-------------------------- DATA SET INFORMATION ----------------------------COMMAND ===>
DATA SET NAME: DA0034T.TRG.JCL
GENERAL DATA:
CURRENT ALLOCATION:
Management class:
MCSTANDS
Allocated blocks:
Storage class:
SCNORM
Allocated extents:
Volume:
BS3008
Maximum dir. blocks:
Device type:
3390
Data class:
Organization:
PO
CURRENT UTILIZATION:
Record format:
FB
Used blocks:
Record length:
150
Used extents:
Block size:
1500
Used dir. blocks:
1st extent blocks:
26
Number of members:
Secondary blocks:
12
Data set name type: PDS
Creation date:
Expiration date:

1996/08/08
***NONE***

78

26
1
1

11
1
1
5

MVS
Allocate datasets managed by SMS
------------------------ ALLOCATE NEW DATA SET -----------------------------COMMAND ===>
DATA SET NAME: DA0034T.TRG.JCL
MANAGEMENT CLASS
===> MCSTANDS (Blank for default management class)
STORAGE CLASS
===> SCNORM
(Blank for default storage class)
VOLUME SERIAL
===>
(Blank for authorized default volume)
DATA CLASS
===>
(Blank for default data class)
SPACE UNITS
===> BLOCK
(BLKS, TRKS, CYLS, KB, MB or BYTES)
PRIMARY QUANTITY
===> 26
(In above units)
SECONDARY QUANTITY ===> 12
(In above units)
DIRECTORY BLOCKS
===> 1
(Zero for sequential data set) *
RECORD FORMAT
===> FB
RECORD LENGTH
===> 150
BLOCK SIZE
===> 1500
DATA SET NAME TYPE ===> PDS
(LIBRARY, PDS, or blank)
*
EXPIRATION DATE
===>
(YY/MM/DD, YYYY/MM/DD
YY.DDD, YYYY.DDD in Julian form
DDDD for retention period in days
or blank)
(* Specifying LIBRARY may override zero directory block)

79

MVS
Move / Copy
Option 3.3
--------------------------- MOVE/COPY UTILITY ------------------------------OPTION ===>
C - Copy data set or member(s)
M - Move data set or member(s)
L - Copy and LMF lock member(s)
P - LMF Promote data set or member(s)

CP - Copy and print
MP - Move and print
LP - Copy, LMF lock, and print
PP - LMF Promote and print

SPECIFY "FROM" DATA SET BELOW, THEN PRESS ENTER KEY
FROM ISPF LIBRARY:
------ Options C, CP, L, and LP only ------PROJECT ===> DA0034T
GROUP
===> TRG
===>
===>
===>
TYPE
===> JCL
MEMBER ===>
(Blank or pattern for member selection list,
'*' for all members)
FROM OTHER PARTITIONED OR SEQUENTIAL DATA SET:
DATA SET NAME
===>
VOLUME SERIAL
===>
(If not cataloged)
DATA SET PASSWORD ===>

(If password protected)

80

MVS
Move / Copy- 2
COPY --- FROM DA0034T.TRG.JCL ------------------------------------------------COMMAND ===>
SPECIFY "TO" DATA SET BELOW.
TO ISPF LIBRARY:
PROJECT ===> DA0034T
GROUP ===> TRG
TYPE
===> JCL
TO OTHER PARTITIONED OR SEQUENTIAL DATA SET:
DATA SET NAME ===>
VOLUME SERIAL ===>
(If not cataloged)
DATA SET PASSWORD ===>

(If password protected)

"TO" DATA SET OPTIONS:
IF PARTITIONED, REPLACE LIKE-NAMED MEMBERS ===> YES (YES or NO)
IF SEQUENTIAL, "TO" DATA SET DISPOSITION
===> OLD (OLD or MOD)
SPECIFY PACK OPTION FOR "TO" DATA SET
===> (YES, NO or blank)

81

MVS
DSLIST Utility
Option 3.4
--------------------------- DATA SET LIST UTILITY ----------------------------OPTION ===>
blank - Display data set list *
V - Display VTOC information only

P - Print data set list
PV - Print VTOC information only

Enter one or both of the parameters below:
DSNAME LEVEL ===> DA0034T.TRG.*
VOLUME
===>
INITIAL DISPLAY VIEW ===> VOLUME (VOLUME,SPACE,ATTRIB,TOTAL)
CONFIRM DELETE REQUEST ===> YES
(YES or NO)
* The following line commands will be available when the list is displayed:
B - Browse data set
C - Catalog data set F - Free unused space
E - Edit data set
U - Uncatalog data set = - Repeat last command
D - Delete data set
P - Print data set
R - Rename data set X - Print index listing
I - Data set information M - Display member list
S - Information (short) Z - Compress data set TSO cmd, CLIST or REXX exec

DSLIST Dataset Selection
DSLIST - DATA SETS BEGINNING WITH DA0034T.TRG.* ----------------- ROW 1 OF 23
COMMAND ===>
SCROLL ===> PAGE
COMMAND
NAME
MESSAGE
VOLUME
------------------------------------------------------------------------------DA0034T.TRG.ACCOUNT
MIGRAT
DA0034T.TRG.BADCOBOL
MIGRAT
DA0034T.TRG.COBOL
MIGRAT
DA0034T.TRG.COBOL1
MIGRAT
m
DA0034T.TRG..JC
BS3008
DA0034T.TRG.LNK
MIGRAT

82

MVS
DSLIST Commands
M
C
D
E
F
I
M
P
R
S
U
X
=

-

Member list
Catalog a dataset
Delete a dataset
Edit a dataset
Free unused dataspace in a dataset
Display information for a dataset
Display a memberlist
Print a dataset
Rename a dataset
Display a shortened version of dataset information
Uncatalog a dataset
Print a dataset indexed listing
Z
Repeat the last command

Compress a dataset

Primary Commands
LOCATE
To locate a dataset
TSO SUBMIT
To execute Clists from the command line
SHOWCMD ON/OFF
To show the expanded form of the command
CONFIRM ON/OFF Same as Confirm delete request Yes/NO on the delete panel
SORT
Sorts the dataset list based on the fields shown on the next transparency
FIND
Finds occurrence of a string with the list of datasets
SAVE dataset-name Saves the current dataset list into the datasetname specified
SELECT pattern [linecommand]
To make a selection of datasets to be acted upon determined
by the line command

83

MVS
Reset
Option 3.5
-------------------------- RESET ISPF STATISTICS ---------------------------OPTION ===>
R - Reset (create/update) ISPF statistics
D - Delete ISPF statistics
NEW USERID
===>
(If userid is to be changed)
NEW VERSION NUMBER ===>
(If version number is to be changed)
RESET MOD LEVEL ===> YES (YES or NO)
RESET SEQ NUMBERS ===> YES (YES or NO)
ISPF LIBRARY:
PROJECT ===> DA0034T
GROUP ===> TRG
TYPE ===> JCL
MEMBER ===>
(Blank or pattern for member selection
list, '*' for all members)
OTHER PARTITIONED DATA SET:
DATA SET NAME ===>
VOLUME SERIAL ===>
(If not cataloged)

84

MVS

16. Appendix – A ( Assignment )
1.

Create 2 PDSs with high level qualifier as your own MF login-id.
The one PDS should have RECFM = U. (After creation of this PDS, it should be
untouched. We will be using that in JCL practical.)

2.

Create 1 flat file EMPLOYEE with following structure...
EMPNO
C
3
EMPNAME
C
10
EMPDEPT
C
3
EMPDESIG
C
4
EMPSAL
N
5
Add 10 records in it.

3.

See your created PDSs & file in the dataset list.

4.

See the information about your created PDSs.

5.

SEE, BROWSE & EDIT the members of a PDS.

6.

COPY 3 members from one PDS to another.

7.

MOVE one of the members from one PDS to another.

8.

RENAME the moved member.

9.

Rename the members at the time of copying & moving.

10.

Write a sample COBOL program to display the hard coded values.

11.

Make the proper alignment for the same program.
(Use single line alignment functions as well as BLOCK alignment functions)

12.

FIND a particular string in your program & REPLACE it with other value.

13.

Transfer(XMIT) the given member JCL to other user.

14.

SPLIT up the sessions & work in 2nd session’s ISPF to work with JCL.

15.

DELETE the least important member from your PDS. Delete the member less PDS.

85

MVS

17. Appendix – B (Bibliography/References)
1.
2.
3.
4.
5.

MVS JCL

BY

OS/VS2 MVS OVERVIEW
THE MVS PRIMER
EXPERT MVS/XA JCL
MVS JCL,2/ED.

BY
IBM
BY
DAVID SHELBY KIRK
CARANTHSIS MANI
BY
DOUG LOWE

BY

86

DOUG LOWE

Sign up to vote on this title
UsefulNot useful