Grundlegende Methode für partitionierten Zugriff - Basic partitioned access method

In IBM Mainframe- Betriebssystemen ist die grundlegende partitionierte Zugriffsmethode ( BPAM ) eine Zugriffsmethode für Bibliotheken , die in der IBM-Terminologie als partitionierte Datasets (PDS) bezeichnet wird. BPAM wird unter OS / 360 , OS / VS2 , MVS , z / OS und anderen verwendet.

Eine PDS besteht aus Mitgliedern (intern identisch mit sequentiellen Datensätzen ), die in einer Liste namens Verzeichnis registriert sind . Die Kombination aus Mitgliedern und Verzeichnis ist ein einzelnes Dataset auf der Festplatte. Das Verzeichnis enthält eine Liste der Mitgliedsnamen (8 Zeichen, bei Bedarf rechts mit Leerzeichen aufgefüllt) und der Adressen der Mitglieder. Adressen beziehen sich auf den Anfang des Datasets, damit die PDS an einen anderen Speicherort verschoben werden kann.

Partitionierte Datasets können jede Art von Daten speichern, werden jedoch häufig zum Speichern ausführbarer Programme oder zum Laden von Modulen verwendet , die in anderen Systemen manchmal als Binärdateien bezeichnet werden. Andere Verwendungszwecke umfassen Systemassembler- Makrodefinitionen , Jobsteuerungsverfahren und Programmquellcode.

Anwendungsprogrammschnittstelle

BPAM bietet eine Anwendungsprogrammschnittstelle (API), über die Programmierer direkt auf Bibliotheken zugreifen können. Die BPAM-API ähnelt der BSAM ( Basic Sequential Access Method ), fügt jedoch Prozessverzeichnissen Funktionen hinzu. Einzelne Mitglieder einer PDS können auch mithilfe von sequentiellen Zugriffsmethoden verarbeitet werden, indem der Mitgliedsname in der DD- Anweisung der Jobsteuerung angegeben wird .

Der Programmierer gibt DSORG=POin seinem Data Control Block (DCB) an, dass BPAM verwendet werden soll. Als grundlegende Zugriffsmethode liest und schreibt BPAM Mitgliedsdaten in Blöcken, und die E / A-Operation läuft asynchron ab und muss mithilfe des CHECKMakros auf Abschluss getestet werden . BPAM verwendet das Standard - System - Makros OPEN, CLOSE, READ, WRITE, und CHECK. Der NOTEMakrobefehl gibt die Position des letzten gelesenen oder geschriebenen Blocks zurück, und das POINTMakro wird an der durch einen vorherigen identifizierten Position neu positioniert NOTE. Das BLDLMakro kann verwendet werden, um eine Liste der vom Programmierer angegebenen Adressen von Mitgliedern für die spätere Verwendung zu erstellen, falls dies gewünscht wird. FINDPositionen zu einem einzelnen Mitglied, angegeben durch den Namen, für den eine Verzeichnissuche auf der Festplatte erforderlich ist, oder nach der Adresse, die zuvor von abgerufen wurde BLDL. Das STOWMakro wird verwendet, um das Verzeichnis zu aktualisieren, wenn ein Mitglied hinzugefügt, gelöscht, geändert (einschließlich umbenannt) oder ersetzt wird.

Module laden

Das Betriebssystem erfordert, dass alle ausführbaren Programme in Bibliotheken gespeichert werden, da der Verzeichniseintrag des Mitglieds zusätzliche Attributinformationen enthält, die für Lademodule spezifisch sind. Verzeichnisse enthalten beim Speichern von Lademodulen unter anderem auch die Größe des Lademoduls und die Adresse des ersten "Textdatensatzes", die sich von der Adresse der ersten Mitgliedsdaten unterscheidet. Ausführbare Programme werden vom Verknüpfungseditor in Bibliotheken geschrieben und vom Loader (einem Anwendungsprogramm) in den vom Benutzer erworbenen Speicher oder vom Program Fetch (einer Komponente des Betriebssystem- Supervisors ) in den vom System erworbenen Speicher geladen .

Der Verknüpfungseditor organisiert ein Lademodul in einem speziellen Format, das aus abwechselnden "Textdatensätzen" und "Steuerungs- / Verschiebungswörterbuchdatensätzen" besteht. Diese Organisation ermöglicht das vollständige Laden und Verschieben eines Lademoduls mit einer Eingabe- / Ausgabeoperation durch Program Fetch ( EXCP auf Pre-MVS-Systemen oder STARTIO auf MVS / 370- und späteren Systemen).

Verweise

  1. ^ Programmlogikhandbuch für sequentielle Zugriffsmethoden des IBM System / 360-Betriebssystems (PDF) . IBM. Januar 1967. Y28-6604-1.
  2. ^ a b IBM Corporation (Juni 1973). Makroanweisungen für das OS Data Management (PDF) . p. 157 . Abgerufen am 19. August 2016 .
  3. ^ IBM Corporation (Juli 1973). Handbuch zu OS Data Management Services (PDF) . S. 75–85 . Abgerufen am 19. August 2016 .