Previous Topic: 6.7.1 Real and Virtual Memory

Next Topic: 6.7.3 Paging and Swapping

6.7.2 Address Spaces and the Memory Map


A job step, started task, or TSO session exists in z/OS as an
address space.  The maximum address space size is determined
by the addressing range of the operating system.

The 16 MB address space is made up of 256 64 KB segments,
each of which is made up of 16 4 KB pages.  So an address
space is nothing more than a great quantity of 4 KB pages
that z/OS moves in and out of central storage, expanded
storage, and auxiliary storage as it manages the memory
resources.

Before virtual memory, every byte that constituted a task or
job step had to be in real memory for the duration of
execution.  Studies have shown, however, that most programs
tend to have localized activity over the duration of their
execution.  This means that the instructions and in-program
data activity tend to occur within a localized subset of the
complete program.  The concept of virtual memory exploits
this by keeping the entire address space in relatively
inexpensive DASD and moving the active pages to central
storage as they are needed.  This allows the multiprogramming
level to increase dramatically and allows the simultaneous
execution of hundreds of TSO sessions, CICS and IMS sessions,
started tasks, and batch jobs.

The virtual storage layout for a single address space is
shown below.  The CA MICS Batch and Operations Analyzer data
elements found in the step level files are shown in
parentheses in the storage area whose value they contain.

--------------------------------------------------------2 GB
Extended | Extended LSQA/SWA/229/230        (PGMEAR)   |
Private  |---------------------------------------------|
(PGMERG) | Extended User Region             (PGMEUR)   |
-------------------------------------------------------|
Extended | Extended CSA                                |
Common   |---------------------------------------------|
         | Extended PLPA/FLPA/MLPA                     |
         |---------------------------------------------|
         | Extended SQA                                |
         |---------------------------------------------|
         | Extended Nucleus                            |
-------------------------------------------------------|16 MB
Common   | Nucleus                                     |
         |---------------------------------------------|
         | SQA                                         |
         |---------------------------------------------|
         | PLPA/FLPA/MLPA                              |
         |---------------------------------------------|
         | CSA                                         |
-------------------------------------------------------|
Private  | LSQA/SWA/229/230                 (PGMARB)   |
(PGMRGB) |---------------------------------------------|
         | User Region                      (PGMURB)   |
         |---------------------------------------------|24 KB
         | System Region (RCT)                         |
-------------------------------------------------------|8 KB
Common   | PSA                                         |
-------------------------------------------------------|0

The common area contains system control programs and control
blocks.  The segment tables for each address space all point
to the same segments that make up the common area.  In this
way, each address space appears to have its own copy of the
common area, but there is only one set of pages and segments
that make up this shared area.  The common area is made up of
the following parts:

                                   Below 16MB   Above 16MB

       Prefixed storage area          PSA         ----
       Common service area            CSA         ECSA
       Pageable link pack area        PLPA        EPLPA
       Fixed link pack area           FLPA        EFLPA
       Modified link pack area        MLPA        EMLPA
       System queue area              SQA         ESQA
       Nucleus

The private area is unique to each address space and is made
up of the instructions, data buffer areas, control blocks,
and so on that make up the task.  The z/OS private area of an
address space is partitioned as follows:

                                   Below 16MB   Above 16MB

       Local system queue area        LSQA        ELSQA
       Scheduler work area            SWA         ESWA
       Subpools 229/230
       System region area                         ----
       Private user region

The CA MICS variables shown in the MVS memory maps above are
measures of total storage amounts used by the various parts
that make up the address space of a job step, started task,
or TSO session.  The next sections discuss the statistics
that provide information about memory management.