z/OS concepts
Previous topic | Next topic | Contents | Glossary | Contact z/OS | PDF


What's in an address space?

z/OS concepts

One way of thinking of an address space is as a programmer's map of the virtual storage available for code and data. An address space provides each programmer with access to all of the addresses available through the computer architecture.

z/OS® provides each user with a unique address space and maintains the distinction between the programs and data belonging to each address space. Because it maps all of the available addresses, however, an address space includes system code and data as well as user code and data. Thus, not all of the mapped addresses are available for user code and data.

Understanding the division of storage areas in an address space is made easier with a diagram. The diagram shown in Storage areas in an address space shows how an address space maintains the distinction between programs and data belonging to the user, and those belonging to the operating system.

Figure 1. Storage areas in an address space

Figure 1 shows the major storage areas in each address space. These are described briefly as follows:

All storage above 2 GB
This area is called high virtual storage and is addressable only by programs running in 64-bit mode. It is divided by the high virtual shared area, which is an area of installation-defined size that can be used to establish cross-address space viewable connections to obtained areas within this area.
Extended areas above 16 MB
This range of areas, which lies above the 16 MB boundary but below the 2 GB boundary, is a kind of "mirror image" of the common area below 16 MB. They have the same attributes as their equivalent areas below 16 MG, but because of the additional storage above the 16 MB boundary, their sizes are much larger.
Nucleus
This is a key 0, read-only area of common storage that contains operating system control programs.
SQA
This area contains system level (key 0) data accessed by multiple address spaces. The SQA area is not pageable (fixed), which means that it resides in central storage until it is freed by the requesting program. The size of the SQA area is predefined by the installation and cannot change while the operating system is active. Yet it has the unique ability to "overflow" into the CSA area as long as there is unused CSA storage that can be converted to SQA.
PLPA/FLPA/MLPA
This area contains the link pack areas (the pageable link pack area, fixed link pack area, and modified link pack area), which contain system level programs that are often run by multiple address spaces. For this reason, the link pack areas reside in the common area which is addressable by every address space, therefore eliminating the need for each address space to have its own copy of the program. This storage area is below the 16 MB boundary and is therefore addressable by programs running in 24-bit mode.
CSA
This portion of common area storage (addressable by all address spaces) is available to all applications. The CSA is often used to contain data frequently accessed by multiple address spaces. The size of the CSA area is established at system initialization time (IPL) and cannot change while the operating system is active.
LSQA/SWA/subpool 228/subpool 230
This assortment of subpools, each with specific attributes, is used primarily by system functions when the functions require address space level storage isolation. Because these areas are below the 16 MG boundary, these areas are addressable by programs running in 24-bit mode.
User Region
This area is obtainable by any program running in the user's address space, including user key programs. It resides below the 16 MB boundary and is therefore addressable by programs running in 24-bit mode.
System Region
This small area (usually only four pages) is reserved for use by the region control task of each address space.
Prefixed Save Area (PSA)
This area is often referred to as "low core." The PSA is a common area of virtual storage from address zero through 8191 in every address space. There is one unique PSA for every processor installed in a system. The PSA maps architecturally fixed hardware and software storage locations for the processor. Because there is a unique PSA for each processor, from the view of a program running on z/OS, the contents of the PSA can change any time the program is dispatched on a different processor. This feature is unique to the PSA area and is accomplished through a unique DAT manipulation technique called prefixing.

Given the vast range of addressable storage in an address space, the drawing in Figure 1 is not to scale.

Each address space in the system is represented by an address space control block or ASCB. To represent an address space, the system creates an ASCB in common storage (system queue area or SQA), which makes it accessible to other address spaces.





Copyright IBM Corporation 1990, 2010