Show TOC

HintergrundMemory Management auf IBM i Dieses Dokument in der Navigationsstruktur finden

 

Die Grundlage für das Memory Management auf IBM i bildet temporärer dynamischer Speicher. Dabei wird sowohl einstufiger Speicher (Single-Level Storage, SLS) als auch Teraspace verwendet. Außerdem werden für den Erweiterungsspeicher unbenannte im Speicher abgelegte Dateien (Memory-Mapped Files) mit Speicherschutz verwendet. Damit wird dieser Speichertyp wie unter UNIX implementiert.

  • Im Konzept des einstufigen Speichers werden Hauptspeicher und Zusatzspeicher (z.B. Plattenspeicher) als ein großer Adressraum betrachtet, dessen linear adressierbare Bereiche maximal 16 MB groß werden können.

  • Ein Teraspace ist temporärer dynamischer Speicher, der einen 1 Terabyte großen linearen Adressraum pro Prozess (IBM-i-Job) bereitstellt. Ein Teraspace kann aus mehreren einzeln allokierten und deallokierten Speicherbereichen bestehen. Zwischen diesen können "Adressierbarkeitslöcher" bestehen, d.h. Speicherbereiche, die nicht allokiert sind. Obwohl Teraspace auch auf dem einstufigen Speicher basiert, ist er für die Prozesse (IBM-i-Jobs) völlig transparent. Dieser Speichertyp wird für den so genannten Roll-Bereich verwendet.

  • Bei im Speicher abgelegten Dateien wird ein Speicherbereich mit einer vorgegebenen Größe auf eine unbenannte Datei des Dateisystems abgebildet. Alle Befehle, die auf Speicherplatz zugreifen, werden dabei vom Betriebssystem auf Dateizugriffe umgelenkt. Speicherschutz wird durch explizite Anweisungen für das Anhängen oder Abhängen an den Erweiterungsspeicher beim Aktivieren oder Deaktivieren eines Benutzerkontexts gewährleistet.

Damit das Memory Management optimal funktioniert, muss genug freier Zusatzspeicherplatz verfügbar sein. Die Implementierung von Speicher auf IBM i erfolgt analog zu UNIX. Weitere Informationen finden Sie unter Allokierung von Speicher für Benutzerkontexte (UNIX) und Implementierung des Erweiterungsspeichers unter UNIX.