Previous Topic: 2.5.4 Virtual Storage Concepts in MVS/XA

Next Topic: 2.5.4.2 Initialization and Management of Virtual Storage

2.5.4.1 Virtual Storage Map for MVS/XA


One of the goals of a virtual system is to relieve
application programs of memory management concerns.  In a
virtual memory system, a program is given a large amount of
virtual memory to use.  The operating system then allocates
real storage to jobs as required.  Figure 2-174 shows a
simplified view of virtual storage arrangement in an MVS/XA
system running several programs.  To each program, it appears
as if the entire virtual storage of 2 billion bytes (2
gigabytes or 2 GB) is available to it (minus areas used by
the system control program).

To provide the necessary virtual storage constraint relief,
allowing users to write applications that are substantially
larger than those possible in MVS/370 systems, MVS/XA
expanded the size of the address to 31 bits.  Programs can
now address up to 2 GB of virtual storage.  To maintain
compatibility with MVS/370 and yet provide expanded
addressability, MVS/XA provides areas of virtual storage that
are defined below the 16MB boundary line and "extended"
portions of most of these same areas that are defined above
the 16MB boundary line.

Figure 2-174 shows conceptually how this is done. MVS/XA
treats both the portion below the 16MB line and the extended
portion above the 16MB line as one logical area.  In the
figure, each job, started task, or TSO user running in an
MVS/XA system would have its own copy of the Private Area and
the Extended Private Area.



  2GB +--------+ +--------+   +--------+
      |Extended| |Extended|   |Extended|
      |Private | |Private |   |Private |
      |Area    | |Area    |   |Area    |
      |        | |        |   |        |
      |PROGRAM1| |PROGRAM2|. .|PROGRAMn|
      +--------+ +--------+   +--------+
      |Extended|
      |Common  |
      |Area    |
 16MB +========+ 16MB Boundary Line
      |Common  |
      |Area    |
      +--------+ +--------+   +--------+
      |Private | |Private |   |Private |
      |Area    | |Area    |   |Area    |
      |        | |        |   |        |
      |PROGRAM1| |PROGRAM2|. .|PROGRAMn|
   4K +--------+ +--------+   +--------+
      | Common |
      | Area   |
    0 +--------+


 Figure 2-174. Virtual Address Map - MVS/XA


ADDRESSING MODE AND MODULE LOCATION

A user may determine whether any particular program will use
24 bit or 31 bit addressing.  The AMODE attribute which is
specified to the assembler or linkage editor specifies 31 bit
addressing.  The default if AMODE attribute is not specified
is 24 bit addressing.

A user may also determine whether modules are to be loaded
into the User Region (below the 16MB line) or the Extended
User Region (above 16MB line) via the RMODE attribute for the
assembler or linkage editor.  The default if the RMODE
attribute is not specified is to load the module into the
User Region below the 16MB line.  This allows programs
written for MVS/370 to run in MVS/XA with generally no
modification.

A more detailed map of the different areas within the 2GB
address range of virtual storage is shown in Figure 2-175.

+----------------------------------------+ 2GB
| Extended Private Area                  |
|            **Free Space**              |
|   VSM and RSM Work Areas               |
|   Private Area Page Tables             |
+     -    -    -    -    -    -    -    + 2GB minus
|   ELSQA - Extended LSQA                | approximately 9MB
|   Extended Authorized Region Subpools  |
|     ESWA - Extended SWA                |
|     EAUK - Extended AUK (229/230)      |
|     -    -    -    -    -    -    -    |
|            **Free Space**              |
|            **Free Space**              |
|     -    -    -    -    -    -    -    |
|   Extended User Region Subpools        |
+----------------------------------------+
| Extended Common Area                   |
|   ECSA - Extended CSA                  |
|   EMLPA - Extended MLPA                |
|   EFLPA - Extended FLPA                |
|   EPLPA - Extended PLPA                |
|   ESQA - Extended SQA                  |
|   ENUC - Extended Nucleus              |
+========================================+ 16MB Boundary Line
| Common Area                            |
|   NUC - Nucleus                        |
|   SQA - System Queue Area              |
|   PLPA - Pageable Link Pack Area       |
|   FLPA - Fixed Link Pack Area          |
|   MLPA - Modified Link Pack Area       |
|   CSA - Common System Area             |
+----------------------------------------+
| Private Area                           |
|   LSQA - Local System Queue Area       |
|   Authorized Region Subpools           |
|     SWA - Scheduler Work Area          |
|     AUK - Authorized User Key(229/230) |
|     -    -    -    -    -    -    -    |
|            **Free Space**              |
|            **Free Space**              |
|     -    -    -    -    -    -    -    |
|   User Region Subpools                 |
|     -    -    -    -    -    -    -    | 20K
|   System Region                        |
+----------------------------------------+ 4K
| Common Area                            |
|   PSA - Prefixed Storage Area          |
+----------------------------------------+ 0


 Figure 2-175. Detailed Virtual Address Map - MVS/XA

This map shows further detail within each of the four major
areas of MVS/XA virtual storage:  Extended Private Area,
Extended Common Area, Common Area, and Private Area.  MVS/XA
manages this virtual storage via the Virtual Storage Manager
(VSM).

Note that the PSA and the System Region do not have
counterparts above the 16MB boundary line.  Similarly, the
VSM and RSM Work Areas and the Private Area Page Tables have
no counterparts below the 16MB boundary line.