The virtual address space for the system and for the users, which is implemented via main memory and paging memory, is divided into 6 classes:
Class 1: resident system modules (e.g. termination analysis, paging routine, task management, physical input/output); resident tables
Class 2: pageable system modules (e.g. macro and command processing)
Class 3: resident tables that are dynamically created and cleared (e.g. TCBs, PCBs, address translation tables)
Class 4: pageable tables that are dynamically created and cleared (e.g. job management tables, DMS tables, tables for teleprocessing); non-resident system modules and shared code that can be loaded and unloaded via DSSM
Class 5: pageable tables that are required only by the respective tasks (e.g. TFT, I/O areas, tables for managing procedures, password table)
Class 6: application program, common memory pools
Classes 1 to 4 constitute privileged system address space that is not user-addressable. An exception is shared code in class 4 memory, which can generally also be read and executed by users.
Class 5 is predominantly privileged user address space that serves as a communications area between the user and system address spaces. With the exception of the input/output areas it is not user-addressable.
Division of the virtual address space into system and user address space can be adapted to the installation-specific requirements by modifying the standard EXEC on Server Unit /390 appropriately (see chapter "Customizing the BS2000 Control System" in the manual "BS2000 OS DX System Installation"[55]). Moreover, further data required for memory management in this context is read in via the parameter service (see chapter "Parameter service").
Command | Meaning |
ADD-USER | Create an entry in the user catalog |
MODIFY-USER-ATTRIBUTES | Define the maximum size of the class 6 memory of a user ID (ADDRESS-SPACE-LIMIT) |
SHOW-USER-ATTRIBUTES | Output of the maximum permissible size of the class 6 memory of a user ID (ADDRESS-SPACE-LIMIT field) |
SHOW-MEMORY-POOL-STATUS | Output of the memory pools currently created in the system and of the tasks which are attached |
Macro | Meaning |
ALESRV | Connect a program to a data space or cancel the connection |
ALINF | Output information on the access lists used for managing data spaces and their connections |
CSTAT | Change status of the memory pages of a program |
CSTMP | Change memory pool read/write status |
DISMP | Terminate participation in a memory pool |
DSPSRV | Create, expand or delete virtual address space for data addressing, output information on a data space or release this data space |
ENAMP | Create memory pool or enable participation in an existing memory pool |
MINF | Output information on the allocation and size of class 6 memory or a memory pool |
RELM | Release a contiguous memory area of the calling program |
RELMP | Release (contiguous) storage space of a memory pool |
REQM | Request (additional) storage space for the calling program |
REQMP | Request (contiguous) storage space for a memory pool |
SHOWMP | Output of the memory pools currently created in the system and of the tasks which are attached |
Table 6: Overview of interfaces for managing the virtual address space