
Der Erweiterungsspeicher ist das Kernstück des Memory-Management-Systems. Jeder SAP-Workprozess hat in seinem virtuellen Adressraum einen Teil für den Erweiterungsspeicher reserviert. Sie können die Größe mit dem Profilparameter em/initial_size_MB einstellen.
Sie können den Erweiterungsspeicher von der gemeinsamen Ressource (Shared-Memory-Segment) auf einen beliebigen Workprozess (siehe Grafik) auf die gleiche Adresse im virtuellen Adressraum abbilden. Dies ist wichtig, wenn Sie im ABAP-Programm mit Zeigern arbeiten.
Die folgende Abbildung zeigt zwei Workprozesse, die auf eine gemeinsame Ressource zugreifen:
Die gemeinsame Ressource (Shared-Memory-Segmente im Teraspace) enthält alle Benutzerkontexte und wird immer komplett im Teraspace-Adressraum von jedem Workprozess abgebildet.
Die Abbildung stellt einen Kontextwechsel oder -transfer dar:
Der Kontext von Benutzer x, Modus y wird im Erweiterungsspeicher von Workprozess 1 verfügbar gemacht. Der Workprozess bearbeitet eine Anfrage dieses Kontexts.
Analog wird der Kontext von Benutzer n, Modus m in Workprozess 2 verfügbar gemacht.
Nach der Bearbeitung "legen" beide Workprozesse den (veränderten) Kontext in die gemeinsame Ressource zurück, indem sie ihn wieder freigeben.
Workprozess 1 kann anschließend den Kontext von Benutzer n, Modus m und Workprozess 2 den Kontext von Benutzer x, Modus y bearbeiten.
Die Startadresse für den Erweiterungsspeicher im Teraspace ist für alle Workprozesse gleich.
Für die Seitenverwaltung des Erweiterungsspeichers bildet das SAP-System einen zusätzlichen Aufsatz auf die Betriebssystemfunktionen. Der Erweiterungsspeicher ist als Teraspace-Shared-Memory implementiert, d.h., der Adressraum nutzt als Hintergrundspeicher den ungeschützten Speicher des Betriebssystems. Weitere Informationen finden Sie in der Teraspace-Dokumentation für das Betriebssystem IBM i.