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


The role of storage managers

z/OS concepts

Central storage frames and auxiliary storage slots, and the virtual storage pages that they support, are managed by separate components of z/OS®. These components are known as the real storage manager (not central storage manager), the auxiliary storage manager, and the virtual storage manager.

Real storage manager
The real storage manager or RSM keeps track of the contents of central storage. It manages the paging activities– such as page-in, page-out, and page stealing– and helps with swapping an address space in or out. RSM also performs page fixing, which is marking pages as unavailable for stealing.
Auxiliary storage manager
The auxiliary storage manager or ASM uses the system's page data sets to keep track of auxiliary storage slots. Specifically:
  • Slots for virtual storage pages that are not in central storage frames
  • Slots for pages that do not occupy frames but, because the frame's contents have not been changed, the slots are still valid.
When a page-in or page-out is required, ASM works with RSM to locate the proper central storage frames and auxiliary storage slots.
Virtual storage manager
The virtual storage manager or VSM responds to requests to obtain and free virtual storage. VSM also manages storage allocation for any program that must run in real, rather than virtual storage. Real storage is allocated to code and data when they are loaded in virtual storage. As they run, programs can request more storage by means of a system service, such as the GETMAIN macro. Programs can release storage with the FREEMAIN macro.

VSM keeps track of the map of virtual storage for each address space. In so doing, it sees an address space as a collection of 256 subpools, which are logically related areas of virtual storage identified by the numbers 0 to 255. Being logically related means the storage areas within a subpool share characteristics such as:

  • Storage protect key
  • Whether they are fetch protected, pageable, or swappable
  • Where they must reside in virtual storage (above or below 16 megabytes)
  • Whether they can be shared by more than one task

Some subpools (numbers 128 to 255) are predefined by use by system programs. Subpool 252, for example, is for programs from authorized libraries. Others (numbered 0 to 127) are defined by user programs.





Copyright IBM Corporation 1990, 2010