Exit-Routinen belegen Klasse-4-Speicher des privilegierten Systemadressraums im BS2000. Sie werden als dynamisch zuladbarer Teil des Systems angesehen und daher nicht gegen Überschreiben geschützt.
Tasklokaler Speicherbereich, z.B. für Parameter, kann mithilfe der privilegierten Systemfunktionen $GETMEM/$RETMEM im Klasse-5-Speicher angefordert bzw. freigegeben werden.
Globaler Speicherbereich muss immer im Klasse-4-Speicher reserviert werden.
Über die Class-2-Optionen TASKVECT bzw. SYSVECT kann bereits bei der Systemgenerierung tasklokaler bzw. globaler Speicherplatz für die Exit-Routinen vorgesehen werden. Standardwert: 0 Seiten; maximale Größe: 15 Seiten
Taskvektor und Systemvektor werden beim ersten Aufruf einer Exit-Routine eingerichtet. Der Taskvektor wird bei LOGOFF oder Zerstörung der Task freigegeben. Der Systemvektor bleibt bis SHUTDOWN bestehen.
Die Adresse des Taskvektors erhält man durch den Aufruf von $TANC mit den Operanden FUNCT=READ, OWNER=SYSEXIT. Die Adresse des Systemvektors erhält man durch den Aufruf $SANC mit den Operanden FUNCT=READ, OWNER=SYSEXIT. Direktzugriffe auf die Felder ETCBSEXP (TCB) und EXVTSEXP (EXVT) sollten vermieden werden. Weitere Informationen dazu sind dem Entwickler-Handbuch zu entnehmen.
Die Länge eines Vektors in Bytes wird jeweils im ersten Halbwort des Vektors abgespeichert. Ist der Vektor größer als 7 Seiten, ist das Bit 215 gesetzt; daher kann zum Laden der Länge in ein Register der Assembler-Befehl LH nicht verwendet werden!
System- und Taskvektor werden von allen Exits benützt. Die Koordination der Zugriffe liegt beim Exit-Programmierer/Systembetreuung.
Speicherengpässe, die durch Verwendung von Task- und Systemvektor bzw. durch $REQM oder durch die im Klasse-4-Speicher liegenden Exit-Routinen verursacht werden, liegen in der Verantwortung des Benutzers.