Der virtuelle Adressraum für System und Benutzer, der durch Hauptspeicher und Seitenwechselspeicher realisiert ist, wird in folgende 6 Klassen unterteilt:
Klasse 1: residente Systemmodule (z.B Unterbrechungsanalyse, Pagingroutine, Task-Management, physikalische Ein-/Ausgabe); residente Tabellen
Klasse 2: seitenwechselbare Systemmodule (z.B Makro- und Kommandoverarbeitung)
Klasse 3: residente Tabellen, die dynamisch angelegt und wieder abgebaut werden (z.B. TCBs, PCBs, Adressumsetztabellen)
Klasse 4: seitenwechselbare Tabellen, die dynamisch angelegt und wieder abgebaut werden (z.B. Job-Management-Tabellen, DVS-Tabellen,Tabellen für Datenfernverarbeitung); nachladbare Systemmodule und sog. Shared Code, der über DSSM geladen und entladen werden kann
Klasse 5: seitenwechselbare Tabellen, die nur von der jeweiligen Task benötigt werden (z.B TFT, E/A-Bereiche, Tabellen zur Verwaltung von Prozeduren, Kennwort-Tabelle)
Klasse 6: Benutzerprogramm, Common-Memory-Pools
Die Klassen 1 bis 4 sind privilegierter Systemadressraum, der für den Benutzer nicht adressierbar ist. Eine Ausnahme ist der Shared-Code im Klasse-4-Speicher, der im Allgemeinen auch von Benutzern gelesen und ausgeführt werden kann.
Die Klasse 5 ist überwiegend privilegierter Benutzeradressraum, der als Kommunikationsbereich zwischen Benutzer- und Systemadressraum fungiert und mit Ausnahme der Ein-/Ausgabe-Bereiche für den Benutzer nicht adressierbar ist.
Die virtuelle Adressraumaufteilung kann bei der Systemeinleitung gestaltet und damit an die installationsspezifischen Bedürfnisse angepasst werden. Die dazu benötigten Daten für die Speicherverwaltung (Memory Management) werden über den Parameterservice eingelesen (siehe Kapitel „Parameterservice").
Kommando | Bedeutung |
ADD-USER | Eintrag im Benutzerkatalog erstellen |
MODIFY-USER-ATTRIBUTES | Festlegung der max. Größe des Klasse-6-Speichers einer Benutzerkennung (ADDRESS-SPACE-LIMIT) |
SHOW-USER-ATTRIBUTES | Ausgabe der max. erlaubten Größe des Klasse-6-Speichers einer Benutzerkennung (Feld ADDRESS-SPACE-LIMIT) |
SHOW-MEMORY-POOL-STATUS | Ausgabe der aktuell im System angelegten Memory Pools und der jeweils angeschlossenen Tasks |
Makro | Bedeutung |
ALESRV | Programm an einen Datenraum anschließen oder die Verbindung auflösen |
ALINF | Informationen über die Zugriffslisten ausgeben, mit denen Datenräume und deren Verbindungen verwaltet werden |
CSTAT | Status von Speicherseiten eines Programms ändern |
CSTMP | Lese-/Schreibstatus auf einen Memory Pool ändern |
DISMP | Teilnahme an einem Memory Pool beenden |
DSPSRV | virtuellen Adressraum für Datenadressierung erzeugen, erweitern, verkleinern oder löschen, Informationen über einen Datenraum ausgeben oder diesen freigeben |
ENAMP | Memory Pool einrichten oder die Teilnahme an einem bestehenden Memory Pool ermöglichen |
MINF | Informationen über die Speicherbelegung und Größe des Klasse-6-Speichers oder eines Memory Pools ausgeben |
RELM | zusammenhängenden Speicherbereich des aufrufenden Programms freigeben |
RELMP | (zusammenhängenden) Speicherplatz eines Memory Pools freigeben |
REQM | (zusätzlichen) Speicherplatz für das aufrufende Programm anfordern |
REQMP | (zusammenhängenden) Speicherplatz für einen Memory Pool anfordern |
SHOWMP | Ausgabe der aktuell im System angelegten Memory Pools und der jeweils angeschlossenen Tasks |
Tabelle 6: Schnittstellenübersicht zur Verwaltung des virtuellen Adressraums