Die von einer UTM-Anwendung benutzten Speicherbereiche sind je nach Art der Daten in unterschiedlichen Speicherklassen des BS2000-System abgelegt.
Der UTM-Systemcode liegt im Klasse-4-Speicher und wird von allen Prozessen aller UTM-Anwendungen eines BS2000-Systems gemeinsam benutzt.
Anwendungslokale Systemspeicherbereiche mit den Konfigurationsdaten, den Verwaltungsdaten und einem Pufferbereich zur Reduzierung der Dateizugriffe (Cache) werden in Common Memory Pools im Klasse-5-Speicher abgelegt. Um den Programmadressraum zu entlasten, kann der Cache alternativ in einem oder mehreren Datenräumen angelegt werden. Die Systemspeicherbereiche einer UTM-Anwendung sind nur von den Prozessen der eigenen Anwendung und nicht von Prozessen fremder UTM-Anwendungen erreichbar.
Jedem Prozess einer UTM-Anwendung ist ein eigener prozesslokaler Klasse-5-Speicherbereich zugeordnet, in dem die für einen Auftrag bzw. einen Programmlauf aktuellen Systemdaten gespeichert werden. Auf diesen Datenbereich kann nur von einem Prozess und ausschließlich von den UTM-Systemfunktionen zugegriffen werden. Diese Daten sind von anderen Prozessen auch innerhalb der eigenen Anwendung nicht erreichbar, d.h. auch die Prozesse innerhalb derselben Anwendung sind voreinander geschützt. Benutzerprogramme können den Bereich nicht beschreiben und so die Abläufe der UTM-Systemfunktionen nicht stören.
Jedem Prozess einer UTM-Anwendung ist vom Betriebssystem ein Benutzeradressraum im Klasse-6-Speicher zugeordnet. Dieser Benutzeradressraum kann je nach Verwendung prozesslokal sein oder als Common Memory Pool gemeinsam von allen Prozessen einer Anwendung (anwendungslokal) oder auch von Prozessen mehrerer Anwendungen (anwendungsglobal) benutzt werden. Er enthält in der Regel:
Die Main Routine KDCROOT, die den Kontakt zwischen Teilprogrammen und den UTM-Systemfunktionen herstellt, sowie Daten- und Pufferbereiche, die gemeinsam von den UTM-Systemfunktionen und dem Anschlussprogramm benutzt werden. Die Main Routine wird bei der Anwendungsgenerierung Anwendungs-spezifisch parametrisiert.
Die Teilprogramme und deren Datenbereiche. Falls Teilprogramme mehrfach benutzbar (shareable) sind, können sie in gemeinsamen Benutzerspeichern anwendungslokal oder anwendungsglobal in Common Memory Pools bzw. nichtprivilegierten Subsystemen abgelegt werden. Dadurch wird der von den Prozessen der Anwendung belegte externe Speicher (paging area) kleiner und die Anzahl der Seitenwechsel (paging) wird reduziert, was sich günstig auf die Performance auswirkt.
Die Formatierungsroutine zur Aufbereitung von Bildschirmmasken und Druckerformularen sowie die zur Anwendung gehörenden Formatdefinitionen. Wird das Formatierungssystem FHS (Format Handling System) eingesetzt, so können diese Teile ebenfalls shareable in Common Memory Pools abgelegt werden.
Dateisysteme (wie z.B. LEASY) mit zugehörigem Anschlussmodul oder Anschlussmodule für die Datenbanksysteme wie z.B. UDS/SQL und SESAM/SQL.
Laufzeitsysteme der Programmiersprachen, in denen die Teilprogramme codiert sind.
Administrationsteilprogramme für die UTM-Anwendung.
Das folgende Bild gibt eine Übersicht über die Speicherstruktur einer UTM-Anwendung auf einem BS2000-System.
Bild 41: Speicherstruktur von UTM-Anwendungen auf BS2000-Systemen