|
Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM. |
NSUBK
Control Block Contents
NSUBK DSECT
Cross Reference (Contains links to field and bit definitions)
NSUBK Prolog
NAME : HCPNSUBK
DESCRIPTION: Auxillary Storage Management utility data
DSECT : NSUBK
FUNCTION : This block will map the ASM data module HCPNSUDA.
LOCATED BY : This block is located in HCPNSUDA.
NOTES :
Data Queue Definitions
----------------------
Saved Segment SNTBK queue: The Saved Segment SNTBK queue is
a list of SNTBKs that represents each DCSS and Segment Space
that is currently loaded by at least one user. Its header
is NSUSGQAN.
Named Saved System SNTBK queue: The Named Saved System SNTBK
queue is a list of SNTBKs that represents each Named Saved
System that is IPL'd by at least one user. Its header is
NSUSYQAN.
*NSS SDF queue: The *NSS SDF queue is a list of all Saved
Segment and Named Saved System SDF files. Whenever a Saved
Segment or Named Saved System is defined a spool file is
created and put onto this queue. When the first DIAG X'64'
Load or CP IPL command is processed for the Saved Segment
or Named Saved System, the SDF file is opened, the SNTBK
description page is read into storage and put onto the
Saved Segment SNTBK or Named Saved System SNTBK queue
respectively. If the Saved Segment is a member segment then
the Segment Space SNTBK will be put onto the Saved Segment
SNTBK queue. The SDF file remains open for read as long as
at least one user has the Saved Segment loaded or the Named
Saved System IPLed. The header of the *NSS SDF queue is
located in the FILID table (reserved entry *NSS).
VMDBK/SHRBK queue: The VMDBK/SHRBK is a queue of SHRBKs
that represents a DIAG X'64' Load or CP IPL command for
the owner of the VMDBK. Each time a Saved Segment or Named
Saved System is loaded a SHRBK is added to this queue. It
is removed by a DIAG X'64' Purge request or a system reset.
The header of the VMDBK/SHRBK is VMDSHRPT.
SNTBK/SHRBK queue: The SNTBK/SHRBK is a queue of SHRBKs that
represents a DIAG X'64' Load or CP IPL command for this
Saved Segment or Named Saved System. Each time a Saved
Segment or Named Saved System is loaded a SHRBK is added to
this queue. It is removed by a DIAG X'64' Purge request or
a system reset. The header of the SNTBK/SHRBK is SNTSHRPT.
SAVESEG SNTBK queue: The SAVESEG SNTBK queue is a list of
SNTBKs that represents each Saved Segment that is currently
being saved. This queue should be referenced by any CP
function (such as Query or Purge NSS) that needs to obtain
information about a Saved Segment that is currently being
saved. The header of the SAVESEG queue is NSUSSGAN.
SAVESYS SNTBK queue: The SAVESYS SNTBK queue is a list of
SNTBKs that represents each Named Saved System that is
currently being saved. This queue should be referenced by
any CP function (such as Query or Purge NSS) that needs to
obtain information about a Named Saved System that is
currently being saved. The header of the SAVESYS queue is
NSUSSYAN.
SPTape SNTBK queue: The SPTape SNTBK queue is a list of
SNTBKs that represents each unloadable Named Saved System or
Saved Segment that is currently being SPTape dumped. This
queue should be referenced by any CP function (such as
Query or Purge NSS) that needs to obtain information about
a Saved Segment or Named Saved System that is currently
being SPTape dumped. The header of the SPTape SNTBK queue
is NSUSPTAN.
Lock Hierarchy for Saved Segment or Named Saved System
------------------------------------------------------
Level 1 Locks: VMDBK/SHRBK queue lock (VMDSHRLK)
DEFSEG/SAVESEG exclusive command lock
(NSUDSGLK)
DEFSYS/SAVESYS symbolic command lock
(NSUDSYAN)
Level 2 Lock: *NSS SDF queue lock (NSUSDFLK)
Level 3 Lock: Named Saved System SNTBK queue lock
(NSUSYQLK)
Level 4 Lock: Saved Segment SNTBK queue lock (NSUSGQLK)
Level 5 Lock: SNTBK/SHRBK queue lock (SNTSHRLK) for one of
Member Saved Segment, DCSS, or Named Saved
System
Level 6 Lock: SNTBK/SHRBK queue lock (SNTSHRLK) for Segment
Space
Note: 1) The level 1 locks are the hightest level locks and
the level 6 locks are the lowest level locks.
2) If locks need to be obtained from different levels,
then the higher level lock needs to be obtained
first.
See the definition and description of each individual
lock for more detailed information.
Saved Segment or Named Saved System serialization matrix
--------------------------------------------------------
+-----------------+-----+-----+-----+-----+-----+
| LVL1 | LVL2| LVL3| LVL4| LVL5| LVL6|
+-------+-----+-----+-----+-----+-----+-----+-----+-----+
| Func- | VMD | Def | Def | *NSS| NSS | Sseg| SNT | SNT |
| tion | SHR | Save| Save| SDF | Q | Q | SHR | SHR |
| | Q | seg | SYS | Q | lock| lock| Q | Q |
| | lock| cmd | cmd | lock| | | Lock| Lock|
| | | lock| lock| | | | |(SSP)|
+-------+-----+-----+-----+-----+-----+-----+-----+-----+
|DEFSEG | | exc | | exc | | | | |
+-------+-----+-----+-----+-----+-----+-----+-----+-----+
|SAVESEG| | exc | | exc | | | | |
+-------+-----+-----+-----+-----+-----+-----+-----+-----+
|DIAG 64| | | | | | shr | | |
|Find-1 | | | | | | | | |
+-------+-----+-----+-----+-----+-----+-----+-----+-----+
|DIAG 64| | | | exc | | | | |
|Find-2 | | | | | | | | |
+-------+-----+-----+-----+-----+-----+-----+-----+-----+
|DIAG 64| exc | | | | | shr | exc | exc |
|Load-1 | | | | | | | | |
+-------+-----+-----+-----+-----+-----+-----+-----+-----+
|DIAG 64| exc | | | exc | | exc | | |
|Load-2 | | | | | | | | |
+-------+-----+-----+-----+-----+-----+-----+-----+-----+
|DIAG 64| exc | | | | | shr | exc | exc |
|Purge1 | | | | | | | | |
+-------+-----+-----+-----+-----+-----+-----+-----+-----+
|DIAG 64| exc | | | exc | | exc | | |
|Purge2 | | | | | | | | |
+-------+-----+-----+-----+-----+-----+-----+-----+-----+
|Q NSS | | | | exc | | | | |
+-------+-----+-----+-----+-----+-----+-----+-----+-----+
|Q NSS | | | | | shr | shr | shr | shr |
|USERS | | | | | | | | |
+-------+-----+-----+-----+-----+-----+-----+-----+-----+
|Inter | exc | | | | shr | shr | exc | exc |
|Purge-1| | | | | | | | |
+-------+-----+-----+-----+-----+-----+-----+-----+-----+
|Inter | exc | | | exc | exc | exc | | |
|Purge-2| | | | | | | | |
+-------+-----+-----+-----+-----+-----+-----+-----+-----+
|DEFSYS | | | exc | exc | | | | |
+-------+-----+-----+-----+-----+-----+-----+-----+-----+
|SAVESYS| | | exc | exc | | | | |
+-------+-----+-----+-----+-----+-----+-----+-----+-----+
| IPL | exc | | | shr | shr | | exc | |
| NSS-1 | | | | | | | | |
+-------+-----+-----+-----+-----+-----+-----+-----+-----+
| IPL | exc | | | exc | exc | | | |
| NSS-2 | | | | | | | | |
+-------+-----+-----+-----+-----+-----+-----+-----+-----+
|Monitor| | | | | shr | shr | | |
|Sample | | | | | | | | |
+-------+-----+-----+-----+-----+-----+-----+-----+-----+
|Monitor| shr | | | | | | | |
| IUCV | | | | | | | | |
+-------+-----+-----+-----+-----+-----+-----+-----+-----+
|SPTape | exc | | | exc | exc | exc | | |
| Dump | | | | | | | | |
+-------+-----+-----+-----+-----+-----+-----+-----+-----+
|SPTape | | | | | | | | |
| load | | | | | | | | |
+-------+-----+-----+-----+-----+-----+-----+-----+-----+
| Purge | | | | exc | exc | exc | | |
| Cmd | | | | | | | | |
+-------+-----+-----+-----+-----+-----+-----+-----+-----+
| Indi- | | | | | shr | shr | | |
| cate | | | | | | | | |
| NSS | | | | | | | | |
+-------+-----+-----+-----+-----+-----+-----+-----+-----+
|VMdump | exc | | | | | | | |
+-------+-----+-----+-----+-----+-----+-----+-----+-----+
|Mig- | | | | | shr | shr | | |
|rator | | | | | | | | |
+-------+-----+-----+-----+-----+-----+-----+-----+-----+
Notes:
DIAG 64 Find-1 : Find a Saved Segment from the Saved Segment
SNTBK queue
DIAG 64 Find-2 : Find a Saved Segment from the *NSS SDF
queue
DIAG 64 Load-1 : Load a Saved Segment from the Saved Segment
SNTBK queue.
DIAG 64 Load-2 : Load a Saved Segment from the *NSS SDF
queue
DIAG 64 Purge1 : 'use-count' > 1, not the last user.
DIAG 64 Purge2 : 'use-count' = 1, last user of the Saved
Segment.
Inter Purge-1 : 'Internal' Purge, 'use-count' > 1, not the
last user.
Inter Purge-2 : 'Internal' Purge, 'use-count' = 1, last
user of the Saved Segment.
IPL NSS-1 : IPLing a Named Saved System from the Named
Saved System SNTBK queue
IPL NSS-2 : IPLing a Named Saved System from the *NSS
SDF queue
NSUBK Control Block Content
NSUBK DSECT
Hex Dec Type/Val Lng Label (dup) Comments
---- ---- --------- ---- -------------- --------
0000 0 Structure NSUBK Auxillary Storage Management
utility data
Saved Segment SNTBK Queue lock (NSUSGQLK)
Lock type: This is a formal shared or exclusive lock
Resource serialized: This lock will serialize the Saved Segment SNTBK
queue. The lock will be obtained shared when scanning the Saved Segment
SNTBK queue and exclusive when adding to, or deleting from, the queue.
Notes : If the *NSS SDF queue lock is held exclusively then the Saved
Segment SNTBK queue can be scanned without holding the queue lock. This
is because the *NSS SDF queue lock must be held exclusively to add or
remove a SNTBK from the Saved Segment SNTBK queue.
0000 0 Dbl-Word 8 NSUSGQLK (3) Shared/exclusive defer lock to
.serialize the queue of Saved
.Segment SNTBKs anchored at
.NSUNSGAN
Saved Segment SNTBK Queue anchors
0018 24 Dbl-Word 8 NSUNSGAN (0) Anchors to queue of Saved Segment
.SNTBKs
0018 24 Address 4 NSUNSGFW Foward pointer of Saved Segment
.SNTBKs
001C 28 Address 4 NSUNSGBK Backward pointer of Saved Segment
.SNTBKs
Named Saved System SNTBK Queue lock (NSUSYQLK)
Lock type: This is a formal shared or exclusive lock
Resource serialized: This lock will serialize the Named Saved System
SNTBK queue. The lock will be obtained shared when scanning the Named
Saved System SNTBK queue and exclusive when adding to, or deleting
from, the queue.
Notes : If the *NSS SDF queue lock is held exclusively then the Named
Saved System SNTBK queue can be scanned without holding the queue lock.
This is because the *NSS SDF queue lock must be held exclusively to add
or remove a SNTBK from the Named Saved System SNTBK queue.
0020 32 Dbl-Word 8 NSUSYQLK (3) Shared/exclusive defer lock to
.serialize the queue of NSS
.SNTBKs anchored at NSUNSYAN
NSS SNTBK Queue anchors
0038 56 Dbl-Word 8 NSUNSYAN (0) Anchors to queue of NSS SNTBKs.
0038 56 Address 4 NSUNSYFW Foward pointer of NSS SNTBKs.
003C 60 Address 4 NSUNSYBK Backward pointer of NSS SNTBKs.
IMG SNTBK Queue anchors and queue lock
0040 64 Dbl-Word 8 NSUIMGLK (3) Lockword for image SNTBK queue
lock.
0058 88 Dbl-Word 8 NSUIMGAN (0) Anchors to image HCPSNTBK queue.
0058 88 Address 4 NSUIMGFW Foward pointer of HCPSNTBK image
queue.
005C 92 Address 4 NSUIMGBK Backward pointer of HCPSNTBK
image queue.
NLS SNTBK Queue anchors and queue lock
0060 96 Dbl-Word 8 NSUNLSLK (3) Lockword for NLS SNTBK queue
lock.
0078 120 Dbl-Word 8 NSUNLSAN (0) Anchors to queue of NLS SNTBKs.
0078 120 Address 4 NSUNLSFW Foward pointer of NLS SNTBKs.
007C 124 Address 4 NSUNLSBK Backward pointer of NLS SNTBKs.
Saveseg SNTBK Queue anchors
Notes : This queue is serialized by *NSS SDF queue lock NSUSDFLK.
0080 128 Dbl-Word 8 NSUSSGAN (0) Anchors to queue of SAVESEG
SNTBKs
0080 128 Address 4 NSUSSGFW Foward pointer of SAVESEG SNTBKs
0084 132 Address 4 NSUSSGBK Backward pointer of SAVESEG
SNTBKs
Savesys SNTBK Queue anchors
Notes : This queue is serialized by *NSS SDF queue lock NSUSDFLK.
0088 136 Dbl-Word 8 NSUSSYAN (0) Anchors to queue of SAVESYS
SNTBKs
0088 136 Address 4 NSUSSYFW Foward pointer of SAVESYS SNTBKs
008C 140 Address 4 NSUSSYBK Backward pointer of SAVESYS
SNTBKs
SPTape SNTBK Queue anchors
Notes : This queue is serialized by *NSS SDF queue lock NSUSDFLK.
0090 144 Dbl-Word 8 NSUSPTAN (0) Anchors to queue of SPTape SNTBKs
0090 144 Address 4 NSUSPTFW Foward pointer of SPTape SNTBKs
0094 148 Address 4 NSUSPTBK Backward pointer of SPTape SNTBKs
DEFSEG/SAVESEG exclusive command lock (NSUDSGLK)
Lock type: This is a formal exclusive lock
Resource serialized: This lock serializes the DEFSEG and SAVESEG
commands. Only one DEFSEG or SAVESEG command can be processed at one
time.
0098 152 Dbl-Word 8 NSUDSGLK (3) Exclusive defer lock to serialize
.the DEFSEG/SAVESEG command
DEFSYS/SAVESYS symbolic command lock (NSUDSYAN)
Lock type: This is a formal exclusive symbolic name lock.
Resource serialized: This lock serializes the DEFSYS and SAVESYS
commands for the Named Saved System that is being defined or saved.
Only one DEFSYS or SAVESYS can be processed for a particular Named
Saved System at any given time.
00B0 176 Dbl-Word 8 NSUDSYAN Symbolic queue lock anchor to
.serialize the DEFSYS/SAVESYS
.command
*NSS SDF queue lock (NSUSDFLK)
Lock type: This is a formal shared or exclusive lock
Resource serialized: This lock will serialize the *NSS SDF queue, the
SAVESEG SNTBK queue, the SAVESYS SNTBK queue and the SPTape SNTBK
queue.
Functions serialized: This lock must be obtained exclusive to open any
"*NSS" spool file for read or write. It is also used to add or remove
SNTBKs from the SAVESEG SNTBK queue, the SAVESYS SNTBK queue, and the
SPTape SNTBK queue.
Notes : If the *NSS SDF queue lock is held exclusively then the Named
Saved System SNTBK queue or Saved Segment SNTBK queue can be scanned
without holding the queue lock. This is because the *NSS SDF queue lock
must be held exclusively to add or remove a SNTBK from the Named Saved
System SNTBK queue or the Saved Segment SNTBK queue.
00B8 184 Dbl-Word 8 NSUSDFLK (3) Exclusive defer lock to serialize
.the queue of SDFs owned by .user
*NSS
SDF multiple symbolic lock manager (NSUMSLKM)
Lock type: This is a formal exclusive lock
Functions serialized: This lock will be obtained by any CP function
(such as "Purge IMG/NLS ALL") that needs to obtain multiple symbolic
name locks for NLS/IMG files.
00D0 208 Dbl-Word 8 NSUMSLKM (3) Exclusive defer lock to serialize
.entry points that obtain
.multiple symbolic locks
IMG/NLS SDF symbolic queue lock anchor
00E8 232 Dbl-Word 8 NSUSYMAN Symbolic queue lock anchor for
IMG and NLS system data files.
NSUBK Storage Layout
*** NSUBK - Auxillary Storage Management utility data
*
* +-------------------------------------------------------+
* 0 | |
* = NSUSGQLK =
* | |
* +---------------------------+---------------------------+
* 18 | NSUNSGFW | NSUNSGBK |
* +---------------------------+---------------------------+
* 20 | |
* = NSUSYQLK =
* | |
* +---------------------------+---------------------------+
* 38 | NSUNSYFW | NSUNSYBK |
* +---------------------------+---------------------------+
* 40 | |
* = NSUIMGLK =
* | |
* +---------------------------+---------------------------+
* 58 | NSUIMGFW | NSUIMGBK |
* +---------------------------+---------------------------+
* 60 | |
* = NSUNLSLK =
* | |
* +---------------------------+---------------------------+
* 78 | NSUNLSFW | NSUNLSBK |
* +---------------------------+---------------------------+
* 80 | NSUSSGFW | NSUSSGBK |
* +---------------------------+---------------------------+
* 88 | NSUSSYFW | NSUSSYBK |
* +---------------------------+---------------------------+
* 90 | NSUSPTFW | NSUSPTBK |
* +---------------------------+---------------------------+
* 98 | |
* = NSUDSGLK =
* | |
* +-------------------------------------------------------+
* B0 | NSUDSYAN |
* +-------------------------------------------------------+
* B8 | |
* = NSUSDFLK =
* | |
* +-------------------------------------------------------+
* D0 | |
* = NSUMSLKM =
* | |
* +-------------------------------------------------------+
* E8 | NSUSYMAN |
* +-------------------------------------------------------+
* F0
*
*** NSUBK - Auxillary Storage Management utility data
NSUBK Cross Reference
Symbol Dspl Value -------------- ---- ----- NSUDSGLK 0098 NSUDSYAN 00B0 NSUIMGAN 0058 NSUIMGBK 005C NSUIMGFW 0058 NSUIMGLK 0040 NSUMSLKM 00D0 NSUNLSAN 0078 NSUNLSBK 007C NSUNLSFW 0078 NSUNLSLK 0060 NSUNSGAN 0018 NSUNSGBK 001C NSUNSGFW 0018 NSUNSYAN 0038 NSUNSYBK 003C NSUNSYFW 0038 NSUSDFLK 00B8 NSUSGQLK 0000 NSUSPTAN 0090 NSUSPTBK 0094 NSUSPTFW 0090 NSUSSGAN 0080 NSUSSGBK 0084 NSUSSGFW 0080 NSUSSYAN 0088 NSUSSYBK 008C NSUSSYFW 0088 NSUSYMAN 00E8 NSUSYQLK 0020
Last updated on 5 Jun 2001 at 16:01:55 EDT.
Copyright IBM Corporation, 1990, 2001