The subpool table
The following table lists the subpools and their attributes. Be sure to read the notes at the end of the table where applicable.
Subpool | Location | Fetch Protection | Type | Owner | Storage Key | See Notes at End of Table |
---|---|---|---|---|---|---|
0-127 |
Private low | Yes | Pageable | Task. TCB identified in note 10. | Same as TCB key at time of first storage request. | 1,5,7,9,12 |
129 |
Private low | Yes | Pageable | Job step. TCB whose address is in TCBJSTCB of TCB identified in note 10. | Selectable. See Table 1. | 1,12 |
130 |
Private low | No | Pageable | Job step. TCB whose address is in TCBJSTCB of TCB identified in note 10. | Selectable. See Table 1. | 1,12 |
131 |
Private low | Yes | Pageable | Job step. TCB whose address is in TCBJSTCB of TCB identified in note 10. | Selectable. See Table 1. | 1,5,6,12 |
132 |
Private low | No | Pageable | Job step. TCB whose address is in TCBJSTCB of TCB identified in note 10. | Selectable. See Table 1. | 1,5,6,12 |
203 |
Private ELSQA | No | DREF | Task. TCB shown in Table 1. | 0 | 2,4 |
204 |
Private ELSQA | No | DREF | Job step. TCB whose address is in TCBJSTCB of TCB shown in Table 1. | 0 | 2,4 |
205 |
Private ELSQA | No | DREF | Address space | 0 | 2,4 |
213 |
Private ELSQA | Yes | DREF | Task. TCB shown in Table 1. | 0 | 2,4 |
214 |
Private ELSQA | Yes | DREF | Job step. TCB whose address is in TCBJSTCB of TCB shown in Table 1. | 0 | 2,4 |
215 |
Private ELSQA | Yes | DREF | Address space | 0 | 2,4 |
223 |
Private ELSQA | Yes | Fixed | Task. TCB shown in Table 1. | 0 | 2,4 |
224 |
Private ELSQA | Yes | Fixed | Job step. TCB whose address is in TCBJSTCB of TCB shown in Table 1. | 0 | 2,4 |
225 |
Private ELSQA | Yes | Fixed | Address space | 0 | 2,4 |
226 |
Common SQA/ESQA | No | Fixed | System | 0 | 3 |
227 |
Common CSA/ECSA | Yes | Fixed | System | Selectable. See Table 1. | 1 |
228 |
Common CSA/ECSA | No | Fixed | System | Selectable. See Table 1. | 1 |
229 |
Private high | Yes | Pageable | Task. TCB shown in Table 1. | Selectable. See Table 1. | 1 |
230 |
Private high | No | Pageable | Task. TCB shown in Table 1. | Selectable. See Table 1. | 1 |
231 |
Common CSA/ECSA | Yes | Pageable | System | Selectable. See Table 1. | 1 |
233 |
Private LSQA/ELSQA | No | Fixed | Task. TCB shown in Table 1. | 0 | 2 |
234 |
Private LSQA/ELSQA | No | Fixed | Job step. TCB whose address is in TCBJSTCB of TCB shown in Table 1. | 0 | 2 |
235 |
Private LSQA/ELSQA | No | Fixed | Address space | 0 | 2 |
236 |
Private high | No | Pageable | Task. TCB identified in note 11. | 1 | 2 |
237 |
Private high | No | Pageable | Task. TCB identified in note 11. | 1 | 2 |
239 |
Common SQA/ESQA | Yes | Fixed | System | 0 | 2 |
240 |
Private low | Yes | Pageable | Task. TCB identified in note 10. | Same as TCB key at time of first storage request. | 1,8,9,12 |
241 |
Common CSA/ECSA | No | Pageable | System | Selectable. See Table 1. | 1 |
244 |
Private low | No | Pageable | Job step. TCB whose address is in TCBJSTCB of TCB identified in note 10. | Selectable. See Table 1. | 1,12 |
245 |
Common SQA/ESQA | No | Fixed | System | 0 | 2 |
247 |
Common ESQA | Yes | DREF | System | 0 | 2,4 |
248 |
Common ESQA | No | DREF | System | 0 | 2,4 |
249 |
Private high | No | Pageable | Job step. TCB whose address is in TCBJSTCB of TCB shown in Table 1. | Selectable. See Table 1. | 1 |
250 |
Private low | Yes | Pageable | Task. TCB identified in note 10. | Same as TCB key at time of first storage request. | 1,8,9,12 |
251 |
Private low | Yes | Pageable | Job step. TCB whose address is in TCBJSTCB of TCB shown in Table 1. | Same as TCB key at time of first storage request. | 1,9,12 |
252 |
Private low | No | Pageable | Job step. TCB whose address is in TCBJSTCB of TCB shown in Table 1. | 0 | 1,12 |
253 |
Private LSQA/ELSQA | No | Fixed | Task. TCB shown in Table 1. | 0 | 2 |
254 |
Private LSQA/ELSQA | No | Fixed | Job step. TCB whose address is in TCBJSTCB of TCB shown in Table 1. | 0 | 2 |
255 |
Private LSQA/ELSQA | No | Fixed | Address space | 0 | 2 |
Notes:
- Virtual storage is first backed by central storage when it is
referenced or when it is page-fixed by a program using the PGSER macro.
The location of the central storage backing this subpool depends on
the value of the LOC parameter on the GETMAIN, STORAGE, or CPOOL macro
invocation used to obtain the storage. Central storage is assigned
below 16 megabytes only if one of the following is true:
- The program obtaining the storage specified LOC=24 when obtaining the storage.
- The program obtaining the storage resides below 16 megabytes, specified LOC=RES either explicitly or by default, and specified a subpool supported below 16 megabytes.
- Central storage backing this subpool can be above 2 gigabytes when LOC=(xx,64) is specified.
- Central storage backing this subpool resides below 16 megabytes.
- This subpool is valid only when allocating virtual storage above 16 megabytes.
- Subpools 0-127, 131, and 132 are the only valid subpools for unauthorized programs. A request by an unauthorized program for a subpool other than 0-127, 131, or 132 causes abnormal termination of the program.
- A program can issue a request to obtain or release storage from
subpool 131 or 132 in a storage key that does not match the PSW key
under which the program is running. However, the system will accept
the storage request only if the requesting program is authorized in
one of the following ways:
- Running in supervisor state
- Running under PSW key 0-7
- APF-authorized (valid for GETMAIN, FREEMAIN, CPOOL, and STORAGE macros)
- Having a PSW-key mask (PKM) that allows it to switch its PSW key to match the storage key of the storage specified. On a request to release all the storage in the subpool, the program must be able to switch its PSW key to match all the storage keys in the subpool.
- Subpool 0 requests by programs in supervisor state and PSW key 0 are translated to subpool 252 requests and assigned a storage key of 0.
- Subpool 240 and 250 requests are translated to subpool 0 requests. This permits programs running in supervisor state and PSW key 0 to acquire or free subpool 0 storage. If a program is running in supervisor state and key 0, the system translates subpool 0 storage requests to subpool 252 storage requests. For more information, see Table 1.
- The system assigns the storage key based on the key in the requesting task's TCB at the time of the task's first storage request, not the current key in the TCB (unless this is the task's first storage request).
- The GSPV, SHSPV, and SZERO parameters on the ATTACH or ATTACHX macro invocation used to create the currently active task determine which TCB owns the storage in this subpool. These parameters specify the subpools to be owned by the subtask being attached (GSPV) and the subpools to be shared by the attaching task and the subtask being attached (SHSPV, SZERO). If the currently active task was given ownership of the subpool, then the TCB of the currently active task owns the storage in this subpool. If the currently active task is sharing this subpool with the task that created it, then the TCB of the attaching task owns the storage in this subpool. For more information, see the descriptions of the ATTACH and ATTACHX macros in z/OS MVS Programming: Authorized Assembler Services Reference ALE-DYN and the virtual storage management topic in z/OS MVS Programming: Assembler Services Guide.
- Virtual storage is located within the scheduler work area (SWA). The storage is freed at the end of the started task or at initiator termination for subpool 236 and at the end of the job for subpool 237. The NSHSPL and NSHSPV parameters on the ATTACH or ATTACHX macro invocation used to create the currently active task determine ownership of the subpool. If the currently active task was given ownership of the subpool, then the TCB of the currently active task owns the storage in this subpool. If the currently active task is sharing this subpool with the attaching task, then the TCB of the attaching task owns the storage in this subpool. For more information, see the description of the ATTACH and ATTACHX macros in z/OS MVS Programming: Authorized Assembler Services Reference ALE-DYN and the virtual storage management topic in z/OS MVS Programming: Assembler Services Guide. For additional information about the SWA, see z/OS MVS Initialization and Tuning Guide.
- This subpool is backed by a 1 megabyte page frame, if available, when LOC=(31,PAGEFRAMESIZE1MB) or LOC=(EXPLICIT,PAGEGRAMESIZE1MB) is specified on the STORAGE macro.