Betriebssysteme
VMS
Geschichtliche Einordnung
Aus [Deitel84]
VMS (Virtuell Memory Sytem) ist das Betriebssystem für den 32-bit-Prozessor Minicomputer VAX-11.
(Virtuell Addess eXtension)
Die legendäre PDP-11 (auf der Unix zuerst entwickelt wurde) war ein 16bit Minicomputer. und hatte max 128KB Adressraum. Das Betriebssytem war RSX.
Der Schwerpunkt des Designs waren
Das einfache Aufbohren von RSX ging nicht, da die Addressierungsgröße fest im Maschinencode, in der Rechner und Betriebssytemarchitektur eingebaut ist.
VAX/VMS wurde aufwärtskompatibel zu PDP-11/RSX gemacht (Investitionsicherheit)
Spezielle Mechanismen der VAX-Prozessoren für Betriebssystem
Der VAX-Prozessor ist ein CISC mit Microcode.
Der Befehlssatz unterstützt:
- Queues
- Variabel lange Bitfelder
- Sichern und Wiederherstellung von Prozesskontexten
Es gibt 4 Schutzebenen:
- Kernel
- Page management ,Scheduling , I/o Drivers
- Executive
- Record management (und anderes)
- Supervisor
- Command Interpretion
- User
- Anwendungsprogramme
Grundbegriffe
Die wichtigsten Grundbegriffe sind auch hier Prozeß und Datei wobei letzteres differenzierter ist wie bei UNIX.
Memory System
Das Auslagern von Objekten im Hauptspeicher erfolgt zweistufig:
- Swapper
- lagert ganze Prozesse aus
- Paging
- lagert Seiten innerhalb eines Prozesses aus
Die Seitenauslagerung erfolgt nach der Working Set-Strategie.
Die Strategie ist FIFO. (an sich pfui, aber die Auslagerungsmechanismen sind relativ billig).
Das Schreiben der Seiten wird gepuffert, so daß wenn der Puffer voll ist, gleich mehrere Blöcke geschreiben werden können.
Prozeß Scheduling
- Es gibt 32 Prioritäten, 0-15 gewöhnlich, 16-32 Realtime
- Beim Eintreffen eines Systemereignisses (Interrupt): erst hohe Priorität,
dann wird die Priorität gesenkt
- Zu jeder Priorität gibt es ein Balance-Set, das nach FIFO abgearbeitet wird.
- gewöhnliche Prozesse haben Zeitschranken, RT-Prozesse nicht
Koordinationsmechanismen
Common Eventflags
Operationen:
Diese gibt es in 32 bit Clustern,
- 2 lokal im Prozeß
- 2 für Interprozesskommunikation
Mailboxen
Satzorientierte Geräte zur Interprozeßkommunikation
Shared Storage
globaler Speicher, der in den Addressraum von Prozessen abgebildet wird.
(Koordinierung muß bsipielsweise mit Eventflags gemacht werden)
RMS Record Management System
Hier handelt es sich um mehrere Arten von Dateien:
- sequentielle Datei
- Die Records werden nacheinender in die Datei geschreiben (einfach)
- Relative Datei
- Datei besteht aus Zellen mit Satznummer, Satz mit Nummer wird in Zelle geschrieben. Meist sind nicht alle Zellen belegt.
- Indiziere Datei
- Hier werden die Sätze mit Schlüssel versehen (character string, signed 15 bit integer, unsigned 16 bit integer, unsigned 32 bit, packed dezimal).
Es können mehrere Indices für eine Datei angelegt werden
I/O
asynchron: ein Prozeß kann weiterrechnen während er I/O-Anforderungen absetzt.
Der Zustand des I/O_System wird in Datenstrukturen beschreiben, er ist jederzeit abfragbar. Datenstrukturen entsprechen dem Hardwareaufbau (Busse, Controoler, Device Unit)
Ein Prozeß kann
- explizit Zustand abfragen (polling)
- sich zur Benachrichigung der Fertigstellung anmelden. (Muß extra gemacht werden, nicht automatisch bei I/O-Befehl)
Einsatzgebiete
- Echtzeitverarbeitung, Automatisierung (siehe Scheduling)
- Datenbankverarbeitung (siehe RMS)
Merkmale heute
- POSIX-Schnittstelle
- Seit es eine POSIX-Schnittstelle gibt, heißt das System OpenVMS
(nach FAQ01.
Allerdings muß man extra ein Subsystem starten)
- X11 GUI
- Die X11 Oberfläche heißt DECWindows
Hardware
VAX und Alpha
Links
- DEC (nun HP)
- Hier kauft man VMS
- HP OpenVMS Systems
- Information about the VMS operating system
- Umfangreiche Sammlung über VMS
- VMS page
- VMS Introduction
- OpenVMS.org - The Gold Standard
- Eric-Raymon: Vergleich VMS-UNIX
-
- Starten eines Prozesses ist teuer, daher die Tendenz zu kompexen Prozessen
- komplexe Schnittstellen, in Papierdokumenten beschrieben - (nicht fü:r Hobbyzwecke geeignet)
Kleine Auswahl von Tools und Anwendungen
- VMSPerl
- SAMBA for VMS
- The GNU on VMS Project
Informatik- und Netzwerkverein Ravensburg e.V
Rudolf Weber