SY28 0766 0_OS_VS2_System_Logic_Library_Vol_6_Rel_3.7_Jul76 0 OS VS2 System Logic Library Vol 6 Rel 3.7 Jul76

User Manual: SY28-0766-0_OS_VS2_System_Logic_Library_Vol_6_Rel_3.7_Jul76

Open the PDF directly: View PDF PDF.
Page Count: 360

DownloadSY28-0766-0_OS_VS2_System_Logic_Library_Vol_6_Rel_3.7_Jul76 SY28-0766-0 OS VS2 System Logic Library Vol 6 Rel 3.7 Jul76
Open PDF In BrowserView PDF
1/

SY28-0766-0
File No. S370-36

Systems

OS/VS2
System Logic Library
Volume 6
VS2.03.804
VS2.03.805
VS2.03.807

i

\

Pages numbered as duplicates in this publication must be retained because
each of these pages contains information specific to an individual Selectable Unit.

This minor revision incorporates the following Selectable Units:
Scheduler Improvements
Supervisor Performance #1
Supervisor Performance #2

VS2.03.804
VS2.03.805
VS2.03.807

The selectable unit to which the information applies, is noted in the upper corner of the page.

First Edition (July, 1976)
This is a reprint of SY28-0718-0 incorporating changes released in the following
Selectable Unit Newsletters:
SN28-2684
SN28-2689
SN28-2695

(dated May 28, 1976)
(dated May 28, 1976)
(dated May 28, 1976)

This edition applies to Release 3.7 of OS/VS2 and to all subsequent releases of OS/VS2 until
otherwise indicated in new editions or Technical Newsletters. Changes arc continually made to
the information herein; before using this publication in connection with the operation oflBM
systems, consult the latest IBM System/370 Bibliography, GC20-0001, for the editions that are
applicable and current.
Requests for copies of IBM publications should be made to your IBM representative or to the
lllM branch office serving your locality.
A form for readers' comments is provided at the back of this publication. If the form has been
removed, comments may be addressed to IBM Corporation, Publications Development,
Department D58, Building 706-2, PO Box 390, Poughkeepsie, N.Y. 12602. Comments become
the property of IBM.
©Copyright International Business Machines Corporation 1976

Preface
System Logic Library comprises seven volumes.
Following is the content and order number for each
volume.
OS/VS2 System Logic Library,
Volume t contents: SY28-07 t 3
MVS logic introduction
Abbreviation list
Index for all volumes
Volume 2 contents: SY28-07 t 4
Method of Operation diagrams for
Communications Task
Command Processing
Region Control Task (RCT)
Started Task Control (STC)
LOGON Scheduling
Volume 3 contents: SY28-071S
Method· of Operation diagrams for
System Resources Manager (SRM)
System Activity Measurement Activity (MF /1)
JOB Scheduling
-Subsystem Interface
-Master Subsystem
-Initiator /Terminator
-SW A Create Interface
-Converter /Interpreter
-SW A Manager
-Allocation/U nallocation
-System Management Facilities (SMF)
-System Log
-Checkpoint/Restart
Volume 4 contents: SY28-07 t 6
Method of Operation diagrams for
Timer Supervision
Supervisor Control
Task Management
Program Management
Recovery /Termination Management (R/TM)
Volume 5 contents: SY28-07 t 7
Method of Operation diagrams for
Real Storage Management (RSM)
Virtual Storage Management (VSM)
Auxiliary Storage Management (ASM)
Volume 6 contents: SY28-0718
Program Organization
Volume 7 contents: SY28-0719
Directory
Data Areas
Diagnostic Aids

Please note that if you use only one order
number, you will only receive that volume. To
receive all seven volumes, you must either use all
seven form numbers or, simply the following
number: SBOF-8210. If you use SBOF-8210, you
will receive all seven volumes.
The publication is intended for persons who are
debugging or modifying the system. For general
information about the use of the MVS system, refer
to the publication Introduction to OS/VS Release
2, GC28-0661.

How This Publication is Organized
This publication contains six chapters. Following, is
a synopsis of the information in each section:
• Introduction and Master Index - an
overview of each of the functions this
publication documents, an abbreviation list of
all acronyms used in the publication, and a
complete index for all seven volumes.
• Method of Operation - a functional
approach to each of the subcomponents, using
both diagrams and text. Each subcomponent
begins with an introduction; all the diagrams
and text" applying to that subcomponent
follow.
• Program Organization - a description of
module-to-module flow for each
subcomponent; a description of each module's
function, including entry and exit. The
module-to-module flow is ordered by
subcomponent. The module descriptions are
in alphabetic order without regard to
subcomponent.
• Directory - a cross-reference from names in
the various sUbcomponents to thejr place in
the source code and in the publication.
• Data Areas - a description of the major
data areas used by the subcomponents (only
those, however, that are not described in
OS / VS Data Areas, SYB8-0606, which is
on microfiche); a data area usage table,
showing whether a module reads or updates a
data area; a control block overview diagram
for each subcomponent, showing the various
pointer schemes for the control blocks
applicable to each subcomponent; a table
detailing data area acronyms, mapping macro
instructions, common names, and symbol
usage table.

Preface 3

• Diagnostic Aids - the messages issued,
including the modules that issue, detect, and
contain the message; register usage; return
codes; wait state codes; and Miscellaneous
aids.

4

OS/VS2 System Logic Library Volume 6 (VS2 Release 3;7)

Corequisite Reading
The following publications are corequisites:
• OS/VS2 JES2 Logic, SY2S-0622
• OS/VS Data Areas, SYBS-0606 (This
document is on microfiche.)
• OS/VS2 System Initialization Logic,
SY2S-0623

Contents
Section 3: Program Organization

. . . . . . . . . . . . . . .

Module-to-Module Control Flow (See Figure List) . . . . . .
Communications Task . . . . . . . . . . . . . . . . .
Command Processing (includes Reconfiguration Commands)
Region Control Task (RCT)
Started Task Control (STC) . . .
LOGON Scheduling . . . . . .
System Resources Manager (SRM)
System Activity Measurement Facility (MF /1)
Job Scheduling:
Master Subsystem . .
Initiator/Terminator
SWA Create Interface
Converter/Interpreter
SWA Manager
Allocation/U nallocation
System Management Facilities (SMF)
System Log . . . .
Checkpoint/Restart
Timer Supervision
Supervisor Control . .
Task Management
Program Management
Recovery /Termination Management (R/TM)
Real Storage Management (RSM)
Virtual Storage Management (VSM) .
Auxiliary Storage Managemnet (ASM)
........ .
Module Descriptions
Index

6-0
6-1
6-2
6-8
6-22
6-32
6-34
6-36
6-37
6-38
6-39
6-41
6-42
6-45
6-46
6-88
6-89
6-90
6-91
6-114
6-124
6-128
6-189
6-130
6-185
6-200
6-256

I-I

Contents 5

Figures
Figure
3-1
Figure
3-2
Figure
3-3
Figure
3-4
Figure
3-5
Figure
3-6
Figure
3-7
3-8
Figure
Figure
3-9
Figure 3-10
Figure 3-10A
Figure 3-10B
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure

3-11
3-12
3-13
3-14
3-15
3-16
3-17
3-18

Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure

3-19
3-20
3-21
3-22
3-23
3-24
3-25
3-26
3-27
3-28
3-29
3-30
3-31
3-32
3-33
3-34
3-35

Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figuf(!
Figure
Figure

3-36

3-37
3-38
3-39
3-40
3-41
3-42
30-43

3-44
3-45

3-46
3-47
3-48
3-49
3-50
3-51
3-52
3-53

Figure 3-54
Figure 3-55
Figure 3-56
Figure 3-57
Figure 3-58
Figure 3-58A
Figure 3-58B
Figure 3-59
Figure 3-60

6

OS/VS2 System Logic Library

Voium~

WTO and WTOR Processing Module Flow (Communication Task)
6-2
DOM Processing Module Flow (Communication Task)
6-4
Attention Interrupt Processing Module Flow (Communication Task) 6-5
External Interrupt Processing Module Flow (Communication Task)
6-6
I/O Complete Processing Module Flow (Communication Task)
6-7
Command Processing Program Organization Overview
6-8
Region Control Task (RCT) Module Flow
6-22
Started Task Control (STC) Module Flow
6-32
LOGON Scheduling Module Flow
6-34
System Resources Manager (SRM) Module Flow
6-36
System Resources Manager (SRM) Mainline Processing Module Flow
(VS2.03.807)
· 6-36
System Resources Manager (SRM) Command Processing Module Flow
(VS2.03.807)
6-36.1
System Activity Measurement Facility (MF/l) Module Flow
· 6-37
Master Subsystem Module Flow
· 6-38
Initiator/Terminator Module Flow
· 6-39
SWA Create Interface Module Flow
· 6-41
Converter Module Flow
· 6-42
Interpreter Module Flow
· 6-44
SW A Manager Module Flow
· 6-45
Batch and Dynamic Allocation/Unallocation Module Flow Overview
· 6-47
Common Allocation Module Flow Overview
· 6-48
IEFAB4AO - Common Unallocation Control
· 6-49
IEF AB421 - Common Allocation Control
· 6-51
IEFAB434 - Allocate Request to Unit
· 6-53
IEFAB436 - Nonspecific Volume Allocation Control
· 6-55
IEFAB451 - JFCB Housekeeping Control
· 6-56
IEF AB454 - DD Function Control
· 6-57
IEFAB469 - JLOCATE
· 6-60
IEF AB471 - Generic Allocation Control
· 6-61
IEFAB476 - Allocation Via Algorithm
6-63
IEFAB479 - Demand Allocation
6-64
IEF AB485 - Recovery Allocation
6-65
IEFAB486 - Offline/Allocated Device Allocation
6-67
IEFAB490 - Common Allocation Cleanup
· 6-71
IEFAB491 - Wait Holding Resources
· 6-73
IEFAB493 - VM&V (Volume Mount & Verify) Control
· 6-74
IEFBB401 - Initiator/Allocation Interface
· 6-75
IEFBB410 - Initiator/Unallocation Interface
· 6-77
IEFDB4AO - Dynamic Unallocation Control
· 6-80
IEFDB400 - SVC 99 Control
6-81
IEFDB410 - Dynamic Allocation Control
6-84
System Management Facilities (SMF) Recording:
Program Organization
6-88
System Log Task Program Organization
· 6-89
Checkpoint/Restart Program Organization
· 6-90
Timing Services Module Flow
· 6-91
Interprocessor Communications ope) Module Flow
6-114
Interruption Handlers Module Flow
6-115
Dispatcher and SCHEDULE Module Flow
6-119
Supervisor Routines Module Flow
6-120
Supervisor Control Recovery Module Flow
6-122
ATTACH, DETACH, and ENQ/RESERVE Module Flow
6-124
DEQ, CHAP, WAIT, and POST Module Flow
6-125
SPIE, EXTRACT, EXIT, and Exit Prolog Module Flow
6-126
STATUS, MODESET, and TESTAUTH Module Flow
6-127
LINK, SYNCH, LOAD, Program FETCH/BLDL Interface
Module Flow
6-128
DELETE, IDENTIFY, XCTL Module Flow
6-129
Space Allocatioll/Deallocation Overview Module Flow
6-130
6-131
Page Fault Processing Overview Module Flow
6-132
Page Services Overview Module Flow
6-133
SWAP Overview Module Flow
Swap-Out Overview (VS2.03.807)
6-133
Swap-In Overview (VS2.03.807)
6-133.0
6-134
VIO Services Overview Module Flow
6-135
RSM Module Flow - lEAVSQA

6 (VS2.03.807)

Figure
Figure

3-61
3-62

Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure

3-63
3-64
3-65
3-66
3-67
3-68
3-69
3-70
3-71
3-72
3-73
3-74
3-74

Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure

3-75
3-76
3-76
3-77
3-78
3-79
3-80
3-31
3-82
3-83

Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure

3-84
3-85
3-86
3-87
3-88
3-89
3-90
3-91
3-92
3-93

Figure

3-94

F~gure

Figure 3-95
Figure 3-95
Figure 3-96
Figure 3-96
Figure 3-97
Figure 3-97
Figure 3-98
Figure 3-98
Figure 3-99
Figure 3-99
Figure 3-100
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure

3-100
3-101
3-102
3-103
3-104
3-105
3-106
3-107
3-108
3-109
3-110
3-111
3-112
3-113
3-114

Figure 3-115
Fi~ure 3-116

RSM Module Flow - lEA VEQ R Initial Region Allocation
6-136
RSM Module Flow - lEAVEQR Asynchronous Completion and V =R
and V=R Clearing
6-138
RSM Module Flow - IEAVEQR Free V=R Region
6-140
RSM Module Flow - lEAVRELS FREE MAIN Release
6-141
RSM Module Flow - lEA VCSEG,IEAVDSEG
6-143
RSM Module Flow - lEA VPIX
6-144
RSM Module Flow - IEAVGFA
6-145
RSM Module Flow - IEAVPIOP
6-147
RSM Module Flow - IEAVIOCP
6-148
RSM Module Flow - lEA VPSI
6-150
RSM Module Flow - lEA VFXLD and lEA VFXLD Root Exit
6-151
RSM Module Flow - lEA VFREE
6-153
RSM Module Flow - IEAVOUT, IEAVRELS
6-154
RSM Module Flow - lEA VSWIN and lEA VSWIN Root Exit
6-157
RSM Module Flow - lEAVSWIN, lEAVSWIN Root Exit, and
lEA VSWIN Post Routine (VS2.03.807)
6-157
RSM Module Flow - lEA VSOUT
6-160
RSM Module Flow - lEA VSOUT Root Exit, lEAVPIOI
6-163
RSM Module Flow - lEA VPIOI (VS2.03.807)
6-163
RSM Module Flow - lEA VAMSI
6-165
RSM Module Flow - lEAVIT AS
6-169
RSM Module Flow - lEA VDLAS
6-171
RSM Module Flow - lEA VTERM
6-173
RSM Module Flow - lEA VRFR
6-175
RSM Module Flow - lEA VRCF
6-178
RSM Module Flow - lEA VRCF Offline Interception and Offline
and Offline Completion
6-180
RSM Module Flow - lEA VPFTE
6-182
RSM Module Flow - lEA VPCB
6-183
RSM Module Flow - IEAVINV, IEAVFP, IEAVTRV
6-184
VSM Module Flow
6-185
RTMI Module Flow and Basic Functions Performed
6-189
RTM2 Module Flow and Basic Functions Performed
6-190
Address Space Termination Module Flow
6-192
R/TM Services Module Flow
6-193
R/TM Dumping Services - Formatted Dump Module Flow
6-196
R/TM Dumping Services - Synchronous Unformatted Dump
Module Flow
6-198
R/TM Dumping Services - Scheduled Unformatted Dump
Module Flow
6-199
Example of Module Flow Diagrams
6-205
I/O Control (VS2.03.807)
6-200
ASSIGN LGN - Phase I
6-206
I/O Subsystem (VS2.03.807)
6-203
ASSIGN LGN - Phase II
6-207,208,209
VIO Control (VS2.03.807)
6-205
TRANSFER LOGICAL PAGE - Phase I
6-210
VIO Group Operators (VS2.03.807)
6-208
TRANSFER LOGICAL PAGE - Phase II
6-6-211,212,213,214,215,216
Recovery (VS2.03.807)
6-210
ASSIGN LOGICAL SEGMENT(s)/RELEASE LOGICAL
SEGMENT(s) - Phase I
6-217
Service Routines (VS2.03.807)
6-211
WRITE MESSAGE TO OPERATOR - Phase I
6-218
ASSIGN LOGICAL SEGMENT(s) - Phase II
6-219,220,221
RELEASE LOGICAL SEGMENT(s) - Pahse II
6-222,223,224
SAVE LG - Phase I
6-225
RELEASE LOGICAL GROUP -Phase I
6-226
RELEASELOGICAL GROUP - Phase I
6-227
ACTIV ATE LG - Phase I
6-228
ACTIVATE, SAVE, and RELEASE LG - Phase II
6-229,230,231
INPUT/OUTPUT - Phase I
6-232
INPUT/OUTPUT - Phase I
6-233
INPUT /OUTPUT-Phase II
. 6-234,235,236,239
I/O COMPLETE - Phase II
6-238,239
I/O MONITOR - Phase II
6-240
T ASK MODE CONTROLLER (Including WRITE MESSAGE - Phase
III)
6-241
RELEASE LOGICAL GROUP - Phase III
6-242
RELEASE LOGICAL GROUP - Phase III
6-243, 244

Contents 7

Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure

8

3-117
3-118
3-119
3-120
3-121
3-122
3-123
3-124
3-125

RELEASE LOGICAL GROUP - Phase III
ACTIVATE LG - Phase III
ACTIVATE LG - Phase III
ACTIVATE LG - Phase III
ACTIVATE LG - Phase III
ACTIVATE LG - Phase III
ACTIVATE LG - Phase III
SA VE LG - Phase III
SAVE LG - Phase III . . .

OS/VS2 System Logic Library Volume 6 (VS2.03.807)

6-245,246
6-247
6-248
6-249
6-250
6-251
6-252
6-253
6-254,256

Section 3: Program Organization.
This section describes the physical organization of
the object modules that perform the scheduler and
supervisor functions for the OS/VS2 operating
system. The first part of the section is a collection
of charts showing the control flow among the
object modules during the operation of the OS/VS2
system. The charts are arranged by subcomponent.
The second part describes each object module as
follows:

• Summarizes the operation of the module.
• Names the modules that pass control to it.
• Names the modules that receive control from
it.
The module descriptions are arranged
alphameric ally by module name.

Section 3: Program Organization

6·1

tf'
N

o

r'-l

"<

User or System
Program
WTO/R Macro
Instructions

r'-l

N

r'-l

'<

~

9

E
(S"

t""

a:

~

~

~

IEECVCTE

IEFJSREO
JES2WTO
Routine
Loc=JES2

User Exit
Routine
Loc=LPA

..q/~aJls e

1t:F:SSf:it:~anChes Ilia 'the

Part 2

Ins'tr(JCtion Macro

(D

0'1

/

'<

Write to Operator
Service
Loc=LPA

r'-l

N

::t'
(D

if

~
w

~

IEEJB840
Write to
Programmer
Loc=LPA

/J:V -Gl

/

,/'"

/~'V

/

WTO or WTOR Only

IEAVMWTO
Multiple Line
WTO Service
Loc=LPA

AlWayS BranChes Ilia the
IEFSSREQ Macro
I nStrllCtion

IEFJSREO
JES2 WTO
Routine
Loc=JES2

Figure 3-1. WTO and WTOR Processing Module Flow (Communication Task) (Part 1 of 2)

IEAVMOWR

,IEAVEDSO
Dispatcher

..-...-..

Note:
With the exception of the wait service routine
(I EA VMOWR), control is returned to the
calling module beneath where the called module
was given control.

COMT ASK Wait
Service Routine
Loc=LPA

)I

Part 1

/

/

/

/

CV lD/~

/"

/'"
/'"

,/"

~

.......
.......
.......
........

When control is returned to the wait service
routine, instead of continuing processing where
it gave up control, it looks for other
communication task functions to be performed.
If one is found, it is performed. If one is not
found, the wait service routine reenters the
wait state until the next communication task
event control block is posted.

Output Pending Bit (UCMPF)
ECB = UCMO ECB

Other Communication
Task Functions

IEAVMORO (OREGO)
Unconditiona I
Message to
Inactive
Console
Loc=LPA

IEAVMWSV
Oueue Messages
to Device
Loc=LPA

-.,

IEAVMDSV
~

Device Service
Routine
Loc=LPA

-----

*The control flow of DIDOCS modules is
indicated by the DIDOCS trace table in the
pageable DCM. F or a description of the
DIDOCS trace table, refer to the "Diagnostic
Aids" section of this publication.

IEAVVCTR

Device
Controller
Loc=SVC72
fI)
(D

sa.
e'
:=

2740 Console

w

1443 Console

::p

i

~.

a
o·
:=
0\

~

I
T

~

a

........

2740oe:l

IEEC2740

Support
Processor
Loc=SVC72

IEAV1443
1443 Device
Support
Processor
Loc=SVC72

Figure 3-1. WTO and WTOR Processing Module Flow (Communication Task) (Part 2 of 2)

Graphic Console

3284/3286 Console
1052 Console
IEAV1052

1052 Device
Support
Processor
Loc=SVC72

IEECVETW

3284/3286
Device Support
Processor
Loc=SVC72

IEECVET1*
Graphic Device
Support Processor
(DIDOCS)
Loc=SVC72

0'1

;..

o

CI)

~
CI)

User or System
Program
DOM Macro

IEAVMQWR
IEAVEDSO

~ o;spa:~J -=

N
CI)

'<

~

/

(D

:I
r-'

ci
n°

------

....---

COMT ASK Wait
Service Routine
Loc=LPA

ECB = UCMDECB

r-'

..0:
~

-<

<:
2'

:I
(D

'<
CI)

N

~
~

~

/

Branch if Needed

o

0'1

,----

I

SUBEXIT

JES2DOM
Routine
Loc = JES2
Loc = JES3

Always
Branch

-j- - -

IEAVXDOM
Delete
Operator
Message
Service
Loc=LPA

IEAVMDOM
COMTASK DOM
Processor
Loc=LPA

Other
Commun ication
Task Functions

Device Controller
Loc=SVC72
IEECVET1 *
DIDOCS Router
Module
Loc=SVC 72

~

IEECVET7
DIDOCS
Message
Deletion
Loc=SVC72
IEECVETH/P/R!U
DIDOCS
Devi ce-dependent

1/0
Loc=SVC72

To "1/0 Complete
Processi ng"

Figure 3-2. DOM Processing Module Flow (Communication Task)

When control is returned to the wait service
routine, instead of continuing processing where
it gave up control, it looks for other
communication task functions to be performed.
If one is found, it is performed. If one is not
found, the wait service routine reenters the wait
state until the next communication task event
control block is posted.

IEAVVCTR

~

w

Note:
With the exception of the wait service routine
(lEAVMQWR), control is returned to the calling
module beneath where the called module was
given control.

*The control flow of DIDOCS modules is
indicated by the DIDOCS trace table in the
pageable DCM. For a description of the
DIDOCS trace table, refer to' the "Diagnostic
Aids" section of this publication.

"..,

Note:
With the exception of the wait service routine
(JEAVMQWR), control is returned to the calling
module beneath where the called module was
given control.

IEAVMQWR
Attention
Interrupt

IEAVEDSO
Dispatcher

/

IEEBA1
lOS
Interrupt
Handler

/

IEAVVCRA
IEEBA1
Attention
Interrupt
Handler

/

/
./'

1--

7

~

COMTASK
Wait
Service Routine
Loc=LPA

1//
./'

/'"

When control is returned to the wait service
routine, instead of continuing processing where it
gave up control, it looks for other communication
task function to be performed. If one is found, it
is performed. If one is not found, the wait
service routine reenters the wait state until the
next communication task event control block is
posted.

IEAVMDSV

./'

Device
Service
Queue
Loc=LPA

Post CT
ECB
UCMAECB

IEAVVCTR
Device
Controller
Loc=SVC72

'2740 Console

1052 Console

IEAV1052

IEEC2740

..........
.......
.......
.......

Graphics Console

2540 Console

IEAV2540

CI:l
(Il

n

g,

=

w

"0

2740 Device
Support
Processor
Loc=SVC72

1052 Device
Support
Processor
Loc=SVC72

i
s
o

Graphics Device
Support
Processor
(DIDOCS)
Loc=SVC72
"The control flow of D IDOCS modules is
indicated by the DroOCS trace table in
the pageable DCM. For a description of
the DIDOCS trace table, refer to the
"Diagnostic Aids" section of this
publication.

aa
=
N'
~

~

g,

=

z:

2540 Device
Support
Processor
Loc=SVC72

IEECVET1"

Figure 3-3. Attention Interrupt Processing Module Flow (Communication Task)

External
Interrupt

I
( Console Panel

,
I
IEAVMQWR

\

J

I

External
First Level
Interrupt
Handler

1

-------

IEAVVCRX

-

CT External
Interrupt
Handler

-

IEAVSWCH
UCMXECB

Note: On return to the Wait Service Routine, if there are no other services needed,
the wait service routine reenters the wait state until the next communication task
event control block is posted.

Figure 3-4. External Interrupt Processing Module Flow (Communication Task)

6-6

COMTASK
Wait Service
Routine
Loc=LPA

OS/VS2 System Logic Library Volume 6 (VS2 Release 3.7)

COMTASK
Console
Switch
Loc=SVC72

IEAVMQWR
I/O Interrupt

~
/
//7

cc:;J
/

/

//

/

Wait Service
Routine
Loc=LPA

/

/

/

///

lOS First
Level
Interrupt
Handler

1

//

When control is returned to the wait service routine, instead of
continuing processing where it gave up control, it looks for
other communication task functions to be performed. If one is
found, it is performed. If one is not found, the wait service
routine reenters the wait state until the next communication
task event control block is posted.

IEAVMDSV
Device Service
Queue
Loc=LPA

Post CT
ECB

~-

//
"

ElL
"

Note:
With the exception of the wait service routine (I EAVMQWR),
control is returned to the calling module beneath where the
called module was given control.

" --UCME

~

V

ECB

*The control flow of DIDOCS modules is
indicated by the 0 IDOCS trace table in the
pageable DCM. For a description of the
DIDOCS trace table, refer to the "Diagnostic
Aids" section of this publication.

IEAVVCTR

/

Device
Controller
Loc=SVC72

I/O Compo

...........

2740 Console

.......

1443 Console

~
~

IEECVETW

IEEC2740

....

3284/3286 Console

•

Graphics Console
2540 Conso Ie
1052 Console

IEAV1443

IEAV2540

=

~

..."CI
ci

;

3284/3286
Device Support
Processor
Loc=SVC72

2740 Device
Support
Processor
Loc=SVC72

1443 Device
Support
Processor
Loc=SVC72

o

=

=.

~.

-=..

2540 Device
Support
Processor
Loc=SVC72

........

N·

=

1052 Device
Support
Processor
Loc=SVC72

Graphics Device
Support
Processor
(DIDOCS)
Loc=SVC72
......... I/O ErrClr

cia
II'

0'1

~IEECVET1*

IEAVSWCH

1

~.

Figure 3-5. I/O Complete Processing Module Flow (Communication Task)

Console Switch
Loc=SVC72

1

Cf'
00

Legend:

o

A

ATTACH

L

LOAD

"

(See Legend)
~

ir-

-

P

-:WAITI A :..
~'-Y

UNLOAD
Command
Syntax
Scanner
L-

I BR

BR
~\V

~~.
(HARDCPY)

r-

e:

BR

~

--

?'

IEE4703D

IEE5703D

VARY HARDCpy Operand
Processor

VARY
HARDCPY
Processor and
Message
Router

(OFF)

BR

t-

=-

3

BR
~

R

IEE4303D

~

IEE7203D

0'1

(MSTCONS)

'<
CI'.l
N

BR

~
~

--

Vary Master
Console
Processor

~

(ON) _

BR

i

~

~

VARY

BR

....

(NET)
Keyword Scan

BR

-

HARDCPY
Informational
Message
Module

ISTCFF3D

IEE3203D

1M

IEE4103D

VARY
HARDCPY
Operand
Processor 2

BR

....

(1 )
(See Legend)

~

IED1303D
(OFFTP; ONTP)_

BR

(2)
(See Legend)

T

If VARY is for
a range of
device addresses

~

BR _

IEEC8904

-

~
BR

VARY
Range
Processor

J

~If a ral

BR

BR

t
/ CN
CHANNEL
__
CONSOLE
~ ~ Others
CPU
BR
< OFFLINE j)
r ONLINE
PATH
STORAGE
(OFFLINE, S
ONLINE,S)

"

t

t

BR

-

IEEOS03D
(See Legend)

IEE9403D
MSS
Preprocessor

Figure 3-6. Command Processing Program Organization Overview (Part 11 of 14)

(CONSOLE;
OFFLINE;
ONLINE)

BR
(CHANNEL;
CPU; PATH;
STORAGE}

IEE3603D

-

VARY
Preprocessor and
Path
Availability
Checker

...

~

P

WA'Tl

~

•

device
is bein

IEE3303D

BR
BR _

-

-7'

Syntax
Scan/Router
for Vary

F

..-

V

(See Part 12)

Command

Processing Module(s)
IEECLEAN
VARY CPU/
Channel
Cleanup and
Recovery
Routine

BR

IEEVCPU
(CHANNEL;
CPU)
...

A

LINK

"'

BALR

"'

"

IEEVWKUP
SIGP

VARY
(Continued)

-

LINK
VARY PATH
Command
Processor

A

-

LINK

(STORAGE)

A

-

VARY
STORAGE
Processor

IEECB900

I'D

g.

(CN)

A

.

VARY eN
Syntax
Checker

~BALR_-

IF

BALR
....

F

o

ciaI»

::I

N'
I»

g.

::I

~

1.0

Figure 3-6. Command Processing Program Organization Overview (Part 12 of 14)

VARY CN
Processor

IEFAB49C

...

-

~

Validate
Page
Routine

IEECB901

W

'''BR

-

IEEVALST

~

,

Device
Subroutine

...

....

::I

l3

IEEVDEV

,

IEEMPVST

tn

,

VARY CPU
Wakeup and
Quiet
Routine

IEEVPTH
(PATH)

(")

-

~

VARY CPU!
Channel
Processor

EOT

D.A. and
Tape
Unloader

EOT

9'
N
o

Command

Processing Module(s)

o

(CONSOLE w/keywords)
without SMF

rJ'}

"<
rJ'}

BR

t-J

IEE4403D

..

rJ'}

BR

Keyword
Scanner
for Vary

t
IEE4203D

'<

~

9
r"'"

J6

1

VARY
(Continued)

[(CONSOLE w/o keywords) w/o SMF; (OFFLINE); (ONLINE) w/o SMF]

r;"

..

BR

J

UCME
Scan/Router

... Z (See below)
i----

I EE2303D

r"'"

0:

(CONSOLE; ONLINE)
• with SMF

~

BR

~

..

(CONSOLE)
without keywords

SMF VARY
Record
Handler

-

BR

C
:3
~

if a range of device
addresses is being processed

BR

IEE44030
(CONSOLE)
with keywords

0'1

'<

BR

rJ'}

.

.. I

-1
(See

BR

t 11)

Keyword
Scanner
for Vary

N

:::0
~

;-

~

w

~
without non-console

IEE4903D

Z

1

(CONSOLE)

.

BR

U

:.-1

CONSOLE
Operand
Processor

(OFFLINE; ONLINE)
with console and with or w/o non-console

BR

BR
BR
IEE4603D
VARY
ON LlNE/

with
non-console

OFFLINE for
Console Devices

BR

IEE3103D
VARY
ONLINE/
OFFLINE
Processor

(OFFLINE; ONLINE) with non-console

BR

BR
p

IEE1603D
WRITELOG

BR

.1

LOG!
WRITELOG
Command
Processor

Log Task

I BR~( R

Figure 3-6. Command Processing Program Organization Overview (Part 13 of 14)

if a range of device
addresses is being processed

BR

(See Part 11)

Insert I.

This insert provides greater detail of the module flow for the address space creation process.

IEAVEMCR

.

Viaa
SCHEDULE
~Macro
{ Instruction
. Global SRB

Memory
Create
I

I

BALRI

oJ~

IEAVEMIN
Memory
Initialization

\
\

BALR

\

IEESB606

L

IWAIT Macro]
nstrl;lction

Address Space

,

Via an
ASCBCHAP
Macro-Instruction

\

JSCB Build
\
\
\

\

\
If
IEAVEACO

BALR

r

\

Create/F ree

1-----

,

,"

\

IEAVGCAS

Pseudo
ATTACH

IEAOPT01 *
Cross-Memory
Post Routine
(To notify
IEAVEMCR
that initialization is complete)
1-:;--------* Entry Point

~ - - ( ECB Posted

)-1

I
ASCB
Enqueue

IEAVEMCR
Memory
Create

tZl

~

g'

=

w

"0

o
3

~

o

oa
§

N'

~

0'

=
0'1

N

Figure 3-6. Command Processing Program Organization Overview (Part 14 of 14)

IEAVAROO
Region
Control Task

A

Started
Task
('ontrol

from IEAVEMIN

(

ENTER

Via Program Manager
(Paeudo ATTACH)

)

-'

IEAVAROO
Set up recovery
environment

Attach dump task

Attach Started Task
Control task

If an error occurs issue
an error message

Issue terminal message
if user is a terminal user

Issue an ABEND
Otherwise

6

IEAVSTAO

-

.....

-

---.

ESTAE

IEAVEATO
ATTACH

IEAVEATO

-

.

.

..

ATTACH

IEAVVWTO
WTO

IGCOOO9C

--

----

TPUT

--

.-

IEAVTRT2
ABEND

-J

Figure 3-7. Region Control Task (RCT) Module Flow (Part 1 of 10)

6-22

OS!VS2 System Logic Library Volume 6 (VS2 Release 3.7)

.Ir

IEAVAR01

Route control
to wait for
work

Route control for
processing.

-

..

--

.

IEAVAR02
Quiesce

IEAVAR03
Restore

IEAVAR04

...

Route control for
termination.

.

-

Attention Exit
Scheduling

IEAVAROO
Detach Started
Task Control task

---

Detach Dump task

..-

Cancel recovery
environment

....-

-

-.-

~

.-

IEAVEEDO
DETACH

IEAVEEDO
DETACH

IEAVSTAO

(

EXIT

-

.-

ESTAE

)

to IEAVTMT

Figure 3-7. Region Control Task (RCT) Module Flow (Part 2 of 10)

Section 3: Program Organization

6·23

Quiesce
from IEAVAR01
ENTER

)

i
IEAVAR02
Wait for work.

If posted for a
termination or
Attention Exit
request, then exit.

Otherwise,
enqueue on
Purge Resource

Set subtasks nondispatchable

IEAVSY50

-- ...

-

WAIT

.. I

EXIT

... \

~

To IEAVAR01
IEAVENQ1

..
-.

-

-

-..

~

Obtain and release local
lock

---- -

If SET LOCK fails,
issue ABEND

----

--""

ENQ

IEAVSETS
STATUS

IEAVELK
SETLOCK

IEAVTRT2

-

-~

ABEND

IRARMIOO
SYSEVENT
Notify SRM of quiesce
start and address space
activity

-

~

-

--""

12

SRM

IEAVSETS
If not continuing
set subtasks dispatchable

-

~

...

STATUS

IEAVENQ1
Dequeue from Purge
Resource

-- -

Exit

-

--""

~

.. r

-\.

DEQ

EXIT

)

to IEAVAR01

6
Figure 3-7. Region Control Task (RCD Module Flow (Part 3 of to)

6-24

OS/VS2 System Logic Library Volume 6 (VS2 Release 3.7)

,r
I EAVAR02 (continued).
Otherwise
Purge I/O activity

If Purge fails issue
ABEND

IGC0001 F

-

...

-

IEAVTRT2

-

-

--

...

-

-

-..

CALLDISP

Otherwise enter the
Dispatcher to allow
asynchronous exits to
be scheduled

Stop the dispatching
of SRBs

Obtain local lock;
obtain and release
dispatcher lock

PURGE SVC

ABEND

IEAVEDSO
Dispatcher

IEAVSETS
STATUS

IEAVELK

-

SETLOCK

IEAVTRT2
If SET LOCK fails,
issue ABEND

ABEND

-

SYSEVENT

Notify SRM of quiesce
completion and address
space activity

IRARMIOO

...

13

SRM

6

Figure 3-7. Region Control Task (RCf) Module Flow (Part 4 of 10)

Section 3: Program Organization

6-25

,
IEAVAR02 (continued)
If not continuing
Release local lock

If SET LOCK fails
issue ABEND

Start SRB dispatching

-..
-

IEAVELK

·-

SETLOCK

IEAVTRT2

-

ABEND

IEAVSETS

-

STATUS

_I

Exit

\..

EXIT

)

to IEAVAR01
Otherwise

Swap out address
space

If swap-out fails
issue ABEND

-

·-

·-

IEAVSOUT
Swap-Out

IEAVTRT2
ABEND

Otherwise
IEAVSY50
Enter wait state until
add ress space is
swapped in

--

..-

WAIT

,Ir

(

EXIT
to IEAVAR01

Figure 3-7. Region Control Task (RCT) Module Flow (Part 5 of 10)

6-26

OS/VS2 System Logic Library Volume 6 (VS2 Release 3.7)

RESTORE

from IEAVAR01

(

ENTER

)

1

IEAVAR03
If 1/0 was purged
during quiesce, restore
it

-

.-

IGCOOO1G
RESTORE SVC

IEAVELK

-

Obtain local lock

SETLOCK

IEAVTRT2
If SET LOCK fails
issue ABEND

-

.-

ABEND

IEAVSETS

-

Set subtdsks
dispatchable

po

STATUS

IEAVELK
Release local lock

SET LOCK

IEAVTRT2

-

If SETLOCK fails
issue ABEND

··

ABEND

For Quiesce backout

--

SYSEVENT

Notify SRM that
Quiesce failed

.-

18

IRARMIOO
SRM

Otherwise
Notify SRM of restore
complete address space
activity

(

EXIT

SYSEVENT

-..

19

-·

IRARMIOO
SRM

)

to IEAVAR01

Figure 3-7. Region Control Task (RCT) Module Flow (Part 6 of 10)

Section 3: Program Organization

6-27

Attention Scheduler
From IEAVAR01

(

ENTER

)

+

IEAVAR04

--

Obtain local lock

IEAVELK

...
SET LOCK

IEAVTRT2

-

If SETLOCK fails issue
ABEND

Stop subtasks under
TCB

---

-

-

Schedule user exit

If TGET or TPUT
SVR Bs exist, reset the
TCB dispatchable

Release the local lock

...

-

ABEND

IEAVSETS

..-

-

- -

--

STATUS

IEAVEEE2
Stage 2 Exit Effector

IEAVSETS
STATUS

IEAVELK
SETLOCK

IEAVTRT2
If SETLOCK fails issue
ABEND

(

~
EXIT

...
ABEND

)

to IEAVAR01

Figure 3-7. Region Control Task (ReT) Module Flow (Part 7 of 10)

6-28

OS/VS2 System Logic Library Volume 6 (VS2 Release 3.7)

Attention Exit Prolog and Epilog
from IEAVEDSO

C

ENTER

+

IEAVAR05
.f

If exit was cancelled

\.

EXIT

)

to IEAVEOR
Otherwise

Enter user key

..-

IEAVMODE

··

MODESET

IGCOOO9C
Issue terminal message
and accept reply if
requested

Reenter key 0 state

Get the local lock

Get space for the
TAlE

Release local lock

For a GETMAIN
error, issue terminal
message

and exit
otherwise

6

...

..

--

·

TPUT/TGET

IEAVMODE

-

MODESET

IEAVELK

·-

SETLOCK

IEAVGMOO

..

·

..

..

-

..-

GETMAIN

IEAVELK
SETLOCK

I GC0009C
TPUT

.. f

\.

EXIT
to IEAVEOR

Figure 3-7. Region Control Task (RCT) Module Flow (Part 8 of 10)

Section 3: Program Organization

6-29

IEAVAR05
(continued)
If exit is cancelled

EXIT
to IEAVEOR

Otherwise
IEAVMODE
Enter user Key and
state

MODESET

User Attention Exit

to IEAVEOR
from IEAVEOR

C

ENTER

IEAVAR06
If a TAl E exists,
free it

-..

-..

Restart subtasks of
TeB

-

.

IEAVGMOO
FREEMAIN

IEAVSETS
STATUS

,r

(

EXIT

)

to IEAVEOR

Figure 3·7. Region Control Task (RCT) Module Flow (Part 9 of 10)

6·30

OS/VS2 System Logic Library Volume 6 (VS2 Release 3.7)

Attention Exit Purge
from IEAVTSKT

(

ENTER

)

+

IEAVAR07

IEAVELK

...

Get local lock

.

SETLOCK

Eliminate TAXES
IEAVELK
Release local lock

(

!

EXIT

~
~

_

...
SETLOCK

)

to IEAVTSKT

Attention Exit Request (ST AX)
from IEAVESVC

(

ENTER

IEAVAXOO'
IGCOOO9F

...

-

Validity check
parameters

-..

IEAVEVAL
Val idity Check

IEAVTRT2

--

If parameters invalid,
issue ABEND

If TAXE is to be
cancelled free TAXE
and Problem Program
Save area

If a new TAXE is to be·
created

(

EXIT

-...-

..-

-

ABEND

IEAVGMOO
FREEMAIN

IEAVEFOO
Stage 1 Exit Effector

)

to IEAVEOR

Figure 3-7. Region Control Task (RCT) Module Flow (Part 10 of 10)

Section 3: Program Organization

6-31

From Region
Control Task
via ATTACH

r--'------,
,
I

I

IEEPRWI2

1
I

STC GETPART Routine

L~

I
_______ ..JI
~

rT---

________________________________

For START Commands
via XCTL

---, -,

rb;:,··...........------...r..---IEEVSTAR

I

I

START Command

I,." , .........~......,..--...-....---.----!

L.~_'_

I

I

I
I

__
" ~..J

~

______________________________
For MOUNT Commands
via XCTL

,------ --. ---,
I
I
IEEVMNT1
I
I

I

For LOGON
Commands
via XCTL

r---

I
I

MOUNT Command
I Syntax
I
Check Routine
I
___ JI
L __ _

~

-----,

IKJEF LA
LOGON Processor

I
L ___

I
I

I

+____ JI
I via XCTL
I
I

via branch

IEEVJCL
Job Control Language
Build

IEEVJCL is loaded with
IEEVSTAR and IEEVMNT1,!

I
----------~

via XCTL
via
BALR

,----------,
I
IEEJSWT

STC Write JCL Routine

via
I EESB605 passes control to the
Initiator via LINK; the Initiator
ATTACH routine, IEFSD263 attaches
I EEVMNT2, the STC MOUNT command
processor for MOUNT command
processing, I EEVMNT2 returns control
to IEFSD263 via a branch,

IEESB601

BALR

SWA and TIOT Initialization for Private Catalogs

---'-"'--- ---,
-'", -,'
, --.,I

I

via
BALH

I

IEEVSMSG

I
STC Message Module
IL _ _ _ _ _ _ _ J

I
I
_'", ___ --1

STC FREE REGION

I n any case, when the command task
has completed processing, the Initiator
oversees termination of the problem
program ar.d returns control to
IEESB605.

Exit To Region
Control Task

Figure 3·8. Started Task Control (STC) Module Flow (Part 1 of 2)

6-32

OS/VS2 System Logic Library Volume 6 (VS2 Release 3.7)

Note:
Shaded areas indicate separate
load modules.

Recovery Processing

Recovery/Termination
Manager (R/TM)
~

Recovery (Termination
Manager (R(TM)
J

,

,It

IEESB665
STC Recovery Exit

To attempt r etry;
otherwise, IE ESB670
returns to RITM
IEEPRTN2
STC Exit Routine

IEESB670
Job Scheduling Subroutine
Recovery EXIT
J

,~

To attempt r etry;
otherwise IE ESB665
returns to R(TM

IEESB605
Job Scheduling
Subroutine

,
~

IEEPRTN2
STC Exit Routine

Figure 3-8. Started Task Control (STC) Module Flow (Part 2 of 2)

Section 3: Program Organization

6-33

r-----l

I

STC

IKJEFLA

~ -IEE-PRWI2!
- - ~ XCTL..
~

r'

-

ABEND

IKJEFLS

'

ESTAE
Recovery
and Retry

I

IEEPRTN

_......I

I.-

L_-~B---

XCTL

-(error)

LOGON
Initialization

--lIoo..

'

~

r----..&.-~_
~CALL
ABEND

... t - - - - - - - f

r----~,.. Attach

A

XCTL ... I
-I

I

I
I _____ .JI
L
IEEPRTN

'-----..I

IKJEFLGB

IKJEFLB
LOGON
Scheduler

~

r------,
L_!'"£ __ ..J

IKJEFLC
LOGON
Monitor

ATTAC~
,

~BENr:
--

1--------1

IKJEFLG
Attention
Processor

-

A ttenti on I nterru pt

J

LOGON
monitor and
issue WAIT.

ESTAI
Recovery
and Retry

-

"'

IKJEFLGH
Message -text

(From Part 2)

IKJEFLPA

IKJEFLL
CALL
• For
LOGOFF or
rp.·LOGON
only.

LOGOFF
Processor

J

• For
LOGON,
re-LOGON,
or LOGOFF.

-

B

CALL
."'
,.

CALL

--

,....

Time and
Date
Processor

...

IKJEFLE

CALL

~

IKJEFLEA

..

Parse/Scan
Interface

,

,~

IKJEFLI

______X_C_T_L_-1. Terminate
and return
to STC.

POST

LOGON/
LOGOFF
Verifi cation

,I

"'

• For
LOGOFF
only - issue
POST to
terminate
scheduler.

CALL

--

0#

."'

• Schedule
terminal
session.

-

~

• For LOGON
or re-LOGON
only - issue
POST to
schedule
terminal
session
and call
IKJEFLH.

(To Part 2)

6-34

- -.

IKJEFLH

CALL

POST

LOGON Scheduling Module Flow (Part 1 of 2)

OS/VS2 System Logic Library Volume 6 (VS2 Release 3.7)

Installation
Exit
Interface

..

,.

IKJEFLPA
CALL

Figure 3-9.

---

-

LOGON
Information

~TTAC~

I--R_ou_t....in_e_ _....

~POST/WAIT

o
(To Part 2)

..

Time and
Date
Processor

,.

I

r-- -

---,

LlSTBC

JI

L____ _

(To Part 1)

(From Part 1)

, - - --,
• Schedule
terminal
session.

XCTL

I

IEESB605
Job
Scheduling
Subrouti ne

•

Issue POST to terminate
LOGON information routine.
Issue WAIT for termination.

I
I

I

IKJEFLJ

I

Pre-TMP
Exit

~-----tl CALL
IEFSD263

(See "Job
Scheduling")

•

I
I

I
I

I
I~--~
Terminal
I ATTACH I M onl'tor
1-- .___--41

I
I ---1"'~1 Program
II
I • Terminate
.
I
I follOWing I
I
LOGON or
Ie
I LOGOFF I

~

I--lb..
__ _
~

TCAM ...-

1-.

(To Part 1)

I
I

I

I
~--~

• Re-attach
IKJEFLC to
process
re-LOGON
or LOGOFF
oommand
from
terminal.

L~m~nd .

..J

IKJEFLK
Post-TMP
Exit

I

I
L ___ ---.J

Legend:
r----------,
Dashed -line boxes surround
I

I
I

IL

routines that are not
documented with the LOGON
modules.

I

I
_ _ _ _ _ _ _ ---.J .

Figure 3-9. LOGON Scheduling Module Flow (Part 2 of 2)

Section 3: Program Organization

6-35

VS2.03.807

fL~~~N~ll
__J
Issuer

BAL

IRARMRMR
Resource
Monitor

BAL

IRARMCPM
CPU
Management

BAL

IRARMIOM
I/O
Management

BAL or SVC

IRARMCTL
SRM
Control

IRARMINT
SRM
Interface
BAL

ABEND
(via RTM)
IRARMERR
Functional
Recovery

BAL

BAL

BAL

IRARMEVT
SYSEVENT
Routers
and
Processors

~equestedl
Service
I
LRout~---1

BAL

IRARMSTM
Storage
Management

r--j

I

MF/1

L_

f-!-~D

-.J
BAL

Workload
Activity
Recording

IRARMWLM
Workload
Management

Legend:

, DaS~ed-l~bO:;S;;u~1
routines that are not
II documented
with the SRM
I
L.:odules,_ _ _ _ _ _

Figure 3-10. System Resources Manager (SRM) Mainline Processing Module Flow

6-36

OS/VS2 System Logic Library Volume 6 (VS2.03.807)

J

VS2.03.807

Set IPS Processing

r-setI

L

--,

Command

~o~s~

,-

I
BAL
......-----.,.~~I

I•

L

..J

--l

IEEMB812
Set IPS

Process~ ~

-- -

BAL

IRARMIPS
Read IPS

- - __ L04D
__

S)_

-- -- -- --

t-

~rl>(

IRARMSET
Set to
New IPS

BAL

Set Domain Processing

r ~0403D I

I

I

Command.

BAL

L ~~ _ ---1

r

I
~

IEE8603D
SETDMN
Command

I
I~

L Process~ .J

BAL

I
..I
L

-E-O 3D
IE 50
Message
Module _

I

I

.J

Display Domain Processing

Legend:

Das~ed-line boxe~u~und II

I

L

"

routmes that are not
documented with the SRM
module:... _ _ _ _ _

I

-.J

Figure 3-10a. System Resources Manager (SRM) Command Processing Module Flow

Section 2: Method of Operation

6-36.1

6-36.2

OS/VS2 System Logic Library Volume 6 (VS2.03.807)

ST ART Command

..

EXEC Parameters

...

ESTAE
Routine
IRBMFMLN

ABEND
MFC
Mainline
(lRBMFMFC)

~
---------,1:lii0i _ _- y -_ _--.J -Partitioned Data Set

....
~ '-------~

OP C
d
ST
omman
(Optional)
Continue Termination

~

t

BAL

BAL

Syntax Analyzer
(lRBMFANL)

_

.

SVC

MFSTART
Mainline
(IGX00013)

Input Merge
(lRBMFINP)

L-----

~

continue
Termination

ESTAE
IRBMFDEA
SYNCH
STIMER
Timer
Event

Initialization
Mainline
(MFIMAINL)

ESTAE
Routine
IRBMFSDE

t

BAL

I

~

t

BAL

List Options
(MFLISTOP)

List of
Input
Options

ABEND _

4.

It

Data Control
(IRBMFDTA)

BAL
!
ABEND I"",,'--_ _ _----IT Continue
,11
Termination
Termination
Processor
IIRBMFTMA)

BAL

ABEND ..

FRR
IRBMFFUR

BAL
SVC

Initialization Routines

...
(lRBMFIOI)
(lRBMFICP)
(lRBMFIPG)
(lRBMFIWK)
(lRBMFIHA)
(lRBMFIDV)

lOS
CPU
Paging
Workload
Channel
Device
Used by:
IRBMFDTA
IRBMFINP
IRBMFRGM
IRBMFMFC
IRBMFMLN

t

CALL ..
~

Used by:
IRBMFMFC
IRBMFINP
IRBMFRGM

t
TCH Event

Interval MG Routines
CPU
Paging
Workload
Channel
Device

(lRBMFDCP)
(IRBMFDPP)
(lRBMFDWP)
(lRBMFDHP)
(lRBMFDDP)

(Console)
Message
Processor
(lRBMFMPR)

~

General Resource
Release
(\RBMFTRM)

ATTACH
Report
Generator
Control
(JRBMFRGM)
BAL

ESTAE
Routine
IRBMFSAR

+

ToRTM
Report Generator Routines

Dynamic
Allocation
Module
(\RBMFALL)

CALL

TOE Timer Event

lOS
I nitializationl
Termination Module
(\RBMFIOI)

MFDATA SVC
Processor
(lGX00014)

..

~

SMF
Records

.......

......

CPU
Paging
Workload
Channel
Device

(lRBMFRCR)
(lRBMFRPR)
(lRBMFRWR)
(IRBMFRHR)
(IRBMFRDR)

MFROUTER
SVC Processor
(IRBMFEVT)

.t

BAL

Event MG Routines
(This) CPU Channels (lRBMFECH)
(Other) CPU Channels (lRBMFTCH)
Devices (lRBMFEDV)

~1·=Output
Reports

Figure 3-11. System Activity Measurement Facility (MF /1) Module Flow

Section 3: Program Organization

6-37

From a system routine via the ...CII----------------,
IEFSSREO macro instruction
~

-l--l

r-I IEFJSREO
I Subsystem
I Interface

A

I
I

;n;;o~

I-(Pass;
I to one of 5
I master
subsystem
I routines,}

L-

I
Return to
system routine

-lBA~ ~

t

A

•

IEFJRASP

IEFJDSNA

IEFJJTRM

Subsystem
Determination

Common
Request Router

Data Set Name
Assignment

Subsystem Job
Termination

IEFJSDTN

•

+

It

Subsystem
Initiation

IEFJWTOM

IEFJJCLS

IEFJJOBS

-.. CALL

BALR

---..

JCL to JCLS
Conversion

CALL

Message
Writer

ATTAC..H~ -

JCLS to SWA
Converston

1

DETACH1
_
LINK

-

-

-,

I

Converter

(Passes control
to one of four
data movement
routines.)

I

I nterface

1-------1
L I~erpre~r _ .J

IEFJCDLT

---

...

~

BALR '--_ _ _ _--'

,-------A

I

Return to
system routine

I

i

--

-

-- ,

Dashed-line boxes indicate routines
that are not documented with the
master subsystem routmes.

L-

------ -

Figure 3·12. Master Subsystem Module Flow

6-38

Direct Write

CALL

IEFJREAD
Sequential
Read

IEFJWRTE

Storage
Deletion
Routine

I

Direct Read

IEFJDWRT'

Pseudo Access
Method
Control

~- - - ---.f4I SWA Create I

,I

CALL

~

IEFJACTL

IEFJCNTL

- -

IEFJDIRD

OS/VS2 System Logic Library Volume 6 (VS2 Release 3.7)

---

I
I
I
I

....J

Sequential
Write

YS2.03.804

From I EFSD263 via
ATTACH
ENTRY

via
I EFSSREQ
macro

IEFIIC

IEFJSREQ
Subsystem Job Select
or Re-enqueue

Initiator Interface

JEFSD160 is entered
via LINK from IEESB605 for START,
MOUNT, LOGON commands,
via ATTACH from IEEVIPL for master
scheduler initialization,
via branch from IEFIIC.

via
branch

IEFSD160

I EFDSTBL

r------~

Data Set Tree Builder

Initiator Initialization
From
To request and process
Part 2
I-_v_ia_b_ra_n_c_h___a_n_o_th_e_r...:.j_ob
_ _ _ _ _ _ _ _ _ _ _-J~ via branch

A
To
Part 2

B

~--------------------------~

~

v;a branch

via
BALR

I EFSD161

For warmstart
processing

-

Job Select

I EFDSLST

..

Data Set Enqueue
Parameter List Builder

To begin another step

From Part 2

via
BALR

via branch
When IEFJSREQ
indicates STOP processing

EXIT

IEFICPUA

...

Assign CPU Task
Affinity

Step Initiation

1---------1
,
IEFSMFIE
SMF Exit Caller

-

IEFSD1Q1

via BALR

_

PPT Scan
via branch
IEFSD102

IEFXB604

Writer Header Record
to Job Journal

via
~ BALR

Data Set Enqueue

--

via branch

IEFSD162

I EFIMASK

...

Allocation Interface
via branch

via
BALR

IEFSD103

Journal Write Routine

- I

Bit Mask Converter

I
I

I

I
I

I
I

I

via
IEFSSREQ
macro

I EFJSREQ
Notify Subsystem of
Step Initialization

via
BALR

~-

IEFW21SD
~

I

...

IEFXB500

via
BALR

~~--~--------~

~----,--~

t-----------I

i

Device Allocation

I

I
I

I
I

via
BALR

I
ATTACH Interface
I
L ____ +- ____ J

..

IEFICATL
OPEN Catalog
Interface

via B.A.LR

, via branch
IEFAB820

IEFAB4F5

IEFSD263
via BALR

SMF TCTIOT
Construction Interface

OPEN Private
Catalogs
~-----------------~

Initiator ATTACH
To Part 2

Figure 3-13. Initiator/Terminator Module Flow (Part 1 of 2)

Section 3: Program Organization

6-39

VS2.03.804

Termination Processing
From
Part 1

B
For warmstart processing, for deletion of
step when processing has completed, or
for an allocation or OPEN catalog error

,

via branch

IEFSD164

IEFBB410
via BALR

...

Unallocationl Initiator
Interface

Step Delete

To begin another step

,

...

C

To Part 1

via branch

IEFSD166

via IEFSSREQ macro

Job Delete and Suspend

.

IEFJSREQ
Job Termination or
Re-enqueue

For normal termination or
warmstart or restart processing.

1

~ another job

To request and process

To Part 1

Recovery Processing

From Recovery
Termination Manager

From Recovery
Termination Manager

,
IEFIB620

IEFIB621

ESTAE Exit Routine

ESTAE Retry Routine

IEFIB620 always returns to
RTM indicating whether or
not RTM should invoke
IEFIB621 for retry.
To Step and Job
Deletion,IEFSD164

Figure 3-13. Initiator/Terminator Module Flow (part 2 of 2)

6-40

System Logic Library Volume 6 (VS2.03.804)

IEFI922B
via CALL
Build Error Interface

From IEFSD263 via
ATTACH
ENTRY

via
I EFSSREQ
macro

IEFIIC

IEFJSREQ
-""
~

Initiator Interface

IEFSD160 is entered
via LINK from IEESB605 for START,
MOUNT, LOGON commands,
via ATTACH from IEEVIPL for master
scheduler initialization,
via branch from IEFIIC.

via
branch

IEFSD160

..

via branch

To request and process
another job

..

A
To
Part 2

B

-

C

From Part 2

via branch
via
BALR

IEFSD161

For warmsta rt
processing

..

~

Job Select
via branch

..

To begin another step

~

1----IEFSMFI E
via BALR

..

SMF Exit Caller

via

via branch

IEFSD162

""

via branch
IEFSD103

Journal Write Routine

ATTACH Interface

via
BALR

I

I
I

via
IEFSSREQ
macro

I
I
I

SMF TCTIOT
Construction Interface

"'

-

...

Initiator ATTACH

Notify Subsystem of
Step Initialization

I

I

via
LINK

I

...

...

IEFW21SD
Device Allocation

I

I
I

I
I

via
BALR

...

IEF ICATL
OPEN Catalog
Interface

I

I

via LINK

IEFAB4F5

IEFSD263
via BALR

Bit Mask Converter

IEFJSREQ

-""
~

L----~i--..--J
via branch
IEFAB820

Assign CPU Task
Affinity

IEFIMASK

""

1

I

Allocation Interface

via
BALR

IEFXB500

~

"'

~

I

IEFSD10l

Data Set Enqueue

"'

IEFICPUA

...

----I

IEFSD102

Writer Header Record
to Job Journal

Data Set Enqueue
Parameter List Builder

Step Initiation

PPT Scan

~ BALR

via
BALR

via branch

via branch

IEFXB604

IEFDSLST

_

When IEFJSREQ
indicates STOP processing
EXIT

IEFDSTBL
Data Set Tree Builder

Initiator Initialization

From
Part 2

Subsystem Job Select
or Re-enqueue

~

OPEN Private
Catalogs

To Part 2

Figure 3-13. Initiator/Terminator Module Flow (Part 1 of 2)

Section 3: Program Organization

6-39

VS2.03.807

Termination Processing
From
Part 1

B
For warmstart processing, for deletion of
step when processing has completed, or
for an allocation or OPEN catalog error

via branch
IEFSD164
Step Delete

--

IEFBB410

...

via BALR

Unallocation/lnitiator
Interface

To begin another step

... C

To Part 1

via branch
~

IEFSD166
Job Delete and Suspend

~

-

--

via IEFSSREO macro

IEFJSREO

...

Job Termination or
Re-enqueue

via BALR

For normal termination or
warmstart or restart processing.

ILRJTERM

To request and process
another job

...

Clean Up via Data
Set Control Blocks.

To Part 1

Recovery Processing

F rom Recovery
Termination Manager

From Recovery
Termination Manager

,

It

IEFIB621

IEFIB620

IEFI922B
via CALL

...

~

ESTAE Exit Routine

ESTAE Retry Routine

IEF IB620 always returns to
RTM indicating whether or
not RTM should invoke
I EF IB621 for retry.

't

To Step and Job
Deletion,IEFSD164

Figure 3-13. Initiator/Terminator Module Flow (Part 2 of 2)

6-40

OS/VS2 System Logic Library Volume 6 (VS2.03.807)

Build Error Interface

From Master Subsystem
or Job Entry Subsystem
via LINK

via LINK

foralljob~

J

"

r - - -

-

-

_ .. ~~B90~ _

I
L

--,

Note:
The Interpreter is not part of SWA
Create Interface processing

-....J
I
Interpreter
_ _ _ _ _ _ _ --l

r
IEFIB600
I nitiatorlSubsystem
SWA Interface

IEFXB601

via CALL
oL

"

""

via CALL
for
restarted
jobs
"-

..

IEFIB605

~

SWA Reconstruction

"

-'"
~

SWA Merge

...
IEFXB609

via CALL

...

....

Data Set Descriptor
Record Processor

Recovery Processing
From Master Subsystem or
Job Entry Subsystem
via LINK
~

,
IEFIB600
In itiatorlSubsystem
SWA Interface

via ESTAE in
_ case of an error
~

..

Recovery/Termination
Manager

""

IEFIB645

...

SWA Create Exit
Routines

To attempt retry return to
caller; otherwise to RITM.

JI'

I

Return

Figure 3-14. SWA Create Interface Module Flow

Section 3: Program Organization

6-41

F rom the Job Entry Subsystem
or
from the Master Subsystem
Service Routines

t

(From Part 2)

Y

1
IEFVIND
In-stream
Procedure
De co mpressi on
Interface Routine

-

IEFVGM

IEFVH1
Converter
Initialization
Routine

via
branch

.

t

t

-..

IEZDCODE

via branch
if comment
received

GET
Routine,
Converter

~

IEFVHQ
via
BALR

IEFVHC

(To
Part 2)

+via branch

!

For continuation
expected

Fa, no eontinu.-

tion expected

IEFVHCB
~

~

SWA
Manager
Interface

IEFVHR
via
branch

Comment or
Continuation
Validation

Decompression
Routine

3

~

Operator
Message
Module

via branch

~ via branch

vi. branch

Message
Module

...

IEFVHA
via DCBREAD

~

For JOB, EXEC, DO
via branch

(To
Part 2)

IEFVHEB
"

Verb
Identifier

rev

2

-

Pre-scan
Routine

~

E

"

For NUL.L
via branch

IEFVHL
~

NULL
sta temen t or
EO F processor

via
branch

For PROC
LIBRARY still
being read
For JCL
statement
in PROC

"

1

"

2

~

EOF on PROC;
more JCL

3

EOF on PRoe
and JCL

~

~.
(To Part 2)

;

:

In -stream
procedure
control and
GET routine
It

via branch

"

For next
statement

It

IEFVINE

IIEFVINC

IEFVINB

Record
Compression
Routine

In -stream
Procedure
Syntax Check
Routine

In-stream
Procedure
Directory
Build Routine

In-stream
Procedure
Directory Search
Routine

OS/VS2 System Logic Library Volume 6 (VS2 Release 3.7)

C
(To
Part 2)

IEZNCODE

Figule 3-J5. Converter Module Flow (part 1 of 2)

6-42

..

IEFVINA

For PROC
via branch

.

1

(From Part 1)

For unrecognizable
verb (possible
command)
via branch

IEFVHM
Command
Verb
Validation

via branch

(To Part 2)
when no verb is found

(From
Part 1)

via branch

IEFVFA

IEFVFB
via branch

via branch

Symbolic
Parameter
Processor

Scan Routine
(From
Part 1)
via branch

To Job Entry Subsystem
to process subsystem
data sets

(From
Part 1)

IEFUJV
SMF User
Exit
Routine

via branch

IEFVHF
Post-scan
Routine
(Termination)

via branch
via branch

To read next JCL card

(To Part 1)

via branch
To Job Entry Subsystem

Figure 3-15. Converter Module Flow (part 2 of 2)

Section 3: Program Organization

6-43

From SWA
Create
Interface or JES3
via LINK
Service Routines
IEFNB903
Interpreter
. Initialization
Routine

..

.

IEFVHQ
SWA
Manager
Interface

Service Routines

IEFVHR

IEFVGK

Operator
Message
Module

"
via branch

..

GET
Key/Positional
Utility Routine

IEFVGM

.

"

IEFVGT

Message
Module

- -

n

IEFVHE
Interpreter
GET and Route
Routine

For JOB
_ via branch

-

via branch

.

Dictionary
Search
Routine

-

IEFVDA

...
~

"

-

Dictionary
Entry
Routine
IEFVGS'

EXECUTE
Statement
Processor

-via branch

....-

~

IEFVEA

For EXEC
_ via branch

For DO
.- via branch

IEFVGI

IEFVJA
JOB
Statement
Processor

DD
Statement
Processor

Test and
Store Utility
Routine

IEFVDBSD

-

via branch

DSENQ
Table
Processor

~

IEFNB901
via branch
r

JCL EOP
_ via branch
...-

IEFVHH
ENQUEUE
Routine

It

IEFVHN
Interpreter
Termination
Routine

Via b:'anch
to caller

Figure 3·16. Interpreter Module Flow

6·44

OS/VS2 SY!item Logic Library Volume 6 (VS2 Release 3.7)

IEFUJV

~

SMF User
Exit Routine

Data Management
Interpreter Exit
Routine

• From
or
or
or
or
or

IEFAB4FF
IEFAB4F7
IEFIB621
IEFICATL
Scheduler Restart
Scheduler SMF

via Macro SWAREO

IEFOB555
SWA Manager Locate
Mode Functions

Return to Caller

* From I EFSD162
or IEFSD164
or Schedu ler SM F
via old interfaces:
IEFOMLK1
IEFOMSSS
·IEFOMRAW
IEFOBVMS
IEFOAGST
IEFOASGN
IEFOASGO
IEFODELE
IEFODELO

* From I EFSD161
or IEFSD166
or IEFVHO
or Scheduler Restart

From Data Management
Routines

via Macro I EFOMR EO

via Macro OMNGRIO

via BALR

It

IEFOB580
via BALR
OMNGR 10 Macro
Interface Handler

..

°IEFOB550
SWA Manager Move
Mode Functions

via Branch
~

IEFOB585
SWA Manager Interface
Module

Return to Caller

Note:
* This list is not inclusive; it represents some scheduler rout!i18S and
components that frequently use SWA manager routines.

Figure 3-17. SWA Manager Module Flow

Section 3: Program Organization

6-45

Allocation/Unallocation Module Flow
Module flow for AUocation/Unallocation is illustrated in several module flowcharts.
Each flowchart is titled according to the major module it represents; they are
arranged in alphabetic order, according to the mod ule name. Two overviews are
included to illustrate the processing hierarchy of the module flowcharts: an overview of batch and dynamic module flowcharts; and an overview of common
allocation module flowcharts.

6-46

OS!VS2 System Logic Library Volume 6 (VS2 Release 3.7)

Batch
Allocation/Unallocation
Module Flowcharts

IEFBB401Initiator/
Allocation
Interface

I

I
IEFAB454DO Function
Control

I

I

I

IEFAB451JFCB
Housekeeping
Control

Dynamic
Allocation/Unallocation
Module Flowcharts

I

IEFDB400SVC99
Control

IEFBB410Initiator/
Unallocation
Interface

j

I
IEFAB421Common
Allocation
Control

IEFAB4AOCommon
Unallocation
Control

IEFAB469JLOCATE

I

IEFDB410Dynamic
Allocation
Control

IEFDB4AODynamic
Unallocation
Control

I

(see common
allocation module
flow overview)

I

I

IEFAB451JFCB
Housekeeping
Control

I
/

IEFAB454DO Function
Control

I

I
IEFAB421Common
Allocation
Control

I
IEFAB4AOCommon
Unallocation
Control

(see common
allocation module
flow overview)

I
Notes:
Shaded parts of the diagram illustrate the areas of
allocation common to both batch and dynamic
allocation.
The module flowcharts are arranged in alphabetic
order. This overview is intended to illustrate the
hierarchy of the flowcharts; it does not indicate
calling sequence between modules.

IEFAB469JLOCATE

Figure 3-1S. Batch and Dynamic A11ocation/Unallocation Module Flow Overview

Section 3: Program Organization

6-47

IEFAB421Common
Allocation
Control

I

I

IEFAB434Allocate
Request to
Unit

IEFAB436Nonspecific
Volume
Allocation
Control

I
IEFAB471Generic
Allocation
Control

IEFAB491Wait
Holding
Resources

IEFAB485Recovery
Allocation

IEFAB490Common
Allocation
Cleanup

1
I

IEFAB434Allocate
Request to
Unit

I
IEFAB434Allocate
Request to
Unit

IEFAB479 Demand
Allocation

I
IEFAB4AOCommon
Unallocation
Control

I
IEFAB434Allocate
Request to
Unit

I
IEFAB436Nonspecific
Volume
Allocation
Control

I

I

I

IEFAB479Demand
Allocation

IEFAB476Allocation
via
Algorithm

I

I

I

IEFAB434Allocate
Request to
Unit

Note: The module flowcharts are arranged in alphabetic order.
This overview is intended to illustrate the hierarchy of the
flowcharts; it does not indicate calling sequence between modules.

Figure 3-19. Common Allocation Module Flow Overview

6-48

OS/VS2 System Logic Library Volume 6 (VS2 Release 3.7)

IEFAB493VM&V
Control

IEFAB421Common
Allocation
Control

IEFAB486Offline/Allocated
Device
Allocation

IEFAB4AOCommon
Unallocation
Control

I
IEFAB4AOCommon
Unallocation
Control

IEFAB434Allocate
Request to
Unit

(

ENTRY

+

\

~
f\

IEAFB477 (See module description for callers of I EFAB477)
IEFAB490 - Common Allocation Cleanup.
IEFAB492 (See IEFAB490 - Common Allocation Cleanup)

:~~:::~:

} (See IEFBB410 - Initiator/Unallocation Interface)

IEFDB4A1 (See IEFDB4AO - Dynamic Unallocation Control)
IEFDB413 }
"
IEFDB418 (See IEFDB410 - Dynamic Allocation Control)

IEFAB4AO
Common Unallocation
Control
IEFAB4A2
Process data set
dispositions.

---

......

Disposition Processing
Process non-subsystem
data sets; build volume
list.
If volume list successfully built:
~
• process KEEP and
PASS, build message.

IEFAB428

~

r.--

IEFAB4A3

..

• build dummy ETIOT,
\-if necessary.
• process DELETE;
bui Id message:
1 . when data set
deleted
2. wben all or part
~
of data set not
deleted.

Special Scratch
Processing

~

IEFAB4FC
~

-.-

• process CATLG;
build message.

~

IEFAB4BO

-

• process UNCATLG;
build message.

Disposition Message
Routine

Build/Update
DSAB/TIOT

- ....

...

TIOT Manager
Control Routine

IEFAB4FD
System Message
Interface Routine

If volume list not
successfully built:
• process DE LETE
(tape only),
KEEP, PASS, and
UNCATLG.
• if other disposition
specified, build
error message.
Process subsystem
data sets.

..

-- -...

....

Unallocate Private
Catalogs

6

Alternate Disposition
Message Routine

- --

IEFAB4FD
System Message
Interface Routine

~

IEFAB4BO

--

_.

IEFAB4F4
Unallocate private
catalogs (batch only)

IEFAB4B2

Disposition Message
Routine

IEFAB4FD

,

...

System Message
Interface Routine

IEFDB400

--

....

...

-'"

SVC 99 Control

'I\.

See I EFDB400 SVC 99 Control

IEFAB4EF

L-.

PCCB Routine

Note: All modules receive control by means
of a CALL instruction in PLS, which generates
a BALR instruction in assembler language.

Figure 3-20. IEFAB4AO - Common Unallocation Control (Part 1 of 2)

Section 3: Program Organization

6-49

VS2.03.804

r--1-1
IEFA.B4AO

1

(continuedi

R~~lea~,p' data sets no

!ongf>r needed by the

.

IEFAB4A6

j

f-4-

Data Set Release

job

Read data set enqueue
table.

IEFAB4F7
SWA Manager
Interface

Write updated data set
enqueue table.
L--______________

I

Ii.-

Unslinc;.tp. units.

IEFAB4A4

.

I

~

Unit Unallocation

~

II
I

I
II

Locate volume unload
table:
.. if found, read it
.. if not found, obtain
space for it.

I

I
I
I

f-!I-

IEFAB4F7

f-+o

Fill in volume unload
table:
• obtain more space,
if necessary.

I

r-SWA Manager
Interface

~

!

Unallocate unit; if
tape, rewind or
unload if necessary.

-.. -..

IEFAB49C
Unload Interface

--

-..

IEFAB493
VM&V Control
.~

I

I

Notify queue manager
of unallocations.

I

--.. .-

IEFAB4FA
Allocation Queue
Manager

"
IEFAB494
Unload Control

I

Write volume unload
table.

I

I
Role." volumo, no
long" ,,"d8d by st.p.

nec('<.~.ary,

Rele.," DSASs ,nd.
if

TIOl

entries.

I
j

PCI'

runn

..-

..-

r-

IEFAB4A8

I

I

Volume Release

~

~"·-"--~L_.~IOT

IEFAB4FC
Manager

_

-'EEAB401

.

--.,

~.------'---;
WTP PUT

(~!~~~~~~1r~-'~=~) to caller
FigUfP. 3le unit, if
possible.

- ..
~

Allocate Request
to Unit

Allocate Request to Unit

Allocation Queue
Manager

Cover/Reduce
Algorithm

6

*checks with System Resources Manager
and MSS Mount Equalization

Figure 3-31. IEFAB486 - Offline/Allocated DeviceAliocation (Part 2 of 4)

6-68

. . . ~ See IEFAB434-

IEFAB480

~
~

IEFAB4FA

OS/VS2 System Logic Library Volume 6 (VS2 Release 3.7)

IEFAB486
(continued)
If offline/allocated
devices are needed,
interface with operator.

IEFAB48i
Allocation Recovery
Interface with Operator

0-

Issue header message.

~

If need specific unit or
volume:
• build message for
operator .
• issue message and
process operator's
reply.

~

If operator's reply was
WAIT, query operator
for type of wait.

Compres:; Blanks from
Mes~'lgc

~

'----w,~_.

-

If request cancelled,
return to caller.
Process all remaining
unallocated requests.

IEFAB4F3

IEFAB48A
""

Process Offl ines/
Allocateds
IEFAB4F3

For each request:
• Build header message.

-

Compress Blanks from
Message.

It

1
• If request needs offline or allocated
device, issue message
and process operator's
reply.

I

-

Ir

.

IEFAB488
Allocation
Recovery Reply
Build and issue reply
options message.

If reply was wait for
a nonspecific unit,
choose device group
to wait for.

IEFAB4F3

--- --

Compress Blanks from
Message.

IEFAB480

---

.

Cover/Reduce
AISlorithm

~

2
Allocate devices that
have become available
(online).

-3

Figure 3-31. IEFAB486 - Offline/Allocated Device Allocation (Part 3 of 4)

Section 3: Program Organization

6-69

2

3

,
IEFAB487
(continued)

IEFAB48A
(continued)
• If request is not
allocated but is not
eligible to an offline
or allocated device,
try to allocate it to an
available device.

IEFAB489

-

~ Recovery Allocation
of Online Devices

-..

Try to allocate demand
requests

- -.

\

~

See IEFAB434Allocate Request to Uni

Try to allocate nondemand requests:

If operator's reply was
WAIT, query operator
for type of wait.

IEFAB4F3
Compress Blanks
from Message.

IEFAB434
Allocate Request to
Unit

IEFAB440

• Choose unit to
allocate*

--

-..

Build Allocated UCB
List

• Allocate unit

--- -..

Allocate Request to
Unit

IEFAB434

'"

See IE F AB434Allocate Request to Unit

• Update algorithm
tables.

*checks with System Resources Manager
and MSS Mount Equalization

Figure 3-31. IEF AB486 - Offline/Allocated Device Allocation (Part 4 of 4)

6-70

OS/VS2 System Logic Library Volume 6 (VS2 Release 3.7)

--

-..

IEFAB480
Cover/Reduce
Algorithm

(

ENTRY) from IEFAB421 - Common Allocation Control

2. All modules receive control by means of a CALL
instruction in PLS, which generates a BALR
instruction in assembler language.

IEFAB490
Common Allocation
Cleanup
If allocation to be
reattempted,
unallocate allocated
requests.

Notes:
1. An error in any routine causes return to the calling
routine.

IEFAB4AO

Lr

Common Unallocation
Control

i'J'.

See I EFAB4AO - Common
Unallocation Control

'----------'

IEFAB4F3
~

If all requests
satisfied:
• Issue message(s),
if storage volume
request(s) changed
to private.

Compress Blanks from
Message

f.+IEFAB4FD
---.

System Message
Interface Routine

IEFAB492
• Mount and verify
volumes.

-

Allocation/VM& V
Interface
Mount all volumes
and verify nonspecific
direct access volumes.

IEFAB493

-

-

~

For each nonspecific
direct access volume:
• Enqueue on
volume.

VM&V Control

,~

See I EFAB493 VM&V Control

IEFAB4FO

-"

-

~

Conditional
ENQ/DEQ Routine

IEFAB4AO
• If DADSM error,
delete any data sets
just allocated to
this volume and
dequeue from
volume.

• If volume can't be
used, unload it and
mount and verify
new volume.

U-

L.

Common
-.
N' See IEFAB4AOUnallocation Control
Common Unallocation Control

IEFAB4FO
Conditional
ENQ/DEQ Routine

IEFAB493

-

~

VM&V Control

'li'

See IEFAB493VM&V Control

6
Figure 3-32. IEFAB490 - Common Allocation Cleanup (Part 1 of 2)

Section 3: Program Organization

6-71

?

?

IEFAB492
(continued)

IEFAB490
(continued)

Release device groups.

Verify WTOR tape
volume requests and
specific direct access
requests.
• If a non-recoverable
DADSM error
occurred processing
non-specific requests,
DOM mount
messages and free
mount control
blocks.

IEFAB4FA
.....

,-

Allocation Queue
Manager

IEFAB493

-

.....

...
VM& V Control

IEFAB49A

,

~

DOMR and Cleanup

IEFAB4F3
~

IEFAB4EE
• Build and issue
allocation messages.

~

-

Allocation Message
Routine

Compress Blanks
from Message

...IEFAB4FD
~

System Message
Interface Routine

If allocation to be
reattempted (retry):
• release device groups

f+-

• wait for needed
units to be
unallocated.

~

If error, success, or
retry, terminate queue
manager function.

~

IEFAB4FA

~

Allocation Queue
Manager

IEFAB421
If allocation to be
reattempted (retry),
call Common
Allocation Control.

-

Common Allocation ....
Control

N' See I EFAB421 -

Common Allocation Control

r

(

RETURN

)

to caller

Figure 3-32. IEFAB490 - Common Allocation Cleanup (Part 2 of 2)

6-72

OS/VS2 System Logic Library Volume 6 (VS2 Release 3.7)

See IEFAB493VM&V Control

IEFAB498
MVCA Chain
Processor

ENTRY

from I EFAB421 -Common Allocation Control

Notes:

~

1. An error in any routine causes return
to the calling routine.
2. All modules receive control by means of
a CALL instruction in PLS, which generates
a BALR instruction in assembler language.

IEFAB491
Wait Holding Resources
~ Allow other allocations

that cannot wait for devices to consider the
device groups serialized
for this allocation.

r+IEFAB4FA

Wait for needed
devices.

-

--

If a unit becomes
available, prevent other
allocations from using
the device groups
serialized for this
allocation.

• ca II Demand
Allocation

IEFAB4EO
Test if Device is
Ready

r+IEFAB49C
Unload
Interface

r+-

Attempt to allocate
demand (specific unit)
requests:
• unload needed
volume, if necessary

Allocation Queue
Manager

~

-

..

1

IEFAB494

IEFAB493

- -.

-

VM&V
Control

~

IEFAB479
Demand Allocation

IEFAB499
VM&V WTO/R
Format Con.trol

'~See IEFAB479 Demand Allocation

Attempt to allor.ate
non-demand requests:

Volume Unload
Control

IEFAB480

• Determine if
enough units are
now available to
satisfy outstanding
requests.

-- -

• If requests can now
be satisfied, allocate
them.
• If requests cannot
yet be satisfied,
determine if they
can still be satisfied
by considering allocated units.

-

-..

-

..

"'

Cover/Reduce
Algorithm

IEFAB440
~

IEFAB478*
Allocate from
Groups the Algorithm Selected
IEFAB480

Build Allocated
UCB List

r---IEFAB434
~

Allocate Request
to Unit

Cover/Reduce
Algorithm

'~

See IEFAB434 - Allocate
Request to Unit

- If so, wait for
allocated devices

-..

- If not, return
to caller.
Release device groups
no longer needed.

~
RETURN

RETURN

--

to caller

..

IEFAB4FA
Allocation
Queue Manager

to caller

*checks with System Resources Manager and
MSS Mount Equalization

Figure 3-33. IEFAB491 - Wait Holding Resources

Section 3: Program Organization

6-73

ENTRY

from IEFAB492 (see IEFAB490 - Common Allocation Cleanup)
or I EFAB49C (see module description for callers of I EFAB49C)

IEFAB493
VM& V Control
If unload requests to
be processed, call
Unload Control.

If mount requests to
be processed, call
Mount Control.

IEFAB494

-

..

.-

..

-.

Volume Unload
Control

IEFAB495

IEFAB498
MVCA Chain
Processor

Add MVCA to 'chain,
if necessary.

Issue mount
messages.

- .-

- .
..

.
RETURN

IEFAB499
VM&V WTO/R
Format Routine

IEFAB496
.-

Verify Control

IEFAB498

Search MVCA chain to ..-.__
.I----;-~
locate correct MVCA.

C

IEFAB4EO
Test if Device is
Ready

Mount Control
Search MVCA chain
to locate correct
MVCA.

If mounts to be
verified, call Verify
Control.

IEFAB499
VM&V WTO/R
Format Routine

to caller

MVCA Chain
Processor

IEFAB499

If incorrect operator
reply to mount
message, issue invalid
reply message.

...

VM&VWTO/R
Format Routine

IEFAB49B
As mounts are como.
pleted, verify them,

...

Device End Post
Handler
If direct access
volume, read label.

If mounted volume
unacceptable, unload
it and mount a new'
volume.

Notes:

Perform cleanup.

1. An error in any routine causes
return to the calling routine.

--

-.

2. All modules receive control by
means of a CALL instruction in
PLS, which generates a BALR
instruction in assembler
language.

Figure 3-34. IEFAB493 - VM&V (Volume Mount and Verify) Control

6-74

OS!VS2 System Logic Library Volume 6 (VS2 Release 3.7)

IEFAB4F8

-..

..

.-

.

Direct Access
Label Read

IEFAB493

--

.

VM&V Control

IEFAB49A

IEFAB494

VM&V DOMR
and Cleanup

Volume Unload
Control

IEFAB498

IEFAB499

MVCA Chain
Processor

VM&V WTO/WTOR
Format Routine

(

,

ENTRY

Notes:

from Initiator

1. An error in any routine causes return
to the calling routine.
2. All modules receive control by means
of a CALL instruction in PLS, which
generates a BA LR instruction in
assembler language.

IEFBB401
Initiator/ Allocation
Interface
Obtain and initialize
TIOT.

Obtain addresses of
SlOTs, JFCBs, and
JFCBXs and chain
together.

IEFAB4FC

-- -

TIOT Manager

IEFAB4F7

IEFAB4FE

~

SWA Reader
Interface

~

SWA Manager
Interface

IEFBB402
Process step condition
codes.

-- -

Step Condition
Code Processing

IEFAB4A6
If step to be bypassed,
release data sets.

~

Data Set
Release

IEFAB4F7

~

SWA Manager
Interface

........

IEFBB404
If step to be executed;
call step allocation
control.

~ Write SWA tables.

~ Step Allocation Control

f+-

,

IEFAB451

Set up tables for information retrieval.

~

JFCB Housekeeping Control

.........

!EFAB421

Call Common Allocation Control.

Common Allocation
Control

...... ~ See IEFAB451 JFCB Housekeeping Control

...... ~ See I EFAB421 -

Common Allocation Control

IEFAB4FC
Compress and re-order
TIOT.

~

TIOT Manager

IEFAB4F3
Remove blanks trom
DD-related error
messages.

~

Compress Blanks
from Message

IEFAB4FD
Issue DD-related error
messages.

l+o

~

System Message
Interface Routine

IEEAB400

~

WTP Buffer
Routine

t

IEFAB4F7

IEEAB401

SWA Manager
Interface

WTPPUT
Routine

Figure 3-35. IEFBB401 - Initiator/ Allocation' Interface (Part 1 of 2)

Section 3: Program Organization

6-75

,
IEFBB401
(continued)
IEFAB4F3

Remove blanks from
step-related error
messages.

-

Compress Blan ks
from Message

IEFAB4FD
Issue step-related error
messages.

-

System Message
I nterface Routine

-

IEEAB400

.

IEFAB401
Final Messagp.
Processing

WTPPUT
Routine

Ir

RETURN

to caller

Figure 3-35. IEFBB401 - Initiator/Allocation Interface (Part 2 of 2)

6-76

OS/VS2 System Logic Library Volume 6 (VS2 Release 3.7)

WTP Buffer
Routine

-

-

IEEAB401
WTPPUT
Routine

ENTRY

from Initiator

+

IEFBB410
Initiator IUnallocation
Interface
Obtain addresses of
SlOTs, JFCBs, and
JFCB extensions and
chai n together.

Determine if restart.

-

-.

--

...

IEFAB4FE
SWA Reader Interface

-

-

IEFAB4F3

IEFBB414
~

Step Unallocation

Call common unallocation control.

End-of-step processing:

SWA Manager Interface

Restart Preparation.

I f aII ocati on messages
were not requested, but
step abnormally
terminated, issue
messages.

• release TIOT.

IEFAB4F7

IEFRPREP

-- -.

Call step unallocation,
if any requests were
allocated to the step.

..- ..-

IEFAB4EE

..- .-

-

Build Allocation
Messages.

-

Common Unallocation
Control

...

IEFAB4FD
System Message
Interface Routine.

'~

See I EFAB4AO - Common
Unallocation Control

IEFAB4FC

...

~

IEFAB4AO

...

Compress Blanks from
Message.

TIOT Manager

IEFAB4F3
~ Compress Blanks from
Message .

• issue step status
messages.

-----

IEFAB4FD

~

Process job condition
codes.

-- ..

System Message
Interface Routine

IEEAB400

.

WTP Buffer Routine

WTP PUT Routine

2. All modules receive control by means of a
CALL instruction in PLS, which generates a
BALR instruction in assembler language.

6
Figure 3-36. IEFBB410 -

I EEAB401

Notes:
1 . An error in any routine causes return to the
calling routine.

IEFBB412
Job Condition Code
Processing

--.. -..

Initiato~/F

;lllocation Interface (Part 1 of 3)

Section 3: Program Organization

6-77

VS2.03.804

r-L
!

IEFBB410
(continued)

i

IEFAB4EB

I EFBB416

I

..

- -

"""

! : ~ i3<;t step or remaining

Job Unallocation
Get information for
unreceived passed data
sets.

to be bypassed,
job ul'lallocation.

j -;\";';$

S

POI Read and Chain

IEFAB4F7

..-

-

SWA Manager Interface

IEFAB4A2

IEFAB4F7
Obtain addresses of
SlOTs, JFCBs, and
JFCB extensions.

- ..-

~ Disposition Processing

SWA Manager Interface

.....

L

7
For called routines, see
occurrence of this module
on IEFAB4AO - Common
Unallocation Control.

IEFAB4AO
I

-- -..

Call common unallocati on control.

Perform volume cleanup:
• serialize on
groups to be
processed.

I

r

Common
Unallocation Control
Perform disposition
processi ng.

IEFAB4EC

lJ

Group Lock
Interface

-- ..

IEFAB4F7

~

-1.--- ...

IEFAB4UV
Unit Verification
Routine

IEFAB4FA

• process entries in
volume unload table.

~

Allocation Queue
Manager

SWA Manager Interface

I!

I
!

i

I
i

IEFAB49C

--- -..

• unload private
volumes; rewind
tapes.

Unload Interface

- .......

IEFAB493
VM&V Control

iI
I

!
i
i
!
i

r

IEFAB4F3

--- -..

Issue messages for
released volumes.

IEFAB494

Compress Blanks from
Message

~

.-

Unload Control

,

',

..

,

r"-1L.Ccr~l>}rr.$5

End·of-job processing'

I

•

1~511P'

job cc,,,pletion

n;."agp,

I

l'--'---'-'--T. .

Figme }. :t6.

6-78

L_'_._. _.- - - - -

A

JE}'B~'i i fl·

Test if Device is
Ready

Blanks from

fv1i-"f'\t:;;()p.

~ L. ._. _ ,,1.~~~: f~4 ~
I I
Mes~agp,

---._.--I

6

IEFAB4EO

IEFAB4F3

~

F __

~

Interface Routine

L.__.....__.__--'

initiator/linaUocatl(ln .nterfau.' (Part 2 of 3)

OS/VS2 System Logic Library Volume 6 (VS2.03.804)

r-t-

Message Format

IEEAB400

IEEAB401

VVTP Duffer Routine

VVTP PUT Routine

1---....

Systp.m

IEFAB499

7

IEFTB722

IEFBB410
(continued)

• write SMF records.

r-+'

...

--

I EFTB721
SMF Unallocation
Con trol R 0 uti ne.

Build SMF Unallocation Records.

~
IEFACTRT
.~

Perform cleanup:
• write updated
records

•

SMF User Exit

-- ..

IEFTB723 (IEFYS)
Process Job's
System Messages.

I EFAB4F7

...

--

SWA Manager
Interface

IEFAB4F3

If error in unallocation:
- write sysout
messages

r+

Compress Blanks from
Message.

~
IEFAB4FD

~

- issue messages to
operator.

Final message
processing

--

-.

--

..

System Message
Interface Routine

---

~

-

...

IEEAB400
WTP Buffer Routine

-- ..

IEEAB401
WTP PUT Routine

IEFAB4F3
Compress Blanks from
Message.

I EEAB401

-

WTP PUT Routine

,r

(

RETURN

to caller

Figure 3-36_ IEFBB410 - Initiator/Unallocation Interface (Part 3 of 3)

Section 3: Program Organization

6-79

(

ENTRY

)

from IEFDB400 - SVC 99 Control

Ir

IEFDB4AO
Dynamic Unallocation
Control

IEFDB4FF

Check syntax of param- .....
~f----;~.~
eter list.

Syntax Checker

IEFDB4FC

Search for DSAB:
• by ddname

Ddname Search

IEFDB4FA
• by dsname

If necessary, remove
in-use attribute.

If necessary,
deconcatenate.

Dsname Search

IEFDB481

..

.

Remove In-use
Process

IEFDB460*

..- .
-

Dynamic
Deconcatenation

_

Unallocation Processor
Call Common Unallocation Control.
I f necessary, read
first SlOT in SlOT
chain.

IF

e

I

IEFDB4A1

Perform unallocation
processing.

RETURN

~~

See occurrence of this module
on IEFDB400 - SVC 99 Control
for called routines

to caller

IEFAB4AO

fo4-

IEFAB4F7

Release SlOTs, JFCBs,
~
and JFCBXs for unallocated data sets, if they ~
were dynamically
allocated.
Write SM F Type
40 records.

Notes:
1. An error in any routine causes~.return to the
calling routine, except where noted.
2. All modules receive control by means of a
CALL instruction in PLS, which generates a
BALR instruction in assembler language.
* If the deconcatenation is unsuccessful,
IEFDB4AO will still unallocate other
occurrences of this data set, if it is a
multiply-allocated data set.

Figure 3-37. IEFDB4AO - Dynamic Unallocation Control

6-80

..

Common
Unallocation
Control

OS/VS2 System Logic Library Volume 6 (VS2 Release 3.7)

-

SWA Manager
Interface

IEFDB4F9
SMF Routine

::;;~ See IEFAB4AO -

Common
Unallocation Control

IEFDB4DO
OR
DAIR

Direct Call
of SVC 99

I

(

t
ENTRY

)

t

IEFDB400
SVC 99 Control
Obtain addresses of
SCT and JCT
Obtain addresses of
job's ACT and step's
ACT (account control
table)
Read and chain SlOTs,
JFCBs, and JFCB
extensions

D-

IEFAB4F7
SWA Manager
Interface

IEFAB4FE

IEFAB4F7

-

SWA Reader
Interface

SWA Manager
Interface

IEFDB401

(

,
RETURN
to caller

Call installation exit
to determine if request
is to be processed or
modified

-..

Installation Exit

If request not to be
processed, return.
If request to be
processed, call
appropriate routine:
• dynamic allocation

..

• dynamic
una Ilocati on

....-

IEFDB410

~ See IEFDB410 - Dynamic

Dynt(lmic Allocation '
Control
IEFDB4AO

-..

Dynamic Unallocation
Control

Allocation Control

~

See IEFDB4AO - Dynamic
Unallocation Control

6
Notes:
1.

An error in any routine causes return to
the calling routine.

2.

All modules receive control by means of
a CALL instruction in PLS, which generates
a BALR instruction in assembler language.

Figure 3-38. IEFDB400 - SVC 99 Control (Part 1 of 3)

Section 3: Program Ol8anization

6-81

7

IEFDB450
~

IEFDB400
(continued)

• dynamic
concatenation

Dynamic
Concatenation

IEFDB4FF

-

Check syntax of
parameter list .

f+-

Syntax Checker

IEFDB4FC
Search TIOT for
specified ddnames.

Ddname Search

IEFAB4FC
Re-order TIOT
entries.

TIOT Manager

.

Write updated
records.

Write SMF Type 40
records.
Invoke Change
DDNAME/JES3 exit

IEFDB460
• dynamic
deconcatenation

~

~

Dynamic
Deconcatenation

SWA Manager
Interface
IEFDB4F9
SMF Routine

IEFDB4FB
Change
DDNAME/JES3 Exit

IEFDB4FF

Check syntax of
parameter list.

Syntax Checker

Search TIOT for
ddname.

14-

Check that ddname
being restored is not
duplicated.

~

Write SMF Type 40
records.

IEFAB4F7

IEFDB4FC

r---

Ddname Search

IEFDB4F9
.-

SMF Routine

IEFDB470
• information
retrieval

Information Retrieval

IEFDB4FF

Check syntax of
parameter list.

Synt3x Checker

Search for data set
definition:

IEFDB4FC

• by ddname

Ddname Search

IEFDB4FA
• by dsname

6

IEFDB4FE
If DSORG requested,
retrieve it.

Figure 3-38. IEFDB400 - SVC 99 Control (Part 2 of 3)

6-82

Dsname Search

OS/VS2 System Logic Library Volume 6 (VS2 Release 3.7)

..

Obtain DSORG

7

IEFDB400
(continued)
• remove in -use
attribute

IEFDB480

....

IEFDB4FF

Remove In-Use
Check syntax of
parameter list.

Syntax Checker

IEFDB481
Remove In-Use Process
Remove the in-use
attribute.

Unallocate data sets
that were not defined
by means of &dsname,
that are not
permanently allocated
(for the duration of
the job or logon), and
that have a disposition
of DELETE.

IEFDB4A1
~

Unallocation Processor
/

7

See occurrence of this module on
IEFDB4AO - Dynamic Unallo cation Control for called routines.

IEFDB490
• ddname
allocation

.

Ddname Allocation

IEFDB4FF

Check syntax of
parameter list.

Syntax Checker

IEFDB4FC
Search TIOT for
ddname.

-

-'"

Ddname Seardl

IEFAB4F7
Write updated
records .

SWA Manager
Interface

•

RETURN
to caller

Figure 3-38. IEFDB400 - SVC 99 Control (Part 3 of 3)

Section 3: Program Organization

6-83'

(

ENTRY

from IEFDB400 - SVC 99 Control

Notes:
1 . An error in any routine causes return to
the calling routine.

llr

2. All modules receive control by means of a
CALL instruction in PLS, which generat es
a BALR instruction in assembler langua ge.

IEFDB410
Dynamic Allocation
Control

- --

Check validity of parameter list.
Check to see if existing
allocation can be used.
If existing allocation
can be used:

- ..

• obtain DSORG if
requested

• generate ddname if
necessary

-

• inform the JES3
subsystem of the
DDNAME change,
if necessary.

-

~

.
~

IEFDB412
Validity Checker

--

.

IEFDB4FF
Syntax Checker

IEFDB4FE
Obtain DSORG

IEFDB4FD
Ddname Generator

IEFDB4FC

--- -

Ddname Search

IEFDB4FB
Change
DDNAME/JES3
exit.
IEFDB411

--

• convert existing
allocation.

Convert Existing
Allocation
Change data set usage,
if necessary.

Update DCB subparameters in JFCB.

IEFAB4DC

- - ..

Data Set Reservation
Read data set enqueue
records.

IEFAB4F7

-- ...-

SWA Manager Interface

IEFDB417
JFCB DCB Update

IEFAB4E9
Update DSAB DCB
mask.

Inform the JES3
subsystem of a
DDNAME change,
if necessary.

H existing allocation cannot be used:
• If not-in use limit
exceeded, unallocate
another data set(s):
if the data set is in
concatena~ed group,
deconcatenate it;
Unallocate the data
set.

-- ..

IL

~O""'---------'

--

.-

-- ....

IEFDB4FB
Change
DDNAME/JES3
Exit.

IEFDB460
Dynamic
Deconcatenation

... ~ See occurrence of this module in IEFDB400SVC 99 Control for called routines

IEFDB4AO

~~
Dynamic Unallocation ..... ~
Control

See IEFDB4AO - Dynamic
Unallocation Control

Figure 3-39. IEFDB410 - Dynamic Allocation Control (Part 1 of 4)

6-84

Set DSAB DCB Mask

OS/VS2 System Logic Library Volume 6 (VS2 Release 3.7)

7

I EFDB41 0
(continued)

IEFDB4FD

• Generate ddname, if
necessary.

-

..

• I nform the J ES3
subsystem of the
DDNAME change,
if necessary.

.-

-

..-

r

Ddname Search

IEFDB4FB
Change
DDNAME/JES3
Exit.

- .

• Call normal
dynamic allocation.

~

Ddname Generator

IEFDB4FC

..

IEFDB414
IEFAB4F7

l'EFDB413

Build Tables

Normal l' " I ·U.!!,;
Allocation

Obtain space for SlOT
and JFCB,

-

...

Build tables,

-

If ddname was not
specified, generate
ddname,

SWA Manager Interface

IEFDB4FD

---

Ddname Generator

t

IEFDB4FC
j

If v.olume or DCB
reference to dsname
was specified:

II

• read dsname table
records

Ddname Search

f+-

-

• assign dsname table
record, if necessary

...

IEFAB4F7
SWA Manager Interface

• write updated
dsname table record, ~

I

If DCB reference to
ddname was specified,
find DSAB associated
with ddname.

-... ..-

Update DCB subparameters in JFCB.

- ..

IEFDB4FC
Ddname Search

IEFDB417
JFCB DCB Update

IEFAB4DC*
Reserve data set.

l

6

I

Data Set Reservation
Read data set enqueue
records.

r+-

Assign new data set
enqueue record, if
necessary.

~

--..

IEFAB4F7
SWA Manager Interface

*Note: If a data set enqueue record exists for
the data set as SHR, but this request specifies
exclusive, the record and type of enqueue is not
changed until the allocation is successfully
performed.

Figure 3-39. IEFDB410 - Dynamic Allocation Control (Part 2 of 4)

Section 3: Program Organization

6-85

y
,

,

IEFDB410
(continued)

IEFDB413
(continued)
Call JFCB HOllsekeeping Control.

Allocate the request.

If allocation successful,
rearrange TIOT entries,
if necessary.

IEFAB451

--

-

-

• catalog the data set,
if necessary

...... ~ See IEFAB451 - JFCB
Housekeeping Control

I EFAB421
~

Common Allocation
Control

.... ~ See IEFAB421 - Common
Allocation Control

IEFAB4.FC

-

TIOT Manager

IEFDB4FE

If no error:
• obtain DSORG, if
requested

JFCB Housekeeping Control

--

..
.-

Obtain DSORG

IEFAB4AO

IEFAB4A2

Common Unallocation
Control

Disl1osition Processing
J

1

6
Figure 3-39. IEFDB410 - Dynamic Allocation Control (Part 3 of 4)

6-86

OS/VS2 System Logic Library Volume 6 (VS2 Release 3.7)

For called routines, see
occurrence of this module
on IEFAB4AO - Common
Unallocation Control.

,.
IEFDB410
(continued)

7
,Ir

..- -

• change the data set
enqueue record and
type of enqueue, if
it existed SHR and
this request specified
exclusive

1,
RETURN

I EFDB413
(continued)

-..

-

IEFAB4DC
Data Set Reservation

- --

IEFAB4F7
SWA Manager Interface

to caller
IEFDB4F9
• update TCTIOT.

..--

---

SMF Routine

..

IEFDB4F8

...

SMF Allocation Control

IEFDB418
If error, call allocation
error processor.

-.. -

Allocation Error
Processor
IEFAB4AO
Call common unallocation if common
allocation was called.

- --

Common Un allocation
Control
I

'1
See IE FA B4AO - Common
Unallocation Control

If unallocation not
necessary or successful,
delete assigned records.

IEFAB4F7

- --

SWA Manager Interface

IEFAB4DC
Release data set, if
necessary.

---

.....

Data Set Reservation

t

IEFAB4F7
SWA Manager Interface

IEFAB4F7
Write any updated
records.

--

...

SWA Manager Interface

Figure 3-39. IEFDB410 - Dynamic Allocation Control (Part 4 of 4)

Section 3: Program Organization

6-87

cr00

00

otil

"- -

Signal waiting CPU

if
swapped
in

IEAVESCO

---

~

on LSMO.

I LSMO

SCHEDULE: move
ready SRBs to LSPL

IEAVEMSO

..

Indicate address space
switch

~

.. -

IEAVERP
Signal other CPU
~-------------~~

t empty

if
swapped
out

5. Choose an address
space.

t

SRM (CUTOPTE)

no work

6. Dispatch SRBs on
LSPL.

I

LSPL
,empty
7. Process local supervisor routi nes.

~

no local
supe.rvisor
routines

locally locked

~

~age
~

Execute task.

1-_ _ _ _-.1

~

fault
} lock suspension
task completion
.
interruption
re-enter dispatcher

---.!.ask wait

8. Dispatch ready tasks ~
unlocked
for address space.

Figure 3-46. Dispatcher and SCHEDULE Module Flow

Section 3: Program Organization

6-119

Exit Effectors (for asynchronous exits)

Caller
IEAVEFOO
• Issuer of CIRB macro ....._v_i_a_C_I_T_B___...

Stage 1 exit effector
(create IRB)

1--------------.. . . for CIRB entry

BR

or

IEAVEEXP

for BR entry
• Data management or
supervisor routine.

~

exit prolog

-

~~~-------------------------------------------~BR

-

IEAVEEF2
Stage 2 exit effector
(Add IOE, ROE, or
SRB to queue.)

~

,r

~.
.
The dispatcher receives
contro I
_ _ _ _ _ _ _ _ _ _ following an interruption or a
specific request for dispatching.
See chart for dispatcher.

IEAVEDSO
Dispatcher

----

~

IEAVEEEO

Stage 3 exit effector
(Complete scheduling of
asynchronous exit
request.)

-

-

-

-

For stage 3 recovery,
- - - see supervisor recovery
chart.
~

• Dispatch asynchronous exit

execute asynchronous exit

(

ENTER

) Branch Entry from
Memory Create, Memory
Delete, Swap, or System
Resource Manager

......--1---'

IEAVEACO
ASCBCHAP Mainline
ASCBCHAP
Processing
EXIT

Figure 3- 47. Supervisor Routines Module Flow (Part 1 of 2)

6-120

OS/VS2 System Logic Library Volume 6 (VS2 Release 3.7)

Servic~

To Caller, or to
Memory Switch

SETLOCK

(

caller
41'

r

)

via SET LOCK macro
IEAVTRTM

IEAVELK

-

Obtain

ACR Condition

or
SCHEDULE
release a

lo~k.

-.. -

Reschedule suspended
SRBs.

IEAVEMSO

...

IEAVERP

Address space switch
for suspended ASCBs.

-...

IEAVELKR
• Recovery via R/TM.

---...

SET LOCK Recovery

-

--

Notify waiting CPU

- \..
(

ABEND

- -E1PC chart.

)

PURGEDQ
(cancel SR Bs)
(

Issuer ot )
PURGEDO
.. via PURGEDO macro
IEAVEPDO

• Invalid parameters.

----~

-- ...
-

-

ABEND

)

IEAVSETS
Stop SRBs
Start SRBs

RMTR (Resource Mgt.
termination to clean
up SRBs.)

IEAVESCR
SCHEDULE Recovery

IEAVTRT1
• Unrecoverable error.

~--~

IEAVEPDR
IEAVSETS

R/T management

PURGEDO Recovery

Figure 3-47. Supervisor Routines Module Flow (Part 2 of 2)

Section 3: Program Organization

6-121

Error in a
supervisor
routine.
General Recovery
Service Routines

r---- ---- I
IEAVTRT1

I
I
I
I

IEAVELCR

Recovery /Termination
Management

Low-address refresh

Queue Verification

I

IEAVELKR
Lock refresh

IEAVEQVO

>- repair routines

IEAVECBV

I
I

Control Block
Verification

ASVT verification

• No FRRs on stack.

~

..

-

-

I

See other charts for individual
supervisor functions' recovery routines.

IEAVESPR
IEAVEEER
Supervisor F R R
• Set indicator for
type of recovery and
return.
• For dispatcher
recovery.

Stage 3 Exit
Effector Recovery
IEAVEDSR
Dispatcher Recovery

.......

or

IEAVESCR
SCHEDULE Recovery

Figure 3-48. Supervisor Control Recovery Module Flow (Part 1 of 2)

6-122

OS!VS2 System Logic Library Volume 6 (VS2 Release 3.7)

I

I
IEAVEADV
I
I
I Address Verification
I
I
L ____ --- ~

IEAVEVRR

Functional Recovery
~--l:~ Routine for a supervisor I- function.

I
I
I
I

I

• FRR is on stack.

I
I

,
IEAVESVR

IEAVTRT1

..

SVC F LI H Recovery

..
~

or
IEAVEIOR
I/O FLiH Recovery

--.

or
• Depending on type
of recovery indicated,
invoke appropriate
recovery routine, via
retry address.

IEAVERER

.

.

RESTART FLiH
Recovery

..

or

~

IEAVEE1R

.

IEAVEE2R
IEAVEE3R
External F LI H
Recovery
~(
~

or

ABEND

)

IEAVEPCR

..

Program Check F LI H
Recovery

.

or

..

ABEND task that
issued SPIE

Figure 348. Supervisor Control Recovery Module Flow (Part 2 of 2)

Section 3: Program Organization

6·123

From SVC
Interruption Handler

From SVC Interruption
Handler

C

ENTER

)

C

ENTER

)

r

"
IEAVEATO

IEAVEEDO

ATTACH Mainline

DETACH Mainline

r

DETACH Se rvice
Processing

ATTACH Se rvice
Processing

•

IEAVEEXP

-

EXIT Prologue

ABEND Processing

IEAVEDSO
Stage II Exit
Effector for EOT
Processing

Dispatcher

IEAVEATO

1

(

ATT ACH Re-entry

EXIT

To caller

)

From SVC IH

C

IEAVlKOO

ENTER

)

LINK Routine

,

C

EXIT

IEAVENQ1
)

To caller
ENQ/RESERVE

ENQ/RESE RVE Service
Processing

r

C
Figure 3-49. ATTACH, DETACH and ENQ/RESERVE Module Flow

6-124

OS/VS2 System Logic Library Volume 6 (VS2 Release 3.7)

EXIT

) To EXIT Prolog

From SVC IH

(

From SVC
Interruption Handler

)

ENTER

(

ENTER

,
IEAEVCHO·

IEAVEN01

CHAP Mainline

DEO

CHAP Servi ce
Processing

DEO Service
Processing

To caller, via

(

C

EXIT

)

To EXIT prolog

From SVC
Interruption Handler

(

ENTER

EXIT

From SVC
'Interruption Handler

·c

)

Prolog
) ~XIT
EAVEXP1)

ENTER

)

,

r
IEAVSY50

IEAVSY50

POST Mainline

WAIT Mainline

Post Service
, Processing
IEAVEDSO

,

WAIT Service
Processing

IEAVEDSO
Dispatcher

Dispatcher

..
r

EXIT

To caller,
)via EXIT prolog
IE AVEXP1

Cross-Memory POST
Processing

.. ,
C

EXIT

To caller via Branch;
to SVC Routi nes via
EXIT Prolog
(I EAVEXP1)

Figure 3-50. DEQ, CHAP, WAIT, and POST Module Flow

Section 3: Program Organization

6-125

From SVC
Interruption Handler

(

From SVC
Interruption Handler

(

ENTER

ENTER

)

,
IEAVTBOO,

IEAVBTOO

SPI E Mainline

EXTRACT Mainline

SP I E Service
Processing

(

EXIT

To caller via EXIT
Prol og

EXTRACT Service
Routine

(

) To caller via EXIT
Pro log

From any SVC
routine

F rom User or System
Program

(

•
EXIT

ENTER

ENTER

IEAVEOR

IEAVEEXP

EXIT Mainline

.

• Redispatch current
task

Current Task

EXIT Service
Processing
IEAVEDSO
IEAVTRT2

--

• To dispatcher
ABEND Performs EOT
Processing

IEAVEOR

r
EXIT

via Exit Prolog

.

• Invoke EXIT for
EOT

EXIT Prolog

Figure 3-51. SPIE, EXTRACT, EXIT, and Exit Prolog Module Flow

6-126

Dispatcher

OS/VS2 System Logic Library Volume 6 (VS2 Release 3.7)

EXIT

proc~ssing

,From SVC
Interruption Handler

(

ENTER

From SVC
Interruption Handler

(

)

,
r-----

ENTER

)

,

IEAVSETS

IEAVMODE

STATUS Mainline

MODESET
Mainline
MODESET Service
Processing

STATUS Service
Processing

,

Ir

(

IEAVERD, DR

EXIT

via Exit Prolog

I nter-P rocessor
Communications

,
IEAVEDSO
Dispatcher

(

From SVC
I nterruption Handler

EXIT

) To caller via
Exi t Prolog

From SVC
Interruption Handler

IEAVEVTO
EVENTS
Mainline
EVENTS Service
Processing

IEAVTEST

To caller via
Exit Prolog

TESTAUTH Mainline
TEST AUTH Service
Processing
EXIT

via Exit fo'rolog

Figure 3-52. STATUS, MODESET, EVENTS. and TESTAUTH Module Flow

Section 3: Program Organization

6-127

From SVC Second Level
Interruption Handler

From SVC Second Level
I nterruption Handler

SYNCH Service
Processing

EXIT Prolog
Link Service
Processing

EXIT Prolog

From SVC Second Level
Interruption Handler
ENTER

LOAD Service
Processing
IEAVEEXP
EXIT Prolog

Figure 3-53. LINK, SYNCH, LOAD, Program FETCH/BLDL Interface Module Flow

6-128

OS/VS2 System Logic Library Volume 6 (VS2 Release 3.7)

From SVC Second Level
Interruption Handler

From SVC Second Level
I nterruptlon Handler

ENTER

ENTER

IEAVIDOO

IDENTIFY Service
Processing

To caller

From SVC Second Level
Interruption Handler

C

)

ENTER

•
IEAVLKOO

,
IEAVLK01

XCTL Service
Processing
IEAVEEXP
EXIT Prolog

(

EXIT

)

Figure 3-54. DELETE, IDENTIFY, XCfL Module Flow

Section 3: Program Organization

6-129

from IEAVESVC or
from branch entry
caller

(

)

ENTER

GETMAIN
request

+

IEAVGMOO

...-

....

IEAVSOA
LSOA/SOA Allocation

Allocate virtual
storage

..

\

..

via Branch

IEAVCSEG
Create Segment
IEAVCSGB

Allocate space for a
V=R region

(

~

..

..
r

--

t

IEAVPRTO
GETPART

--

IEAVEOR

..

+

V=R Region
Allocation

r

)

EXIT
to caller

from IEAVESVC or
from branch entry
caller

(

)

ENTER

FREEMAIN
request
IEAVGMOO
Free virtual storage

IEAVRELS

-

to free a full page

Page Release

...

..

IEAVDSEG
Destroy Segment
h

to free a V=R region

...

-..

FREEPART

,
(

EXIT

)

to caller

Figure 3-55. Space Allocation/Deallocation Overview Module Flow

6·130

IEAVEORF

.IEAVPRTO

OS/VS2 System Logic Library Volume 6 (VS2 Release 3.7)

-..

Free V=R Region

VS2.03.807

Program I nterru pt
Code X'11'

(

ENTER

~

IEAVEPC

..

If SPI E Exit supplied

If no SPI E exit
suppl ied

-

..

User SPI E Exit
Routine

IEAVPIX
Program Interrupt
Extension

..
..

IEAVGFA
General Frame
Allocation

,

-..

..

,

,

Suspend subroutine

Puts routine in wait
state for paging I/O

ILRPAGIO
Start page-in when
complete

-

IEAVPIOP
Page I/O Post

Reset subroutine

via SRB dispatch

,

IEAVIOCP
Make routine
dispatchable

-

..

I/O Completion
Processor

,

Mainline PCIH

..

When page fault
satisfied

p

IEAVEDSO
Dispatch highest
priority TCB or SRB

If page fault satisfied

r immediately

Continue execution

Figure 3-56. Page Fault Processing Overview Module Flow

Section 3: Program Organization

6-131

VS2.03.807

from IEAVESVC

C

ENTER

)

SVC
112
IEAVPSI
Validity Check
PRGR LSE parameter

IEAVRELS

....

-

Page Release

--

..

ILRINTOO

.

IEAVGFA

Release
Auxiliary
Storage

J

~
from IEAVESVC
"\ SVC ...
ENTER
J 113 from branch
Branch
entry caller
""\ Entry.
ENTER
J

(

(

-

Validity check
PGFIX, PGFREE,
PG LOAD, PGOUT
parameters

Prolog
(IEAVEEXP)

-

Validity check
parameters

~

Route control

~

----

PGR LSE

PGFIX/PGLOAD

-

-

.....

IEAVFXLD
Update fix counts &
get real frame
~~

for recovery

...

PGFREE

-....

---

General Frame
'Allocation
~~

1,
IEAVFREE

-

Decrease fix counts

••
ILRPAGIO
PGOUT

-....

o

Exit processing

..

IEAVOUT
I nval idate pages and
start page-out

Start page-i n or
page-out

1-4--

at completion

~~

l'

IEAVPIOP
Process page-out
schedule page-in
completion
via
scheduled
.~
SRBr-______L -______~

,(

EXIT

)

to caller or
to EXIT
Prolog
(JEAVEEXP)

Figure 3-57. Page Services Overview Module Flow

6-132

OS/VS2 System Logic Library Volume 6 (VS2.03.807)

IEAVIOCP
I/O Completion
Processor

(
EXIT
)
'-------'
to IEAVEDSO

VS2.03.807

(

)

Enter

+

SRM

RSM
IEAVPIOP

IRARMCSO
Initiates the swap-out

RCT
(in address space to
be swapped)

t

+

r--

IEAVAR02

RSM

Prepares address space
for swap-out by
stopping its activity
RSM

RSM
IEAVPIOI

ASCBCHAP to delete
address space from
ready queue

SR B to master
address space
~-----

ASM

~

~

IEAVSOUT

Constructs SPCT,
PCB/AlAs for
swap-out
ASM

ILRPAGIO

Starts swap-out for
LSOA pages

Starts the non-LSOA
swap-out
ASM

Process completed
LSOA I/O (PTLB,
SYSEVENT, and free
LSOA PCBs and
frames.

t

•

ILRSWAP

I'

IEAVSWPC

t

•

Process completed
private area nonLSOA I/O (free frames
and PCBs as I/O
completes)

t
+
ILRPAGCM

AlAs to RSM as
I/O completes

1 If private area

-

non-LSOA I/O go to PlOP
2 If LSOA I/O go to I EA VSWPC

(

~-

+

Exit

Figure 3-58A. Swap-out Overview

Section 3: Program Organization

6-133

VS2.03.807

Enter

(

(

)

'------,r---'"

SRM

Reschedule
swap-in if
failed

IRARMCSI
I nitiate and control
the swap-in

Exit

SRM
IRARMINT

-

Process
SYSEVENT

,

SYSEVENT - restore
complete

Schedule SRB to start
the swap-in in master
address space
RSM
'
Exit to
Dispatcher
IEAVSWIN
(I EA V EDSO) t - - - - - - - - - - I
Construct PCB/AlAs
from SPCT for
swap-in

-

IEAVAR03
Notify SRM that
swap-in is complete

SYSEVENT - frame
shortage if sufficient
frames are not available
to complete swap-in

RSM

RCT

SYSEVENT - swap
failed if GFA unable
to obtain frames

IEAVGFA.

"
POST ReT
RSM (IEAVSWIN)
IEAVSIRT

To root processing if
swap-in fails

Assign frames for
LSOA and fixed
frames and initiate
the swap-in I/O

• Swap fails terminate processing
• Swap completes rebuild address space

RSM

SRB to
swapped
address
space

IEAVSIRT
(lEAVSWPP)
Initiate private area
I/O, then post RCT

I

t
ASM

RSM

r

RSM

ILRSWAP

IEAVGFA

Start the
swap-in I/O

Assign frames for
private area liD

r

To root complete
processing when root
count equals zero

IEAVPIOP
Process completed
liD. Decrement root
count for LSOA and
fixed pages

-

Figure 3-58B. Swap-in Overview

6-133.0

OS!VS2 System Logic Library Volume 6 (VS2.03.807)

I

ASM
ILRPAGIO

-

-

Start liD for private
area frames

Section 3: Program Organization

6-133.1

VS2.03.807

from VIO VREAD or
VWRITE

(

ENTER

,
IDAVBPP1
Data Management for
VIO

-

..

IEAVAMSI
Router Routine
Determine Request
Type
Assign Processor

~

(

Initial ize tables
If PGLOAD option,
call for page-in

IEAVPSI

....

-

...

Route PGLOAD
Request

..

--

IEAVFXLD
Create PCB and request
frame

EXIT

,

to caller

"
IEAVGFA

Assign real frame and
request I/O
jl'

,
Move-Out Processor
Clear table entries
and start page-out

....

-

...

ILRPAGIO
Start paging I/O
.~

When I/O
complete '.

IEAVPIOP
Process Page-Out
complete
Schedule page-in
complete
via
SRB

Scheduled
Dispatch

r
IEAVIOCP
Val idate pages

(

EXIT
to Dispatcher
IEAVEDSO

Figure 3-59. VIO Services Overview Module Flow

6-134

OS/VS2 System Logic Library Volume 6 (VS2.03.807)

)

from lEA VG MOO
or IEAVITAS

(

ENTER

)

,
IEAVSQA
If a preferred area
frame must be
stolen,

If a frame was
stolen,

..-

--

-'-

.

-

IEAVINV
Invalidate page

IEAVEQR

If V=R intercepted
frame stolen,

--

--

Move PFTE to correct
LSQA or SOA frame
queue.

-

.--

-

IEAVPREF
Steal a preferred
area frame

~

Schedule completion
processor

IEAVPFTE
PFTE Enqueue/
Dequeue

IEAVFP
IEAVFP2

Get the PGTE address
for the input page.

--

--

If an error occurs
record it.

--

--

Find Page

..-

via
Branch

.-

IEAVTRV
Translate real address
to virtual address

IEAVRCV

(

"
EXIT

RSM FRR

)

to caller

Figure 3-60. RSM Module Flow - lEA VSQA

Section 3: Program Organization

6-135

from lEA VPRTO

(

ENTER

)

l

IEAVPCB

IEAVEQR

...

.-

....

-

Get LSQA space for
page tables

-

...

To create necessary
segments

.-

Get a root PCB from
the free queue

~

PCB Manager

IEAVGMOO
GETMAIN

~

IEAVCSEG

..
p

Create Segment

IEAVPSI
If page is in pageable
common area or in
current address space

If page is in another
address space, build
SRB

-

....

.-

....

IEAVPSII
Page-out

IEAVGTCL
GETCELL

IEAVPCB

--

-

IEAVREP2
Replenish
SRB Pool

IEAVEQR
and schedul e
IEAVEQRP

--

..

IEAVEQRP
Clear V=R space

6
Figure 3-61. RSM Module Flow - lEAVEQR Initial Region Allocation (Part 1 of 2)

6-136

OS/VS2 System Logic Library Volume 6 (VS2 Release 3.7)

7

IEAVFP

IEAVEOR
(continued)
If a segment exists, get
PGT address

..

Release unneeded
LSOA space

.

. Move PFTES to local
frame queue

..

,

.

IEAVFP2

.-

Find Page

IEAVTRV
Translate real address
to virtual address

IEAVGMOO
FREEMAIN

IEAVPFTE
PFTE Enqueuel
Dequeue

to IEAVPRTO
If frames are not
available

- \.

.f

If all frames
are available:

--

• Move PFTEs to
local frame queue

-

• Free root PCB

-

•

EXIT

)

IEAVFP

• Get PGTE and
XPTE addresses

(

EXIT

IEAVFP2

-

..

Find Page

-

.

IEAVTRV
Translate real address
to virtual address

IEAVPCB
PCB Manager

)

to IEAVPRTO

Figure 3-61. RSM Module Flow - IEAVEQR Initial Region Allocation (Part 2 of 2)

Section 3: Program Organization

6-137

from lEA VPFTE

(

ENTER

)

IEAVEOR ,.
IEAVEORI
'Intercept Processing
IEAVGTCL

-

Get an SRB

GETCELL

from I EAVEDSO
Schedule completion
processing

via

_f

dispatched
SRB

\.

ENTER

)

IEAVEOR ~~
Ir

(

EXIT

IEAVEORC

)

Completion Processing

to IEAVPFTE

.-

Free SRB

-

Obtain local and
SALLOC locks

-- .

IEAVFRCL
FREECELL

IEAVELK
SETLOCK

IEAVFP

Get PGTE addresses

- .-

Move PFTEs to local
frame queue

---

..

IEAVTRV

IEAVFP2
Find Page

f+- -..

IEAVPFTE
PFTE
Enqueue/Dequeue

Ir

Figure 3-62. RSM Module Flow - lEA VEQR Asynchronous Completion and V=R Clearing (Part I of 2)

6-138

OS!VS2 System Logic Library Volume 6 (VS2 Release 3.7)

Translate real address
to Virtual Address

,
IEAVEORC
(continued)

Free root PCB

Post an ECB to indicate
completion

--

.

-

..

--

..

IEAVPCB
PCB Manager

IEAVSY50
POST

IEAVRCV
If internal errors occur
record and restart

"

C

EXIT

to IEAVEDSO

RSM FRR

dispatched SRB
via IEAVEDSO

C

ENTER

IEAVEOR

IEAVPSI

IEAVEORP
Page out all pages in
current address space

IEAVPSII
Page Services
Interface

IEAVF.ORP
via
If another address space
has pages in V=R area, ...i - - - -....-t
reschedule
scheduled
SRB

F'Jrther V=R
Clearing

IEAVFRCL
If no other address
space has pages in V=R
region, free SRB

FREECELL

,to lEA VEDSO

Figure 3-62. RSM Module Flow - lEA VEQR Asynchronous Completion and V=R Clearing (Part 2 of 2)

Section 3: Program Organization

6-139

from lEA VPRTO

(

ENTER

)

IEAVEQR "
IEAVEQRI
If region allocation
not complete, free PCB

..-

..-

IEAVPCB
PCB Manager

IEAVFP
IEAVFP2
Get PGTE addresses

I nval idate segments
in region

----

--

--

.

r'

-

Free LSQA space

-

,

Free PFTES for
frames in the region

-

.....

--

Purge TLBs on all
CPUs

..

-

Find Page

IEAVDSEG
Destroy Segment

IEAVGMOO
Free LSQA space

IEAVPFTE
PFTE Enqueue/
Dequeue

IEAVINV
Page Invalidation

"

(

EXIT

)

to IEAVPRTO

Figure 3-63. RSM Module Flow - lEA VEQR Free V=R Region

6-140

OS/VS2 System Logic Library Volume 6 (VS2 Release 3.7)

--

..

-

IEAVTRV
Translate real address to
virtual address

from lEA VGMOO
or an RSM routine

(

ENTER

IEAVRELS

)

I,

IEAVFP

IEAVRELV
IEAVRELF

IEAVFP2

·

Get PGTE and XPTE
addresses

Find Page

IEAVTRV

--

...

Translate real address
to vi rtual address

For pages in real
storage,

invalidate PGTE and
purge TLBs

free PFTE

-

IEAVINV

·

Page Invalidation

IEAVPFTE

·

PFTE Enqueue/
Dequeue

IEAVGMOO
If a deferred release is
being completed, free
the page

-

..

MRELEASR
FREEMAIN

Figure 3-64. RSM Module Flow - lEA VRELS FREEMAIN Release (Part 1 of 2)

Section 3: Program Organization

6-141

VS2.03.807

9

IEAVRELV
IEAVRELF
(continued)
For pages not in real
storage
If frame request has
been deferred for nonPGFIX PCBs free or
move PCB

-

IEAVPCB

·-

PCB Manager

IEAVEPC
Notify waiting routines
of changed status of
page

-

.

IEAVRSET
Remove suspended
routine from Page
Wait

IEAVPIOP

..

Free auxil iary storage
assigned to a page

..

~

.

IEAVOPBR
Schedule an SRB to
dispatch lEA V I OCP

--

via
Scheduled
SRB

ILRFRSLT
ASM Interface

IEAVTRV
Get PGT address

--

·

When all 16 pages in
segment are freed,
inval idate SGTE and
SPCT entry

..

-.

--

-..

If internal errors occur,
record and restart

If entered at
IEAVRELF free
fixed space

t
C

EXIT

Translate real address
to virtual address

IEAVDSEG
Destroy Segment

IEAVRCV
RSM FRR

IEAVGMOO

--

-·

FREEMAIN

)

to caller

Figure 3-64. RSM Module Flow - lEA VRELS FREEMAIN Release (Part 2 of 2)

6-142

OS/VS2 System Logic Library Volume 6 (VS2.03.807)

--

IEAVIOCP
Page I/O Completion
Processor

from I EAVGMOO or
IEAVEQR

(

)

ENTER

~~

IE.AVCSEG
IEAVELK
If SPCT is to be
expanded, get the local
and SALLOC locks

~

SETLOCK

IEAVGMOO
Allocate SOA space

~

-'"

GETMAIN

IEAVGMOO
After processing,
free SOA space

If an internal error
occurs, record it and
restart

FREEMAIN

-

...

IEAVRCV
RSM FRR

.Ir

(

EXIT

from IEAVRELS

)

C

ENTER

)

to caller

,
IEAVDSEG

IEAVTRV

- ..

Translate PGT
address

Invalidate SGTE and
purge TLBS

-

..

Translate real address
to virtual address

iEAVINV
Page Invalidation

r

(

EXIT

)

to IEAVRELS

Figure 3-65. RSM Module Flow - IEAVCSEG, lEA VDSEG

Section 3: Program Organization

6-143

from I EAVEPC

(

ENTER

)

~~

IEAVPIX
Get SALLOC lock

--..

IEAVELK

-

SET LOCK

IEAVFP
IEAVFP2

-..

--

Get a PCB to pass to
IEAVGFA

-..

..·

PCB Manager

Assign a real frame

---..

-·

General Frame
Allocation

If internal errors occur,
record them and restart

--

-·

Get PGTE, XPTE
address

Find page

IEAVPCB

IEAVGFA

IEAVRCV
RSM FRR

~ Ir

(

EXIT
to IEAVEPC

Figure 3-66. RSM Module Flow -IEAVPIX

6-144

OS!VS2 System Logic Library Volume 6 (VS2 Release 3.7)

--

IEAVTRV

.-

Translate real address
to virtual address

from IEAVPIX,
IEAVFXLD,
IEAVSWIN or
IEAVGFA Defer
Processor

(

ENTER

)

r
IEAVGFA
Defer or release pages
on Defer queue.

Move new frame to
correct queue.

- ..

-

.

IEAVPCB
PCB Manager

IEAVPFTE
PFTE Enqueue/
Dequeue

IEAVEPC

I f a preferred area
frame must be
stolen,

-- ..
-

If valid V=R page to be
migra!ed for long-fix,

- .

For page fault PCB if
I/O required,

If auxiliary storage
is assiged to page,
put PCB on active
queue.

If PCB count in root
PCB goes to zero,
call appropriate root
exit to do completion
processing .

.

.. ..

IEAVSUSP
Put Interrupted routi ne
in page wait

IEAVPREF

-

--...

Steal a preferred
area frame

IEAVINV
Inval idate page

IEAVPCB
PCB Manager

Root Exit
(Either IEAVSWIN or
IEAVFXLD)

.,
Figure 3-67. RSM Module Flow - lEA VGF A (Part 1 of 2)

Section 3: Program Organization

6-145

VS2.03.807

.

,Ir

IEAVGFA
(continued)

IEAVSETS
IEAVRSET

When PCB removed
from Defer queue

~

.

Make routine
dispatchabl e

IEAVPCB
Put PCSon correct
queue

PCB Manager

IEAVPIOP
Process I/O complete
PCBs

- .

IEAVOPBR
Schedule SRB to
dispatch lEA V 10CP

IEAVIOCP

--...

IEAVRCV
If internal errors occu r,
record and restart

---

Pass any AlAs for
non-swap page-in

.. .-

Page any swap-in
AlAs

~

-"'

..

RSM FRR

ILRPAGIO
Start page-ins for AlAs

ILRSWAP
Start swap-in

I,
C

EXIT

)

to caller

Figure 3-67. RSM Module Flow - lEA VGF A (Part 2 of 2)

6-146

OSjVS2 System Logic Library Volume 6 (VS2.03.807)

~--.

I

I
I
I
L

I/O Completion
Processor

tChedUled SRB

VS2.03.807

from ILRPAGCM

(

ENTER

i

IEAVPIOP

IEAVELK

- ....

....

Get SALLOC lock

SETLOCK

PAGE-OUT

If successful page-out
and no related PCBs,
free PFTE

.-

Free PCB addressed
by AlA

-

- .....

..

IEAVPFTE
PFTE
Enqueue/Dequeue

IEAVPCB
PCB Manager

PAGE-IN

If part of a stage 1
swap-in, dequeue or
free PCB

When PCB count in
root PCB goes to zero,
reconstruct swapped-in
address space

--- .

- -

IEAVPCB
Dequeue or free PCB

IEAVSWIN
Swap-In Root Exit

(

ENTER

IEAVPIQP
If a non-swap-in page-in
PCB, schedule
IEAVIOCP

via

.-

Branch

If an internal error
occurs, record it and
restart

(

i
EXIT

.-

..

IEAVRCV
RSM FRR

....

)

i
via
scheduled

IEAVOPBR
Schedule SRB to run
IEAVIOCP

(

i

EXIT

-

..~

SRB
Dispatch

IEAVIOCP
1-----------1
Process I/O complete
PCBs

)

to caller

)

to ILRPAGCM

Figure 3-68. RSM Module Flow - IEAVPIOP

Section 3: Program Organization

6-147

from IEAVEDSO

C ENTER

)

--

•
IEAVIOCP
Free SRB quick cell

Q
IEAVFRCL

-

FREECELL

IEAVELK
Get local and SALLOC
locks

--

-..

SETLOCK

NORMAL
IEAVEPC

If PCB is for page fault

If count in root PCB is
zero, process
completion

--

IEAVRSET

..

Make suspended routine
dispatchable

Root Exits

-...

IEAVFXLD or
IEAVSWIN Root Exits

IEAVPIOP
If PCB can not be
fully processed

Free PCBs or enqueue
on I/O active queue

-

--

IEAVOPBR

..

Schedule IEAVIOCP

IEAVPCB

---

PCB Manager

"
Figure 3-69. RSM Module Flow - lEA VIOCP (Part 1 of 2)

6-148

OS/VS2 System Logic Library Volume 6 (VS2.03.807)

via
dispatched
SRB

7

IEAIOCP
(continued)

IEAVRELS

ERROR
If PFTE fix count zero
and PFTE marked
Deferred Release

.-

-..

IEAVRELF
FREEMAIN Release

IEAVPFTE

--

Free real frame for
page-in

..-

PFTE
Enqueue/Dequeue

IEAVEPC

.

If PCB for a page fault

....

If PCB count in root
PCB goes to zero

....

-..

-

IEAVRSET
Make suspended
routines dispatchable

Root Exit
IEAVFXLD or
lEA VSWI N Root
Exit

IEAVPIOP

-

If a PCB cannot be
completely processed

-~

-

-..

..

-

....

Free related PCBs

-..

IEAVOPBR
Schedule SRB to
IEAVIOCP

6

IEAVPCB
PCB Manager

IEAVRCV

If internal errors
occur record and
restart terminating
routine

....

I

RSM FRR

~

C

+

EXIT

)

to IEAVEDSO

Figure 3-69. RSM Module Flow - lEA VIOCP (Part 2 of 2)

Section 3: Program Organization

6·149

from lEA VESVC or
from branch entry
caller

(

ENTER

)

j
IEAVPSI
If entered from a
non-RSMroutine, get
SALLOC lock

For PGFIX, PGFREE
requests, for SVC
entries, test callers
authorization

-- ·-

IEAVELK
SETLOCK

IEAVTEST

- ·
.-

TESTAUTH

via
TESTAUTH

If PGFIX or PGLOAD
with release option,
free the real storage

..- ..

IEAVRELS

If PGFIX or PGLOAD
request, fix or load
requested frames

..

IEAVFXLD

.-

--

Page Release

PGFIX/PGLOAD

~

~

1

If PGFREE request,
free requested page
frames

If release option or
branch entry to
PGRLSE routine, free
real and auxiliary
storage

.-

-

-- ·

IEAVFREE
PGFREE

r----

IEAVRELS
Page Release

~

IEAVPSI
For PGOUT request,
start page-out

.-

..-

IEAVOUT
PGOUT

-

,Ir

~

Exit Routine

...

-

For successful PGFIX,
PG LOAD with ECB
request, post ECB

If RSM internal errors
are detected

(

1

EXIT

to caller

Figure 3-70. RSM Module Flow - IEAVPSI

6-150

OS/VS2 System Logic Library Volume 6 (VS2 Release 3.7)

)

- --- .-

IEAVSY50
POST

IEAVRCV
Record error and
restart terminating
routine

VS2.03.807

from lEA VPSI

(

ENTER

,Ir

IEAVFXLD

IEAVFXLD
(continued)

IEAVFP
Normal Processing

..

Get PGTE, XPTE
addresses

IEAVFP2

Error Processing

Find Page

If error is internal to
RSM

IEAVRCV

- .-

Record error and restart
terminating routine

IEAVPCB
For pages not in real
storage, create PCBs

- .

IEAVGMOO

PCB Manager

For PG F I X requests,
free FOEs

-

.

-

-.

FREEMAIN

IEAVGMOO
Build FOE if required

-

.

IEAVPCB
GETMAIN

Free PCBs created by
this routin€

PCB Manager

IEAVPSI
NEXTVSL
If input request was
list form

When all VSL entries
are processed without
error, all ocate real
frames

- -

Move next VSL entry
into CIWA

IEAVFREE
For PG F I X requests,
perform bac kout

..

PGFREE

IEAVGFA

.

r
General Frame
Allocation

C

EXIT

)

to IEAVPSI

.(

EXIT

)

to IEAVPSI

Figure 3-71. RSM Module Flow - IEAVFXLD and lEA VFXLD Root Exit (Part 1 of 2)

Section 3: Program Organization

6-151

from lEA VPSI

(

ENTER

)

IEAVFXLO'
IEAVFXL
Root Exit

~l

Post ECB complete

If any page-ins failed,
schedule abnormal
termination

--.

-...

IEAVSY50
POST

IEAVTRT1

-

via

..

CALLRTM

Termination

IEAVPSI
IEAVFREE

IEAVPSII
Free ECB fixed by
IEAVPSI

Return root PCB to
free queue

..-

----

-

.

Page Services
Interface

-

-.

PGFREE

IEAVPCB
PCB Manager

~,

(

EXIT

)

to caller

Figure 3-71. RSM Module Flow - IEAVFXLD and IEAVFXLD Root Exit (part 2 of 2)

6-152

OSjVS2 System Logic Library Volume 6 (VS2.03.807)

from IEAVPSI
or IEAVFXLD

(

ENTER

,
IEAVFREE
Process FOEs for fixed
pages

IEAVFXLD

-..

FOEDEL

...

Decrement FOE fix
count

IEAVRELS
If fix count for page is
zero and FREEMAIN
Rei ease has been
deferred

-...

IEAVRELF

..·

FREEMAIN Release

IEAVFP

Get XPTE address

If PCB found on G FA
Defer queue, free PCB

--

..·

----

..·

IEAVFP2
Find Page

IEAVPCB
PCB Manager

IEAVPSI

If I ist form request

If internal errors occur

-...

-

NEXTVSL

--....

Move next VSL entry
into CIWA

IEAVRCV
Record internal error
and restart terminating
routine

,
(

EXIT
to caller

Figure 3-72. RSM Module Flow - IEAVFREE

Section 3: Program Organization

6-153

VS2.03.807

from I EAVPSI

C

ENTER

)

.Ir

IEAVFP

IEAVOUT

-

..

-

..

--

....

Get a PCB

--

..

If internal errors are
detected

--

..

If page is to be paged
out, get XPTE, PGTE
addresses

Invalidate PGTE

If page is unchanged
or part of quick start
area, free PFTE

IEAVFP2
Find Page

IEAVINV
Page I nval idation

IEAVPFTE
PFTE
Enqueue/Dequeue

IEAVPCB
PCB Manager

IEAVRCV
Record error and
restart terminating
routine

IEAVPSI
NEXTVSL
When all pages of VSL
entry are processed

-..

When all VSL entries
have been processed,
put PCBs on active
queue

Pass AlAs for page-out

(

EXIT

-..
..

Move next VSL entry
to CIWA

IEAVPCB
PCB Manager

-

...

ILRPAGIO
Start page-out
operation

)

to IEAVPSI

Figure 3-73. RSM Module Flow - IEAVOUT, IEAVRELS (Part 1 of 3)

6-154

OS/VS2 System Logic Library Volume 6 (VS2.03.807)

from I EAVPSI

(

ENTER

)
IEAVFP

IEAVRELS
Get PGTE, XPTE
addresses

IEAVFP2

-

...

-

...

Find Page

IEAVINV
If page is in real storage
and is not fixed,
inval idate page

Page I nval idation

IEAVPFTE
Free real frame

~

......

I f not in real storage

If PCB on GFA Defer
Queue or in wait state
for page fault

PFTE
Enqueue/Dequeue

IEAVEPC

-

IEAVRSET

....

Make SRB routine
dispatchable

IEAVPCB
Free PCB or move it to
I/O active queue

--

--...

PCB Manager

IEAVPIOP
IEAVOPBR
Schedule I/O
completion processing

-...

...

Schedule an SRB for
IEAVPIOP

via
SRB
Dispatch

-..

IEAVIOCP
Process I/O complete
PCBs

,

Figure 3·73. RSM Module Flow - IEAVOUT, IEAVRELS (Part 2 of 3)

Section 3: Program Organization

6·155

VS2.03.807

7

IEAVRELS
(continued)
ILRFRSLT
Free any auxiliary
storage for pages

If internal errors are
detected

--

-

-

-

Free auxiliary storage
slot

IEAVRCV
Record error and
restart terminating
routine

IEAVPSI
When all pages in a VS L
entry have been
'processed

..

~

-.

NEXTVSL
Move next VSL entry
into CIWA

,r

(

EXIT
to IEAVPSI

Figure 3-73. RSM Module Flow - IEAVOUT, IEAVRELS (Part 3 of 3)

6-156

OS/VS2 System Logic LibraI)' Volume 6 (VS2.03.807)

VS2.03.807

C

ENTER)
via SR B Dispatch
scheduled by SRM

IEAVSWIN
IEAVFRCL
Release SRB quickcell ..._-----_~

FREECELL

IEAVELK
Get SALLOC lock

Get PCBs for swap-in

,

SETLOCK

IEAVPCB

-

PCB Manager

For common area If
page is not val id in
storage or val id, not
fixed, and in a V=R
frame, get XPTE,
PGTE addresses

,

.-

Free left-over PCBs

-

--.

IEAVFP
Find Page

IEAVPCB

-

PCB Manager

IEAVGFA
Pass PCBs for frame
allocation

General Frame
Allocation

,
I

Figure 3-74. RSM Module Flow - IEAVSWIN, IEAVSWIN Root Exit, and IEAVSWIN POST Routine (Part 1 of 4)

Section 3: Program Organization

6-157

VS2.03.807

7

IEAVSWIN
(continued)
If number of frames
needed not available,
release SALLOC lock
and get local lock

..

..

IEAVELK
SETLOCK

IRARMINT
via
SYSEVENT

..

Notify SRM that
swap-in failed

If internal errors are
detected

(

•

)

ENTER

)

EXIT

..

..

..via

.

IRARMIOO
Record swap-in failure

IEAVRCV
Record error and
restart term routine

to Dispatcher IEAVEDSO

(

IEAVSWIN.
IEAVSIRT
Root, Exit
If fail flag is set in root
PC,B, terminate address
space

CALLRTM

IEAVTRT1
Termination

IEAVRCV
If page of LSQA with
SGT cannot be found

-

Call for termination
of address space

via

-CALLRTM

Record error and
restart terminating
routine

IEAVTRT1
Termination

IEAVEACO
Put ASCB for new
address space on ready
queue

...

ASCBCHAP

6
I Figure
6-158

3-74. RSM Module Flow - IEAVSWIN, IEAVSWIN Root Exit, and IEAVSWIN POST Routine (Part 2 of 4)

OS/VS2 System Logic Library Volume 6 (VS2.03.807)

VS2.03.807

7

IEAVSWIN
(continued)
Make SRBs dispatchable
in new address space

(

t

~

--

Free PCBs and root
PCBs

EXIT

-

IEAVSETS

...

Status Start system
and non-quiescable
SRBs

IEAVPCB

.

PCB Manager

)

to caller

I Figure

3-74. RSM Module Flow - IEAVSWIN, IEAVSWIN Root Exit, and lEAVSWIN POST Routine (Part 3 of 4)

Section 3: Program Organization

6-159

VS2.03.807

ENTER

IEAVSWIN

via SRB dispatch
scheduled from
IEAVSIRT

IEAVSWPP
Swap-in POST
Routine

IEAVFRCL

Release SRB
quickcell

-

Obtain SALLOC
lock

-

-

·

Obtain PGTE/XPTE
addresses

-

·..

~

·

FREECELL

IEAVELK
SETLOCK

IEAVFP

Pass PCBs for
state II swap-i n

-

~

·..

Find page

IEAVGFA
General frame
allocation

IEAVSY50
POST RCT ECB that
swap-in is complete

POST

IEAVELK
Release SALLOC
lock

~

...

SETLOCK

Figure 3-74. RSM Module Flow - IEAVSWIN, IEAVSWIN Root Exit, and IEAVSWIN POST Routine (Part 4 of 4)

6-159.0

OS/VS2 System Logic Library Volume 6 (VS2.03.807)

Section 3: Program Organization

6-159.1

VS2.03.807

from IEAVAR02

C

ENTER

)

,
IEAVSOUT
LSQA and Fixed
Page Processing

IEAVSETS
IEAVSSNO

..

Stop non-quiescable
SRBs

Status Stop

IEAVELK
Get SALLOC lock

Get PCBs to perform
swap-out

If extra SPCT space is
needed, obtain it from
SOA

-

SETLOCK

-

-

-

..

IEAVPCB
PCB Manager

IEAVGMOO
GETMAIN

6
Figure 3-75.

6-160

RSM Module Flow - lEA VSOUT (Part I of 3)

OS/VS2 System Logic Library Volume 6 (VS2.03.807)

VS2.03.807

7

IEAVSOUT
(continued)

If space allocation fails

IEAVPCB

Free PCBs

PCB Manager

Make SRBs dispatchable .....

-..

Quiesce Paging 110

If page-in PCB found
for a page fault

If PCB count in root
PCB goes to zero

If page-in is complete
and suffered an I/O
error, free PFTE

To complete page-in
PCB processing, free
PCBs

IEAVSETS
Status Start

IEAVEPC

-

..

Make suspended routine
dispatchable

Root Exit

..

IEAVRSET

Complete root PCB
processing

..

IEAVPFTE
PFTE
Enqueue/Dequeue

IEAVPCB

-

PCB Manager

r

Figure 3-75. RSM Module Flow - IEAVSOUT (Part 2 of 3)

Section 3: Program Organization

6-161

VS2.03.807

7

IEAVSOUT
(continued)
Pageable Page
Processing
If frame is a VIO trame,
free PFTE

If virtual page is valid in
real storage, get XPTE,
PGTE addresses

I f frame is assigned
to a pageable virtual
page that is unchanged,
free PFTE

-

.

-

.

IEAVPFTE
PFTE
Enqueue/Dequeue

IEAVFP
Find Page

IEAVPFTE

...

-

-

PFTE
Enqueue/Dequeue

IEAVPCB
When all frames are
processed, free or move
PCBs

-

..-

PCB Manager

ILRPAGIO
If non-LSOA pages
in swap group

Schedule initiation of
swap I/O for LSOA
pages

-

ASM private area
I/O processor

Schedule

-SRB via

..

IEAVPIOI
Swap I/O Initiator

Dispatcher

IEAVGMOO
Free unused SPCT
extensions

If internal errors are
detected

-

-

-

-.

FREEMAIN

IEAVRCV
Record error and restart
terminating routine

,
(

EXIT
to IEAVAR02

Figure 3-75. RSM Module Flow - IEAVSOlJf (Part 3 of 3)

6-162

OS/VS2 System Logic Library Volume 6 (VS2.03.807)

VS2.03.807

via SRB Dispatch
scheduled by lEA VSOUT

(

ENTER

)

l~

IEAVPIOI
IEAVELK

Get local lock

--

.....

Remove ASCB of
address being swapped
out from ready queue

-

...

SET LOCK

IEAVEACO
~

ASCBCHAP

IEAVELK
Get SALLOC lock

~

SETLOCK

ILRSWAP
Pass AlAs to ASM for
page-out

.

-

Start page-out
operation

Ir

I Figure

3-76. RSM Module

F10\V -

lEA VPIOI (Part I of 2)

Section 3: Program Organization

6-163

VS2.03.807

(

ENTER

I. from I LRPAGCM

~Ir

·IEAVPIOI
(continued)
If ASCBCHAP
failure occurs, record
and restart

)

IEAVSWPC
IEAVRCV
~

.

Record error and
restart terminating
routine

Purge TLBs

IEAVINV

--

Issue PTLB

then
IEAVELK
get SALLOC lock

Purge TLBs, free
LSOA PCBs, and
reval idate the
LSOA PFTEs.

~

...
SETLOCK

IEAVSWPC
~

r

Swap-out
completion
processor

..

Issue swap-out
complete SYSEVENT

Delete the address
space from the
ready queue

SYSEVENT

IEAVEACO
""-

~

--...

-

ASCBCHAP

IEAVPCB

IEAVPIOP
Process AlAs as pageout completions

IRARMINT

Free PCBs
Page I/O Post

...

PCB
Processor

,Ir

(

IEAVPFTE

EXIT
to IEAVEDSO

Free frames

I f swap-out
fails

Figure 3-76. RSM Module Flow - IEAVPIOI (part 2 of 2)

6-164

OS/VS2 System Logic Library Volume 6 (VS2.03.807)

PFTE
Processor

.. via CALLRTM...

IEAVTRT1
Termination

from VIO modules

C

ENTER

)

IEAVAMSI
Get SALLOe lock

..

-

ASSIGN Processing

IEAVELK
SETLOCK

IEAVFP

Get XPTE, PGTE
addresses

-

.

If addresses are
unavailable due to
RSM error

..-

.

If reclamation
successful and PFTE
is on available frame
queue, move PFTE to
a frame queue

-

-

IEAVFP2
Find Page

IEAVRCV
Record error and
restart terminating
routine

IEAVPFTE
PFTE
Enqueue/Dequeue

IEAVPSI
I f the LOA D option is
reque~ted and no
reclamation occurs,
issue PG LOAD

-

via

Branch

..-

IEAVPSII
Page Service
Interface

--

..

IEAVFXLD
PGLOAD

••
Figure 3-77. RSM Module Flow - IEAVAMSI (Part 1 of 4)

Section 3: Program Organization

6-165

VS2.03.807

7

IEAVAMSI
(continued)
MOVE-OUT
Processing in storage
Get XPTE, PGTE
addresses

I f addresses cannot be
obtained due to an
RSM error

If the page is in real
storage, inval idate it

IEAVFP
IEAVFP2

-

..-

--

.

--

..

Find Page

IEAVRCV
Record error and
restart terminating
routine

IEAVINV
Page Invalidation

ILRFRSLT
If the VCB indicates a
null MOVE-OUT

--

-

If the in-storage option
is not requested for a
null MOVE-OUT,
free PFTE

--

..

If VCB is for normal
page-out and a VIO
LPID is in the XPTE
and the page is
unchanged, get a PCB

-

...

Release auxiliary
storage assigned to
an LPID

IEAVPFTE
PFTE
Enqueue/Dequeue

IEAVPCB
PCB Manager

IEAVPCB

After setting PCB flags
for move-out, put PCB
on I/O active queue

--

...

Set up AlA for
page-out

..

.

PCB Manager

ILRPAGIO
Start a page-out

6
Figure 3-77. RSM Module Flow - lEA VAMSI (Part 2 of 4)

6-166

OS/VS2 System Logic Library Volume 6 (VS2.03.807)

VS2.03.807

,
IEAVAMSI
(continued)

If page is unchanged
and auxiliary storage
is assigned

-

I LRPOS

...

If in-storage option
not specified, free
PFTE MOVE-OUT
Processing out-ofstorage

--

-.

If a null MOVE-OUT
is not specified or if
non-disconnect is not
specified, and if RSM
created aux storage is
assigned to page

-

..

-

.

If move-out not
required, and if PCB on
G F A Defer Queue is for
page fault in current
address space, make
waiting routine
dispatchable

Transfer a new LPID
to point to RSM aux
storage

IEAVPFTE
PFTE
Enqueue/Dequeue

ILRPOS
Transfer new LPID to
point to RSM auxiliary
storage

IEAVRSET
Reset

,

Figure 3-77. RSM Module Flow - lEA VAMSI (Part 3 of -t.)

Section 3: Program Organization

6- 167

VS2.03.807

·Ir

IEAVAMSI
(continued)

If PCB count in root
PCB goes to zero, complete root exit process

Then free PCB or
enqueue it on I/O
active queue

..

--

..

--

Root Exit
Complete Root
PCB processing

IEAVPCB
PCB Manager

IEAVPIOP
Have completion
processing scheduled

After PCB queues have
been searched for null
MOVE-OUTs

For regular
MOVE-OUTs

~

--

Schedule I/O
completion processing

ILRFRSL T

-

~-

..

...

~

IEAVOPBR

Release auxiliary
storage assigned to
LPID

ILRPOS
Transfer a new LPI D
to point to RSM
created auxiliary
storage

"

C

EXIT
to caller

hgurc 3-77.

6-168

RSM \1odull' rlm\

I L\ \',\ \ISI (Part 4 of 4)

OS/VS2 System Logic Library Volullle 6 (VS2.03.807)

via
_ SRB

IEAVIOCP

---.

Dispatch -

Page I/O Completion
Processor

YS2.03.807

from IEAVGCAS

(

ENTER

)

"

IEAVELK

IEAVITAS
Get SAL LaC lock

...

..-

SETLOCK

IEAVGMOO
Obtain SQA space

...

--

---

-

-..

...

...

GETMAIN

ILRGOS
Call ASM to get logical
group number

Get a real frame
assigned

-

Assign Logical Group
Number

IEAVSQA
SQA/LSQA Allocation

IEAVFP

Get PGTE address for
Master Scheduler page

Put PFTE on LSQA
frame queue of new
add ress space

--

-

-

-..

IEAVFP2
Find Page

IEAVPFTE

--

PFTE
Enqueue/Dequeue

"

Figure 3-78. RSM Module Flow -IEAVITAS (Part lof2)

Section 3: Program Organization

6-169

VS2.03.807

7

IEAVITAS
(continued)

IEAVPFTE

For backout processing,
on error, free real
frames

.....

-

---.

If assigned,release LGN

..

-

Free SQA space

...

-

If an error occurs

..-

"

(

EXIT

-

PFTE
Enqueue/Dequeue

ILRGOS
Release logical
group number

IEAVGMOO
FREEMAIN

IEAVRCV
Record error and
restart terminating
routine

)

to IEAVGCAS

Figure 3-78. RSM Module Flow - IEAVITAS (Part 2 of 2)

6-170

OS/VS2 System Logic Library Volume 6 (VS2.03.807)

VS2.03.807

from IEAVTERM
ENTER

)

.,
IEAVDLAS

ILRFRSLT

-

-..

-

.

....

Release LGN

Move PFTES to
available queue unless
1/0 in progress; then
dequeue it

r

Release aux. storage
for LGN

IEAVPFTE
PFTE
Enqueue/Dequeue

IEAVINV
Purge TLB of SGT
address

...

--

--.

Free space for
RSMHD, SPCT, and
SPCT extensions

....

..

-

-

Page
I nval idat ion

IEAVGMOO
FREEMAIN

,r

(

EXIT"

)

to IEAVTERM

Figure 3-7tJ.

RS!\1 Module Flow - IEAVDLAS (Part I of 2)

Section 3: Program Organization

6·171

from IEAVEPDO

(

ENTER

)

IEAVDLAS .Ir
IEAVSRBP

IEAVELK

-

Get local lock

If SRB scheduled to
dispatch lEA VP I 0 I for
swap-out, process pageout completion

..

SETLOCK

IEAVPIOP

.....

...

Release local lock

-

....

Free input SRB

-

Page I/O Post

IEAVELK
SETLOCK

IEAVFRCL
~

~

FREECELL

,

(

EXIT

)

to IEAVEPDO

Figure 3-79. RSM Module Flow - IEAVDLAS (Part 2 of 2)

6-172

OS/VS2 System Logic Library Volume 6 (VS2.03.807)

VS2.03.807

from I EAVTMMT

(

ENTER

)

,r

IEAVTERM
Get local and SA L LOC
locks

If purge type is address
space, release local lock

..
--

-..

--

..

-

IEAVELK
SETLOCK

IEAVELK
SETLOCK

IEAVEPC
If PCB for page fault,
and either PCB is in
SR B mode for ASCB
purge or PCB is for an
RB

If fix count in FOE for
vi rtual space goes to
zero, free FOE space

-..
-..

..
p

..

.-

IEAVRSET
Make suspended
routine dispatchable

IEAVGMOO
FREEMAIN
IEAVSWIN
IEAVFXLD

If count in root PCB
is zero, complete root
exit processing

If I/O has completed
for the PCB, free PFTE

If any PCBs can be
freed, free them

--

..

...

..

-..

..

p

Root Exit
Complete processing
of PCBs

IEAVPFTE
PFTE
Enqueue/Dequeue

IEAVPCB
PCB Manager

lr

Figure 3-80. RSM Module Flow - lEA VTERM (Part 1 of 2)

Section 3: Program Organization

6-173

,
IEAVSWIN

IEAVTERM
(continued)

IEAVSIRT

If PCB count in swap-in
root PCB goes to zero,
process completion

-..

..

Dequeue and free FOEs

-

.

-

Swap-I n Root Exit

IEAVGMOO
FREEMAIN

IEAVRELS
If fix count goes to
zero and deferred
FREEMAIN
Release was pending

If purge type is ASCB,
after I/O has been
purged clean-up RSM
resources

If internal RSM errors
are detected

--

..-

-

..

IEAVRELF
FREEMAIN Release

IEAVDLAS

-

--

Delete address space

IEAVRCV
Record error and
restart terminating
routine

,r

(

EXIT

)

to IEAVTMMT

Figure 3-80. RSM Module Flow - lEA VTERM (Part 2 of 2)

6-174

OS/VS2 System Logic Libruy Volume 6 (VS2.03.807)·

from IRARMINT

(

ENTER

)

T
IEAVRFR
Get the SALLOC
lock

-

..

IEAVELK
SETLOCK

Select routine

Get the PGTE, XPTE
addresses

-

.

IEAVFP
Find Page

IEAVINV
Invalidate the PGTE
and purge the TLBs

If the frame is
unchanged free the
PFTE

If the frame is changed,
get a PCB

--

-

Page I nval idation

.

-

IEAVPFTE
PFTE
I;nqueue/Dequeue

IEAVPCB

-

..

-

..

PCB Manager

IEAVGTCL
If PFTEs are marked
for steal ing, get an SR B

6

GETCELL
if GETCELL fails,
replenish SRB Pool

-....

..

IEAVREP2
SRB replenish

Figure 3-81. RSM Module Flow - lEA VRFR (Part I of 3)

Section 3: Program Organization

6-175

VS2.03.807

7

IEAVRFR
(continued)

via dispatcher

Schedule Steal routine

IEAVRFR '
If a page-in PCB has
been created put it on
the I/O active queue

-..

IEAVPCB

-

PCB Manager

IEAVRFRA
Free the input SRB

-.. -.

Get the SALLOC lock

.. -

IEAVFRCL
FREECELL

and

-

initiate page-out
I/O

(

!

EXIT

ILRPAGIO
-~

Start page-out I/O

)

to IRARMINT

Figure 3-81. RSM Module Flow - IEAVRFR (Part 2 of 3)

6-176

OS/VS2 System Logic Library Volume 6 (VS2.03.807)

6

~

IEAVELK
SET LOCK

VS2.03.807

"
IEAVRFR
(continued)
Steal routine
Get the PGTE and
XPTE addresses

Invalidate PGTE and
purge TLDs

IEAVFP

-...

..-

...

.

Find Page

IEAVINV
Page I nval idat ion

IEAVPFTE
If frame is unchanged,
free the PFTE

If frame is changed,
get a PCB

-

-..

-

.

-...

..-

initiate
page-out I/O

--

...

If internal errors occur
in select or steal

-

If a page-out PCB has
been created, put it on
the I/O active queue

PFTE
Enqueue/Dequeue

IEAVPCB
PCB Manager

IEAVPCB
PCB Manager

and

(

ILRPAGIO
Start page-out I/O

IEAVRCV
~

...

RSM FRR

•
EXIT
to IEAVEDSO

Figure 3-81. RSM Module Flow - IEAVRFR (Part 3 of 3)

Section 3: Program Organization

6-177

from VARY STORAGE,
R/TM, or SMF

(

ENTER

IEAVRCF

Get SALLOC lock

IEAVELK

-

--

-

-..

-

.

~

SETLOCK

STORAGE KEY
ERROR

If key of virtual page
is known or can be
gotten, get PGTE,
XPTE addresses

Try to reset real storage
key

IEAVFP
Find Page

IGKPKREF
Reset real storage
key

..- \.

STORAGE DATA
ERROR

IEAVFP
If real frame unchanged
and contains a pageable
virtual page, get XPTE,
PGTE addresses

)

EXIT
to caller

IEAVFP2

-

Find Page

IEAVINV

Invalidate PGTE
and purge TLBs

-

---

Send frame to
available queue

-

..

Page Invalidation

IEAVPFTE
PFTE
Enqueue/Dequeue

.. f
\..

EXIT

)

to caller
.~

Figure 3-82. RSM Module Flow - lEA VRCF (Part 1 of 2)

6-178

OS/VS2System Logic Library Volume 6 (VS2.03.807)

IEAVRCF
(continued)
VARY STORAGE
CANCEL
Get an SRB

Schedule offline
completion

IEAVGTCL

u

GETCELL
IEAVRCF
IEAVRCFC

via

~ Dispatched

Offline Completion
Processing

SRB

~

EXIT

,------

VARY STORAGE
ONLINE

to caller

IEAVPFTE
If frame is offline,
free PFTE

-

-

PFTE
Enqueue/Dequeue
IRARMINT
IRARMIOO

Notify SRM when
all frames online

via

-

--"

~

SYSEVENT

22

Update tables with
number of new real
frame

EXIT

)

VARY STORAGE
OFFLINE
IEAVPFTE
If frame not currently
in use, remove from
available queue

-

-

PFTE
Enqueue/Dequeue
IRARMINT
IRARMIOO

When all frames have
been processed

-

via

-..

SYSEVENT

Update tables with
decrease in real frames

22

IEAVPCB

If frame not taken
offl ine immediately,
get a PCB

-

.. ~

PCB Manager

IEAVRCV
If internal error
occurs

(

-

Record error and
restart terminating
routine

EXIT
to caller

Figure 3-82. RSM Module Flow - lEA VRCF (Part 2 of 2)

Section 3: Program Organization

6-179

from lEA VPFTE

(

ENTER

)

IEAVRCF "
IEAVRCFI
If frame part of pending
offline request, get an
SRB

-

..

IEAVGTCL
GETCELL

IEAVRCF

-

via

Schedule off I ine
completion

.

dispatched
SRB

IEAVRCFC
Process offl i ne
completion

IRARMINT
If frame suffered
unrecoverable error

If internal errors occur

via

.

sysevent

--

..

IRARMIOO
Note decrease in real
storage

IEAVRCV
Record error, restart
terminating routine

lIP

(

EXIT

)

to IEAVPFTE

Figure 3-83. RSM Module Flow - IEAVRCF Offline Interception and Offline Completion (Part I of 2)

6-180

OS/VS2 System Logic Library Volume 6 (VS2 Release 3.7)

from Dispatcher
scheduled by SRB

C

ENTER

IEAVRCF

)

"

IEAVRCFC
Offline
Completion

-

....

Free SRB

Get SALLOC lock

Free root PCB

Release SALLOC lock;
get local lock

....

--

-

--

....

--

...

IEAVFRCL.
FREECELL

IEAVELK
SETLOCK

IEAVPCB
PCB Manager

IEAVELK,
SETLOCK

IEAVSY50

--

Post requestor's
ECB

If internal errors occur

C

EXIT

-

POST

.

IEAVRCV
Record 'error and restart
terminating routine

)

to IEAVEDSO

Figure 3-83. RSM Module Flow - lEAVRCF Offline Interception and Offline Completion (Part 2 of 2)

Section 3: Program Organization 6-181

(

ENTER

)
IRARMINT

IEAVPFTE
If available queue
becomes too low after
dequeue

_via

..

SYSEVENT
23

IRARMIOO
Note available frame
queue is low

IEAVEQR

IEAVEQR
If V=R Intercept flag
is on in PFTE

.~

--.

IEAVEQRI
Schedule completion
processing

--

via SRB
Dispatch

-

..-

Perform completion
processing

IEAVRCF

IEAVRCF
If offline intercept flag
is on in PFTE

IEAVEQRC

IEAVRCFC

IEAVRCFI
_ via SRB _
......
Dispatch

Process Offl i ne
Interception

~

Perform completion
processing

IRARMINT
If available queue
gains enough frames
through enqueue

If a PCB is on the GFA
Defer Queue, get an
SRB

-.

.
---

--

--..

via

SYSEVENT
24

~

IRARMIOO
Available frame
queue is normal

IEAVGTCL
GETCELL

IEAVGFA
Schedule GFA Defer
processing

via

..-

-dispatched
~

SRB

IEAVELK

IEAVGFAD

-

,

Defer Processor

-

-..

SETLOCK

Get SALLOC lock

1

(

EXIT
to caller

)

IEAVPCB
Remove PCBs from
the GFA Defer Queue

.-

Pass PCBs to IEAVGFA
mainline

.-

..-

PCB Manager

IEAVGFA

C

~

EXIT

~

)

to IEAVEDSO

Figure 3·84. RSM Module Flow - lEA VPFTE

6·182

OS/VS2 System Logic Libr8l'Y Volume 6 (VS2 Release 3.7)

-

......

General Frame
Allocation

from NIP or
RSM routine

(

ENTER

)

IEAVPCB
If NIP is caller get SQA
space for PCBs and
SRBs; if NIP is not
caller and if expansion
is required, get SQA
space

Create RSM pool for
SRBs after SQA
allocation

IEAVGMOO

-

..
·

GETMAIN

IEAVREP3

--

··

Replenish SRB
Pool on NIP call

IEAVBLDP

---

-.

Build Quick
Cell Pool

d,

(

EXIT

)

to caller

Figure 3-85. RSM Module Flow - lEA VPCB

Section 3: Program Organization

6-183

from branch entry
routine

C

)

ENTER

.if

via
RISGNL

IEAVINV
Master CPU signals
all other CPUs to
enter slave routine
to synchronize the
purging of the
trans!ation look
aside buffers

- -.

IEAVERI
via
I nterprocessor
Communication

..

Record error and
restart routine

EXIT
to caller

(

ENTER)

I

from
RSM
routines

ENTER

I

from non·
RSM
routines

IEAVFP

IEAVTRV

Calculate PGTE,
XPTE addresses

Translate real address
into virtual address

to caller

Figure 3·86. RSM Module Flow - IEAVINV, IEAVFP, IEAVTRV

6-184

External Interrupt
Handler

IEAVEES

-..

Branch

Synchronize
with
IEAVERI
:

,if

(

--

via

,1.
IEAVRCV

If internal errors occur

..

external
interrupt

IEAVEEXT

OS!VS2 System Logic Library Volume 6 (VS2 Relealle 3.7)

(

EXIT

")

to interrupted routine or
to the dispatcher
(JEAVEDSO)

via
Branch

IEAVINV
Slave Routine
in each CPU
(PTLB)

from IEAVESVC or
from RSM routine

C ENTER )
IEAVGMOO
Check callers
authorization

Check input for SVC 4

IEAVTEST

-

--

TESTAUTH

IEAOVLOO

--

-

Validate input

and

SVC 5

If SP 242 or 247
requested

If GETMAIN crosses
segment boundary

--

-

---

--

..

--

..-

-

via

-..

SYSEVENT

If one or more
complete pages freed

Validate input

IEAVPRTO
GETPART/FREEPART

IEAVCSEG
Create Segment

IEAVSQA

..

If LSQA obtained, get
LSQA frame

If SQA freed

IEAOVL01

-

LSQA/SQA
Allocation

IRARMINT
Note availability
ofSQA

--

IEAVRELS
Page Release

,
C

EXIT

to IEAVEEXP or caller

Figure 3-87. VSM Module Flow (Part 1 of 4)

Section 3: Propun OIganization

6-185

from IEAVGMOO

(

ENTER

)

,Ir

IEAVPRTO
-IEAVEQR
For V=R request,
allocate or release
V=R frames

--

...

V=R Allocation

IEAVSY50
When space available
for GETPART, post
ECB

----

--.

When FREEPART frees
space

--

....

POST

IEAVGMOO
~

FREEMAIN

r

(

EXIT

)

to IEAVGMOO

Figure 3-87. VSM Module Flow (Part 2 of 4)

6-186

OS/VS2 System Logic Library Volume 6 (VS2 Release 3.7)

~I
~I

from I EAVEMCR
IEAVTSKT
IEAVEOR

C

ENTER

)

,It

IEAVGCAS
To set up RSM data
areas

Free virtual storage

.....-

--

-..

IEAVITAS
RSM Address Space
Initial ization

...

IEAVGMOO
FREEMAIN

~

C

EXIT

)

to caller

C

ENTER

)

,It

IEAVBLDP
Build a pool of
quickcells

"

EXIT

)

to caller

Figure 3-87. VSM Module Flow (Part 3 of 4)

Section 3: Program Organization

6-187

VS2.03.80S

(

(

ENTER

ENTER

"
IEAVGTCL

1W

C

Change storage
protection key
ot'a virtual
storage area

EXIT

~

to caller

(

EXIT
to caller

(

ENTER

)

•
IEAVFRCL
Free cell to quickcell
pool

,
(

EXIT

)

to caller

C

ENTER

)

.,
IEAVDELP
Del ete qu ickcell pool

---

-

IEAVGMOO
Free virtual space IJsed
for cells

,
(

EXIT

)

to caller

Figure 3-87. VSM Module Flow (Part 4 of 4)

6-188

IEAVFP2

IEAVCKEY

Get a cell from
quickcell pool

OS/VS2 System Logic Library Volume 6 (VS2.03.805)


Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : No
XMP Toolkit                     : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37
Create Date                     : 2012:06:08 20:17:50-08:00
Modify Date                     : 2012:06:10 09:39:20-07:00
Metadata Date                   : 2012:06:10 09:39:20-07:00
Producer                        : Adobe Acrobat 9.51 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:e1cdcc47-6b38-4a0c-81c4-2e20ca354d12
Instance ID                     : uuid:9e463638-183e-4859-afbe-f70146053ffa
Page Layout                     : SinglePage
Page Mode                       : UseNone
Page Count                      : 360
EXIF Metadata provided by EXIF.tools

Navigation menu