Stratus VOS ( Virtual Operating System , jetzt OpenVOS ) ist ein proprietäres Betriebssystem, das auf fehlertoleranten Computersystemen von Stratus Technologies läuft. VOS ist auf den Plattformen ftServer und Continuum von Stratus verfügbar. [ 2 ] VOS-Kunden nutzen es zur Unterstützung von Anwendungen mit hohem Transaktionsvolumen, die eine kontinuierliche Verfügbarkeit erfordern. VOS zeichnet sich dadurch aus, dass es eines der wenigen Betriebssysteme ist, die auf vollständig synchronisierter Hardware laufen .

In den 1980er Jahren existierte eine IBM -Version von Stratus VOS mit der Bezeichnung System/88 Operating System . [ 3 ]

Geschichte

VOS wurde von Anfang an als hochsichere Transaktionsverarbeitungsumgebung konzipiert, die auf fehlertolerante Hardware zugeschnitten ist. [ 4 ] Es integriert viele der Designerfahrungen, die aus dem MIT/Bell Laboratories/General Electric (später Honeywell) Multics- Projekt hervorgegangen sind.

Im Jahr 1984 fügte Stratus VOS eine UNIX System V- Implementierung namens Unix System Facilities (USF) hinzu und integrierte damit Unix und VOS auf Kernel -Ebene. [ 5 ]

In den letzten Jahren wurde Stratus um POSIX -Konformität erweitert, und viele Open-Source-Pakete können unter VOS ausgeführt werden. [ 6 ]

Wie bei konkurrierenden proprietären Betriebssystemen ist der Marktanteil von VOS in den 1990er und frühen 2000er Jahren stetig gesunken. [ 7 ]

Entwicklung

Programmierung für VOS

VOS bietet Compiler für PL/I , COBOL , Pascal , FORTRAN , C (mit den VOS-C- und GCC -Compilern) und C++ (ebenfalls GCC ). [ 8 ] Jede dieser Programmiersprachen kann VOS-Systemaufrufe durchführen (z. B. s$seq_readzum Lesen eines Datensatzes aus einer Datei) und verfügt über Erweiterungen zur Unterstützung von Zeichenketten variabler Länge im PL/I-Stil. Entwickler programmieren üblicherweise in ihrem bevorzugten VOS-Texteditor oder offline, bevor sie den Code auf dem System kompilieren; es gibt keine VOS-IDE-Anwendungen.

Stratus bot in seiner Geschichte Hardwareplattformen auf Basis der Motorola 68000- Mikroprozessorfamilie (FT- und XA-Serie), der Intel i860- Mikroprozessorfamilie (XA/R-Serie), der HP PA-RISC- Prozessorfamilie (Continuum-Serie) und der Intel Xeon x86 -Prozessorfamilie (V-Serie) an. Alle VOS-Versionen bieten Compiler für den nativen Befehlssatz, einige Versionen zusätzlich Cross-Compiler.

Stratus führte in VOS Release 14.3 (auf Continuum) die Unterstützung für die POSIX- API ein und in VOS Release 14.4 die Unterstützung für den GNU C/C++-Compiler, den GNU gdb-Debugger und viele POSIX-Befehle. Jede weitere VOS-Version erweiterte die POSIX.1-Funktionalität, sodass mittlerweile viele Open-Source-Pakete im Benutzermodus erfolgreich kompiliert werden können. Aus diesem Grund benannte Stratus VOS ab Release 17.0 in OpenVOS um.

Stratus bietet unterstützte Portierungen von Samba, OpenSSL, OpenSSH, GNU Privacy Guard , OpenLDAP , Berkeley DB , MySQL Community Server, Apache, IBM WebSphere MQ und vielen anderen.

Numerische Werte in VOS sind immer Big-Endian , unabhängig von der Byte-Reihenfolge der zugrunde liegenden Hardwareplattform. Auf Little-Endian -Servern mit x86-Prozessoren führen die Compiler vor dem Lesen oder Schreiben von Werten in den Speicher einen Byte-Tausch durch, um die Daten in das bzw. aus dem nativen Little-Endian-Format zu konvertieren.

Befehlsmakrosprache

VOS verfügt über eine recht umfassende Befehlsmakrosprache, mit der Menüsysteme erstellt, Aufgaben automatisiert usw. werden können. VOS-Befehlsmakros akzeptieren Argumente in der Befehlszeile oder über ein Benutzerformular. Die Argumente werden am Anfang des Befehlsmakros im Abschnitt „Parameter“ definiert. Die Sprache unterstützt eine Reihe von Anweisungen, darunter if/then/else-Anweisungen, boolesche Operationen, while-Schleifen, goto-Anweisungen und eine ausgezeichnete Fehlerberichterstattung. Die Befehlsmakrosprache kann interaktiv und nicht-interaktiv (im Batch- oder als gestarteter Prozess) ausgeführt werden. Sie kann zur Automatisierung von Programmen verwendet werden, indem sie Eingabeaufforderungen erfasst und entsprechende Antworten sendet. Dies hat Stratus veranlasst, die Möglichkeiten der Befehlsmakrosprache einzuschränken. [ 9 ]

Die Makrosprache bietet keine Unterstützung für benutzerdefinierte Funktionen und lässt sich nicht ohne Weiteres mit Include-Dateien verarbeiten. Die Stringverarbeitung ist fehleranfällig, insbesondere bei eingebetteten Steuerzeichen.

Eine Visual Studio Code-Erweiterung zur Syntaxhervorhebung für VOS-Befehlsmakros ist auf dem Visual Studio Marketplace verfügbar .

Überblick

VOS wurde hauptsächlich in PL/I mit einem geringen Anteil an Assemblersprache programmiert, bevor es auf die ftServer-Serie migriert wurde. Ab 1991 war das System in PL/I und C geschrieben, wobei nur noch 3 % des Codes in Assembler geschrieben waren. [ 10 ]

Seine Gesamtstruktur weist viele Gemeinsamkeiten mit Multics auf, und viele Systemmerkmale lassen sich in unterschiedlichem Maße auf Multics zurückführen. Das System stellt dem Softwareentwickler oder Programmierer eine Reihe grundlegender Abstraktionen zur Verfügung, allen voran:

  • Prozesse
  • Geräte
  • Festplatten
  • Verschiedene IPC-Mechanismen
  • Aufgaben

Ein Prozess ist die geplante Einheit in VOS und verfügt über Attribute, die seine Steuerung durch das System regeln. Prozesse haben beispielsweise einen Benutzernamen und einen Prozessnamen . Der Benutzername dient VOS zur Bestimmung der Zugriffsrechte des Prozesses auf externe Geräte und Dateisysteme. Von grundlegender Bedeutung ist das Privilegierungsflag eines Prozesses, ein binäres Attribut. Privilegierte Prozesse können privilegierte Operationen ausführen. Dieser Mechanismus beschränkt bestimmte potenziell weitreichende Operationen mit systemweiten Konsequenzen (z. B. Herunterfahren des Systems, Aushängen einer Festplatte usw.).

Verteilung

OpenVOS wird ausschließlich von Stratus Technologies vertrieben . Als Datenträger dient ein 3,5-mm -DAT- Band für Continuum-Systeme und ein SDLT- Band für ältere V-Series-Plattformen. Ab OpenVOS Version 17.0 bietet Stratus die Möglichkeit, OpenVOS auf DVD oder als Download einer Release-Datei zu vertreiben. Die Softwareinstallation kann entweder vom Stratus-Servicetechniker oder vom Systemadministrator des Kunden durchgeführt werden.

Schnittstelle

Die Kommandozeilenschnittstelle ist die wichtigste und leistungsstärkste Benutzerschnittstelle für ein VOS-System.

Benutzer können bei Bedarf durch Befehlsmakroskripte [ 11 ] an das formularbasierte Subsystem gebunden werden , obwohl ein versierter Benutzer diese Einschränkung überwinden und Zugriff auf die Befehlszeile erhalten kann. (Tatsächlich ist es einem Stratus-Systemadministrator möglich, ein Benutzerkonto so einzurichten, dass der Versuch, aus dem FMS – dem Stratus Forms Management System – auf die Befehlszeile zuzugreifen, zur Abmeldung des Benutzers führt.)

Befehlsmakros und -programme können mit einem Argument aufgerufen werden, um ein Formular mit allen verfügbaren Parametern anzuzeigen. Der Benutzer kann mit der Tabulatortaste durch diese Liste navigieren. Jeder Parameter ist in der Regel eingeschränkt, um die Benutzereingaben zu steuern. Dies umfasst Listen gültiger Werte, rein numerische oder rein textbasierte Eingaben usw. Parameter können außerdem mit dem Tag „secret“ ausgeblendet oder als Pflichtfelder definiert werden.

Alle Befehle in VOS werden vollständig definiert, wobei Unterstriche die Wörter trennen. Beispielsweise ändert `change_current_dir` das Arbeitsverzeichnis . Das VOS-Hilfesystem verwendet diese Konvention, um Benutzern zu helfen, die nach einer Teilmenge möglicher Befehle suchen; beispielsweise werden Befehle, die sich auf „change“ beziehen, mit `help -match change` gefunden .

Benutzer können ihre Befehlsschnittstelle mithilfe einer Datei anpassen, die Abkürzungen für Befehle enthält. Befehlsabkürzungen werden üblicherweise nach den Anfangsbuchstaben des jeweiligen Befehls benannt, so kann beispielsweise ccd zu change_current_dir foodir erweitert werden .

Anwendungen

Systemanwendungen

VOS wird auf Continuum- und ftServer-Systemen eingesetzt, die beide auf hohe Fehlertoleranz ausgelegt sind. Daher werden diese Systeme typischerweise in sicherheitskritischen oder unternehmenskritischen Anwendungen verwendet, beispielsweise in Banken, Krankenhäusern, Telekommunikationsunternehmen und Unternehmen für die Zahlungsabwicklung. [ 12 ]

Kommunikation

VOS unterstützt die folgenden Protokolle [ 8 ]

Ältere VOS-Versionen implementierten ein nicht-OSI-konformes TCP/IP-Protokoll namens OS TCP/IP (Operating System TCP/IP). Seit Version 14.x verwendet VOS das OSI-konforme Streams-TCP. Ältere Anwendungen, die OS TCP/IP nutzen, müssen portiert werden, um STCP verwenden zu können. [ 13 ] Dies kann zu Funktionsverlusten führen, da OS TCP/IP mehrere nicht-OSI-konforme Funktionen unterstützte, die daher nicht mehr weiterentwickelt werden. Die ftServer-Hardware, auf der die V-Serie läuft, unterstützt ausschließlich TCP/IP und X.25 (X.25 nur mit dem optionalen NIO). WebSphere MQ 6.0 (auch bekannt als MQ-Serie) basiert auf TCP/IP und wird daher ebenfalls von der ftServer-Hardware unterstützt. Geräte, die die älteren Protokolle unterstützen, laufen auf der Continuum-Hardware und können über das Open StrataLINK- Netzwerk [ 14 ] von aktueller Hardware aus angesteuert werden .

Fehlertoleranz

Fehlertoleranz ist von Grund auf in VOS integriert. Auf Hardwareebene arbeiten die Hauptkomponenten im synchronen Duplexmodus , d. h. zwei identische Geräte führen gleichzeitig dieselbe Aktion aus. (Zusätzlich wird jedes Gerät bzw. jede Platine im Duplexmodus betrieben, um interne Platinenfehler auf Hardwareebene zu erkennen. Daher kann die Hardware von Stratus als „synchronisiert“ bezeichnet werden.) [ 15 ]

Diese Karten werden aktiv vom Betriebssystem überwacht, das kleinere Inkonsistenzen (z. B. fehlerhafte Schreib- oder Lesevorgänge) beheben kann. Karten, die eine unzulässige Anzahl von Fehlern melden, werden vom System außer Betrieb genommen; die im Duplexbetrieb befindliche Karte arbeitet weiter, bis das Problem durch einen Hotfix behoben ist. Dies umfasst CPUs, Festplatten und alle anderen Geräte, die logisch im Duplexbetrieb betrieben werden können (Kommunikationsgeräte sind definitionsgemäß ausgeschlossen). Das Betriebssystem ist so konzipiert, dass Abstürze aufgrund von Hardwarefehlern im Duplexbetrieb vermieden werden.

Das Prinzip der Duplex-Stromversorgung wird oft auch auf Systemstromversorgungen ausgeweitet, und Stratus-Systeme können von zwei unabhängigen Wechselstromquellen versorgt werden, um einen Ausfall der Stromversorgung durch eine der beiden Quellen zu überstehen.

Tritt ein Fehler auf, arbeitet das System normal weiter und erstellt automatisch ein Störungsticket beim Stratus-Kundendienst über RSN (Remote Service Network). Der Stratus-Kundendienst verbindet sich dann über RSN mit dem System, um das Problem zu untersuchen und Ersatzteile zu versenden. Bei einfachen Platinentauschen kann der Kunde die Kontrollleuchte prüfen, die defekte Platine abziehen und die Ersatzplatine einsetzen, ohne den Systembetrieb zu unterbrechen.

Dateisystem

VOS unterstützt eine Reihe einzigartiger Dateitypen:

  • Stream-Dateien: ein Datenstrom binärer Daten, der direkt dem Dateikonzept anderer Betriebssysteme entspricht.
  • Festdateien: eine Folge von Datensätzen fester Größe.
  • Relative Dateien: eine Folge von Datensätzen mit einer festen maximalen Datensatzlänge, die den wahlfreien Zugriff unterstützt.
  • Sequenzielle Dateien: eine Folge von Datensätzen variabler Größe
  • Warteschlangendateien: Dateisystembasierte Sicherung für Nachrichtenwarteschlangen
  • Pipes: Benannte Pipes für die Interprozesskommunikation
  • Transaktionsdateien: Diese bieten Unterstützung für journalbasierte Rollbacks.

Die VOS-API ermöglicht die Erstellung mehrerer Indizes pro Datei, sortiert nach dem Inhalt eines Datensatzes, einem externen oder internen Schlüssel oder einer definierten Menge mehrerer Schlüssel. Eine VOS-Datei mit einem oder mehreren Indizes kann als C-ISAM-Datenbanktabelle verwendet werden.

VOS verwendet eine proprietäre Dateibenennungssyntax, die Systemname, Festplattenname und Verzeichnis enthält. Die Komponenten werden durch das Symbol ">" getrennt. Typischerweise befindet sich die Systemfestplatte im selben Modul wie die CPU, #m1daher würde eine Systemdatei für einen VOS-Cluster wie folgt referenziert:

(%system)#m1_d01>system>devices.table 

Die Speicherverwaltung von VOS erfolgt in Blöcken, wobei jeder Block 4.096 Byte groß ist. Der Speicher besteht aus RAM oder Auslagerungsspeicher. VOS-Systeme unterstützen Auslagerungspartitionen und -dateien. In modernen VOS-Versionen können Auslagerungsdateien dynamisch vom Systemadministrator erstellt werden (jedoch nicht ohne Neustart gelöscht werden). Diese Auslagerungsdateien können theoretisch aus mehreren Bereichen bestehen (die vom Kernel als Mini-Auslagerungspartition betrachtet werden), die zusammenhängend oder nicht zusammenhängend sein können. Nicht zusammenhängende Bereiche werden jedoch NICHT empfohlen, da sie die Festplattenaktivität erheblich erhöhen. Der Administrator sollte den größtmöglichen Bereich für die Auslagerungsdateien so früh wie möglich nach dem Systemstart erstellen. [ 16 ]

Dateisystemsicherheit

VOS unterstützt Schreib-, Lese-, Ausführungs- und Nullzugriff (kein Zugriff) auf alle Dateien, Verzeichnisse und Geräte (wobei die Zugriffslisten für Verzeichnisse und Dateien leicht voneinander abweichen). Der Zugriff kann Benutzern, Gruppen oder allen Benutzern zugewiesen werden. Zum Ausführen eines Programms ist lediglich Lesezugriff erforderlich, vorausgesetzt, der Benutzer besitzt die entsprechende Zugriffsberechtigung für das Verzeichnis, in dem sich das Programm befindet.

VOS hat die Zugriffskontrolllisten von Multics übernommen und implementiert auch Verzeichniszugriffskontrolllisten. Wenn eine Datei keine Zugriffskontrollliste besitzt, gilt die Standardzugriffskontrollliste des übergeordneten Verzeichnisses.

Der Zugriff auf Geräte wird üblicherweise durch eine vom Administrator erstellte und mit dem Gerät verknüpfte Datei gesteuert. (Dies trifft möglicherweise auf OpenVOS zu, jedoch nicht auf das ursprüngliche Betriebssystem.) Anschließend wird dieser Datei Zugriff gewährt, wodurch die Zugriffsrechte für das Gerät festgelegt werden.

VOS war schon immer ein netzwerkfähiges Betriebssystem. Nahezu jeder Systemaufruf in der nativen API besitzt einen Parameter, der den betroffenen Computer bestimmt. [ 17 ] [ 18 ] Ist die Operation nicht lokal, wird sie per Remote-Subroutinenaufruf an den Zielcomputer umgeleitet . Beispielsweise werden Dateinamen analysiert, um den Computer zu ermitteln, auf dem sich die Datei befindet.

Das StrataLINK-Netzwerkmodell verwendet eine zweistufige Hierarchie zur Benennung von Computern: Jeder Computer wird als Modul bezeichnet , und Module werden zu Systemen zusammengefasst . Jedes System wird als Einheit verwaltet. Das heißt, alle Module eines Systems kennen alle Festplatten und Hardwaregeräte dieses Systems. Dadurch verweist ein Dateiname, der mit dem Systemnamen beginnt, auf Dateien auf anderen Computern und kann ohne spezielle Netzwerkverbindung geöffnet werden. Dasselbe gilt für Geräte. Andere Systemkomponenten, wie z. B. Prozesse, werden über Modulnamen referenziert , die nach dem Muster % System # Modul geschrieben werden . Die VOS-System- und Modulnamen stehen in keiner definierten Beziehung zu IP-Adressen oder Domänennamen – die VOS-API wurde Ende 1980 entwickelt – also vor der weitverbreiteten Nutzung des Internets und lange vor der Erfindung von URLs.

StrataLINK war ursprünglich ein proprietäres 10-Mbit/s -CSMA/CD -Ringnetzwerk, das für damalige Verhältnisse hohe Leistung bei sehr geringem Speicher- und CPU-Bedarf ermöglichte. Es wurde nie über 10 Mbit/s hinaus weiterentwickelt und zugunsten von TCP/IP aufgegeben, da Ethernet zum dominierenden Netzwerkstandard wurde und Speicher und CPU-Leistung günstiger wurden.

Open StrataLINK kann auch X.25 für Weitverkehrskommunikation nutzen. Die Verwendung der Open StrataLINK-Protokolle für Weitverkehrskommunikation wird auch als StrataNET bezeichnet.

Siehe auch

Referenzen

  1. ^ „V Series/Continuum Support Matrix | Stratus Technologies“ . Stratus | Zero-Touch Edge Computing . Abgerufen am 13.10.2025 .
  2. ^ „Hochverfügbare und fehlertolerante Software und Lösungen – Stratus Technologies“ . Stratus . Abgerufen am 16. Mai 2016 .
  3. ^ „IBM nimmt die System/88-Reihe in Betrieb“ . Computerworld . 16. November 1987.
  4. ^ „Artikel 5121 in comp.sys.stratus“ . Ftp.stratus.com . Archiviert vom Original (TXT) am 02.05.2015 . Abgerufen am 21.05.2016 .
  5. ^ „Stratus bietet Unix-Implementierung für Großrechner an“ . Computerworld . 12. November 1984. S. 86.
  6. ^ „POSIX-basierte Open-Source-Software für VOS und OpenVOS“ . Ftp.stratus.com . 24.04.2015. Archiviert vom Original am 02.04.2016 . Abgerufen am 21.05.2016 .
  7. ^ Seacord, Robert C.; Plakosh, Daniel; Lewis, Grace A. (2003). Modernisierung von Altsystemen: Softwaretechnologien, Entwicklungsprozesse und Geschäftspraktiken . Addison-Wesley. S. 11. ISBN 9780321118844Die
  8. ^ a b „Betriebssysteme“ . Archiviert vom Original am 27. September 2011. Abgerufen am 23. August 2011 .
  9. ^ „Google Groups“ . Groups.google.ie . Abgerufen am 16.05.2016 .
  10. ^ Johnson, Maryfran (1. April 1991). „Stratus-Compiler sorgt für Migrationsschub“ . Computerworld . S. 25, 32.
  11. ^ „Einführung in die Datensicherung“ . Stratadoc.stratus.com . Abgerufen am 21.05.2016 .
  12. ^ „Stratus Technologies: Kundenerfolgsgeschichten“ . Archiviert vom Original am 3. Juli 2007. Abgerufen am 14. Juli 2007 .
  13. ^ „Übersicht zur Migration von OS TCP/IP zu STCP“ . Stratadoc.stratus.com . Abgerufen am 21.05.2016 .
  14. ^ „OpenStrataLINK Administration“ . Stratus Technologies.
  15. ^ VOS Fundamentals 303. Stratus Technologies International. 1. Mai 2001. S. I-7.
  16. ^ „Google Groups“ . Groups.google.ie . Abgerufen am 16.05.2016 .
  17. ^ "OpenVOS C Subroutines" . Stratus Technologies.
  18. ^ "OpenVOS PL/1 Subroutines" . Stratus Technologies.