von Bob Gezelter
Es gibt einen weiteren Satz von Qualifiern des ASSIGN-Kommandos, die oft benutzt werden und die wir auch in unseren Beispielen antreffen werden. Diese Qualifier betreffen den Zugriffsmodus des zu definierenden logischen Namens.
Die relevanten Qualifier des ASSIGN-Kommandos (und Parameter des unter der Haube aufgerufenen Systemdienstes $CRELNM) sind /EXECUTIVE_MODE, /SUPERVISOR_MODE und /USER_MODE. Der Qualifier /EXECUTIVE_MODE benötigt das Privileg, in den Executive Mode zu wechseln (CMEXEC), oder das noch höhere Privileg, in den Kernel Mode zu wechseln (CMKRNL). Wenn sie sich diese Modi von OpenVMS erstmals anschauen, fragen viele Nutzer, wozu dieser Mechanismus überhaupt nötig ist. Die Antwort lautet "Systemintegrität".
Auf irgendeinem Level verwenden nahezu alle Images, die auf einem OpenVMS-System ausgeführt werden, logische Namen. Das Integritätsproblem tritt zutage, wenn ein Programm auf einem höheren Privilegien-Level Zugriff auf bestimmte Systemteile benötigt, auf die ein logischer Name verweist. Wenn ein privilegiertes Programm einen von einem Benutzer definierten logischen Namen für systemkritische Zwecke verwenden würde, wäre es möglich, diesen umzuleiten, was die Systemintegrität kompromitieren würde. Aus diesem Grund können Programme die Übersetzung von logischen Namen auf solche Namen beschränken, die im Executive Mode definiert wurden, was nur ein Benutzer (oder ein Image) tun kann, der über das CMEXEC-Privileg verfügt.
/SUPERVISOR_MODE ist der Standard-Modus für logische Namen, die mit ASSIGN definiert werden. Logische Namen im SUPERVISOR_MODE in den JOB- und PROCESS-Tabellen bestehen, solange der Job bzw. Prozess existiert (oder bis sie durch das DEASSIGN-Kommando gelöscht werden). Natürlich können logische Namen direkt durch OpenVMS-Systemdienste oder Routinen der Laufzeitbibliothek erzeugt und gelöscht werden. Das aber erfordert den Gebrauch einer Programmiersprache, und die meisten Nutzer und Systemmanager (und auch Programmierer) werden meistens DCL dafür nutzen.
Der Qualifier /USER_MODE bietet eine von vielen Benutzern mißverstandene Option. Logische Namen im USER_MODE werden automatisch bei der Beendigung eines Images gelöscht. Daher sind keine Aufräumaktionen notwendig. Egal, wieviele USER_MODE logische Namen vor der Ausführung eines Images erzeugt werden, sie alle werden aus den Tabellen gelöscht, wenn das Image beendet wird. Das Feature Auto-DEASSIGN der USER_MODE logischen Namen betrifft allerdings nur die PROCESS-Tabelle.
Natürlich hat das ASSIGN-Kommando noch weitere Qualifier zu bieten, und der ganze Bereich der logischen Namen hat noch weitere Facetten, z.B. clusterweite logische Namen, private Tabellen von logischen Namen, Quoten auf Tabellen, verwurzelte logische Namen und Suchlisten, um nur ein paar zu nennen. Jede Facette der logischen Namen hat ihre Anwendung, und wir werden weitere Aspekte in zukünftigen Kolumnen kennenlernen.
Bis dahin haben wir jetzt genügend Qualifier und Schlüsselworte angesammelt, um nützliche Beispiele zu konstruieren, wie man logische Namen effektiv einsetzen kann, von individuellen Entwicklungsumgebungen bis hin zu globalem Systemmanagement.
Der OpenVMS-Fachberater begrüßt Fragen von Lesern über OpenVMS und verwandte Technologien. Bitte senden Sie Ihre Fragen an den OpenVMS Consultant.
Der nächste Artikel in dieser Reihe von Robert Gezelter:
Logische Namen (Teil 5)
Vorhergehende Artikel in dieser Reihe von Robert Gezelter:
Logische Namen (Teil 3)
Logische Namen (Teil 2)
Logische Namen (Teil 1)
Über den Autor:
Robert Gezelter ist der Gründer der Consulting-Firma, die seinen Namen trägt (www.rlgsc.com).
Die Tätigkeit seiner Firma betont detaillierte technische Expertise in den Bereichen Computer-Architekturen, Betriebssysteme, Netzwerke, Sicherheit, APIs und verwandte Themen. Mr. Gezelter hat mit OpenVMS seit der ersten Release von VAX/VMS 1978 gearbeitet.
Seine Kundenstamm umfasst sowohl kleinere Firmen wie auch Firmen in den Fortune 10, lokal, national und international, mit Arbeitsbereichen, die von individuellen Telefon-Fragen bis zu größeren Projekten reichen.
Er ist per Email zu errreichen unter gezelter@rlgsc.com.
Original auf www.openvms.org
|