ICL VME

:This-Artikel ist über das Betriebssystem. VME kann sich auch auf den VMEbus Computerbus beziehen.

VME (Virtuelle Maschinenumgebung) ist ein Großrechner Betriebssystem, das von der Gesellschaft des Vereinigten Königreichs International Computers Limited (ICL, jetzt ein Teil der Gruppe von Fujitsu) entwickelt ist. Ursprünglich entwickelt in den 1970er Jahren (als VME/B, später VME 2900), um die dann neuen 2900 Reihe-Großrechner von ICL zu steuern, ist das Betriebssystem jetzt als OpenVME bekannt, der ein Subsystem von Unix vereinigt, und läuft auf der ICL Reihe 39 und Großrechner-Computer von Trimetra, sowie Industriestandard x64 Server.

Ursprünge

Das Entwicklungsprogramm für das Neue Reihe-System hat auf der Fusion von Internationalen Computern und Tabellarisierern (ICT) und englischen Elektrischen Computern 1968 angefangen. Eine der grundsätzlichen Entscheidungen war, dass es ein neues Betriebssystem zeigen würde. Mehrer wurden verschiedene Durchführbarkeit und Designstudien innerhalb von ICL, dem drei bemerkenswertesten Wesen ausgeführt:

  • VME/B (ursprünglich System B), ins Visier genommen an großen Verarbeitern wie der 2970/2980 und entwickelt in Kidsgrove, Staffordshire und West Gorton, Manchester
  • VME/K (ursprünglich System T), ins Visier genommen an den Systemen des mittleren Bereichs wie die 2960 und entwickelt an Bracknell nach dem ursprünglichen Design für diese kleinen Verarbeiter, System D, war fallen gelassen. VME/K wurde entwickelt und in den Markt eingeführt, aber wurde schließlich durch VME/B ersetzt
  • VME/T, der nie wirklich gestartet wurde, aber eine Erwähnung bevollmächtigt, weil er konzipiert wurde, um "Schuld-Toleranz" zu unterstützen, und hat die Anstrengungen der erfolgreichen amerikanischen Anlauf-Firmentandem-Computer in diesem Gebiet zurückdatiert.

Der Hauptarchitekt von VME/B war Brian Warboys, der nachher Professor der Softwaretechnik an der Universität Manchesters geworden ist. Mehrere Einflüsse können in seinem Design, zum Beispiel Multics und früherer George von ICL 3 Betriebssystem gesehen werden; jedoch wurde es im Wesentlichen von Kratzer entworfen.

Vergleiche

VME wurde so in erster Linie angesehen, sich mit dem System/360 Großrechner von IBM bewerbend, wie ein kommerzielles Betriebssystem, und hat die EBCDIC Charakter-Verschlüsselung angenommen.

Als eine Entwicklung der Mitte der 1970er Jahre, ohne Einschränkungen, um mit früheren Betriebssystemen vereinbar zu sein, ist VME auf viele Weisen, die in seiner Architektur moderner sind als heutige Ableitungen von Unix (Unix wurde in den 1960er Jahren entworfen), oder Windows von Microsoft (hat der als ein Betriebssystem für Einzelbenutzercomputer angefangen, und verrät noch jene Ursprünge).

Nomenklatur

Als Neue Reihe zuerst im Oktober 1974 gestartet wurde, ist sein Betriebssystem "System B" genannt geworden. Als ihm es zuerst geliefert wurde, war "VME/B" geworden.

VME/K wurde unabhängig (gemäß Campbell-Kelly, "auf einer Laune des Hrsg.-Regenmantels") entwickelt, und wurde später mit den kleineren Großrechnern wie die 2960 geliefert.

Im Anschluss an eine Finanzkrise 1980 wurde neues Management in ICL (Christopher Laidlaw als Vorsitzender und Robb Wilmot als Direktor) gebracht. Eine frühe Entscheidung des neuen Managements war, VME/K fallen zu lassen. So im Juli 1981 wurde "VME2900" gestartet: Obwohl präsentiert, der Kundenbasis als eine Fusion von VME/B und VME/K war es in Wirklichkeit die VME/B-Basis mit einigen ausgewählten Eigenschaften von VME/K, der darauf gepfropft ist. Das hat die Gelegenheit zur Verfügung gestellt, einige veraltende Eigenschaften fallen zu lassen, die verfügbar für Kunden geblieben sind, die sie in der Form der "BONVME" Auswahl gebraucht haben.

"2900" war Nachsilbe an der Systemversion 213 (SV213) fallen gelassen, als ICL Reihe 39 1985 als der Nachfolger der ursprünglichen 2900 Reihen gestartet hat; und das "Offene" Präfix wurde nach SV294 hinzugefügt, als VME fähig dazu geworden ist, Anwendungen geschrieben ursprünglich für Unix durch ein UNIX System zu veranstalten, V Ausgabe 3 hat Subsystem mit der ASCII Charakter-Verschlüsselung gestützt, die angepasst ist, um unter VME zu laufen.

Die neusten Verkörperungen von VME laufen als ein veranstaltetes Subsystem, genannt Supernova, innerhalb von Windows von Microsoft, oder SUSE oder Rotem Hut-Unternehmen Linux auf der x86-64 Hardware.

Architektur

VME wird als eine Reihe von Schichten, jede Schicht strukturiert, die Zugang zu Mitteln an verschiedenen Niveaus der Abstraktion hat. Virtuelle durch eine Schicht zur Verfügung gestellte Mittel werden von den virtuellen Mitteln gebaut, die durch die Schicht unten angeboten sind. Der Zugang zu den Mitteln jeder Schicht wird durch eine Reihe von Zugriffsniveaus kontrolliert: In der Größenordnung von einem Prozess, um eine Quelle an einem besonderen Zugriffsniveau zu verwenden, muss es einen Zugriffsschlüsselangebotszugang zu diesem Niveau haben. Das Konzept ist den "Ringen des Schutzes" in Multics ähnlich. Die Architektur erlaubt 16 Zugriffsniveaus, von denen die Außen-6 für den Benutzerniveau-Code vorbestellt werden.

Orthogonal zu den Zugriffsniveaus stellt das Betriebssystem Mittel zu Anwendungen in der Form einer Virtuellen Maschine bereit. Eine Virtuelle Maschine kann vielfache Prozesse führen. In der Praxis ist eine VME Virtuelle Maschine am Konzept eines Prozesses auf anderen Betriebssystemen näher, während ein VME-Prozess mehr einem Faden ähnlich ist. Die Zuteilung von Mitteln zu einer virtuellen Maschine verwendet ein Stapel-Modell:

wenn der Stapel knallen gelassen wird, werden alle an diesem Stapel-Niveau zugeteilten Mittel veröffentlicht. Anrufe von einer Anwendung bis das Betriebssystem werden deshalb durch einen Anruf gemacht, der denselben Prozess-Stapel, aber mit einer Änderung im Schutzniveau behält; die resultierende Leistungsfähigkeit von Systemanrufen ist eine der Eigenschaften, die die Architektur konkurrenzfähig macht.

Die Kommunikation zwischen Virtuellen Maschinen wird mittels Ereignisse (genannt Nachrichtenkanäle) und geteilte Speicherbereiche erreicht. Die Hardware-Architektur stellt auch Semaphor-Instruktionen INCT (Zunahme-Und-Test) und TDEC (Test-Und-Verminderung) zur Verfügung.

Dateien und andere beharrliche Gegenstände werden in einem Behältnis genannt den Katalog registriert. Verschieden von anderen Betriebssystemen ist die Dateinamengeben-Hierarchie der Position einer Datei auf einem besonderen Band- oder Plattenvolumen unabhängig. In den Tagen, wo es mehr Bedürfnis nach der Off-Linelagerung gab, hat das es leicht gemacht, Dateien unabhängig von ihrer Position nachzugehen, und Dateien zwischen Positionen zu bewegen, ohne sie umzubenennen. Sowie Dateien, der Katalog geht Benutzer und Benutzergruppen, Volumina, Geräte, Netzverbindungen und viele andere Mittel nach. Metadata für Dateien kann in einem Gegenstand genannt eine Dateibeschreibung gehalten werden.

Unterbrechungen werden durch das Schaffen eines neuen Stapel-Rahmens auf dem Stapel für den relevanten Prozess, das Berühren der Unterbrechung mit dieser neuen Umgebung behandelt, und dann den Stapel knallen lassend, um zum unterbrochenen Prozess zurückzukehren.

OMF

Kompilierter Gegenstand-Code wird in einem Format genannt OMF (Gegenstand-Modul-Format) aufrechterhalten. Unterschiedlich in vielen anderen Betriebssystemen ist das auch das durch den Lader verwendete Format. Verschiedene Bearbeiter, sind sowie Dienstprogramme, namentlich der Sammler verfügbar, der den Code in mehreren OMF Modulen in ein einzelnes Modul, für das effizientere Laden an der Durchlaufzeit und das Modul Amender verbindet, der erlaubt, der Instruktionen in einem OMF Modul zu flicken, um Programmfehler mit der Zusammenbau-Sprachsyntax zu bestechen.

SCL

Die Befehl-Sprache für VME ist als SCL (Systembetriebssprache) bekannt.

Das ist viel erkennbarer eine getippte Programmiersprache auf höchster Ebene als die Job-Kontrolle oder in den meisten anderen Betriebssystemen gefundene Schale-Sprachen: Es kann mit scripting Sprachen wie JavaScript verglichen werden, obwohl seine Oberflächensyntax aus ALGOL 68 abgeleitet wird.

SCL wird entworfen, um sowohl Linie auf einmal interaktiver Gebrauch von einer Konsole oder von einer Befehl-Datei als auch Entwicklung von rechtskräftigen Schriften oder Programmen zu erlauben (wenn die Sprache ins Gegenstand-Modul-Format ebenso als jede andere VME Programmiersprache kompiliert wird). Die Behauptung eines Verfahrens innerhalb von SCL handelt auch als die Definition einer einfachen Form oder Schablone, die das Verfahren erlaubt, von einem interaktiven Terminal mit Feldern angerufen zu werden, die gemäß den Datentypen der zu Grunde liegenden Verfahren-Rahmen gültig gemacht sind oder die Verzug-Verfahren-Parameter-Werte verwendend.

Das eingebaute Befehl-Vokabular verwendet eine konsequente Namengeben-Tagung mit einem befehlenden von einem Substantiv gefolgten Verb: zum Beispiel DELETE_FILE oder DISPLAY_LIBRARY_DETAILS. Der Befehl kann vollständig geschrieben werden, oder kann eine abgekürzte Form verwenden, die Standardabkürzungen für das Verb und Substantiv verbindet: Zum Beispiel XF (X dafür, LÖSCHEN F für die DATEI), oder DLBD (D für die ANZEIGE, DAS PFD. für die BIBLIOTHEK, D für DETAILS).

SCL wird Block-strukturiert, damit beginnen Blöcke/beenden, die den Doppel- und Ergänzungsrollen dienen, das lexikalische Spielraum von variablen Behauptungen zu definieren, und die Punkte zu definieren, an denen vom Betriebssystem erworbene Mittel veröffentlicht werden sollten. Variablen auf der Sprache (die aus Anwendungen in der Form von Umgebungsvariablen zugänglich sind) können mehrere einfache Typen wie Schnuren, Superschnuren (Folgen von Schnuren), booleans, und ganze Zahlen haben, und werden auch verwendet, um Verweisungen auf Systemmittel wie Dateien und Netzverbindungen zu enthalten.

Ein einfaches Codebeispiel kann auf den 99 Flaschen der Bierwebsite gesehen werden.

Erhöhte Sicherheitsvarianten

Infolge der schweren Beteiligung von ICL mit der Übergabe von Computerdienstleistungen zum Publikum-Sektor des Vereinigten Königreichs, insbesondere diejenigen mit speziellen Sicherheitsvoraussetzungen wie OPCON CCIS, war es ein früher Eintretender in den Markt für Sichere Systeme.

VME hat einen Kern der Tätigkeiten von ICL in der Sicheren Systemarena gebildet. Es hatte den Vorteil, dass als das letzte groß angelegte Betriebssystem jemals entworfen, und ein gebauter von Kratzer seine zu Grunde liegenden Architektur umfassten vielen der Primitiven ein Sicheres System entwickeln mussten, insbesondere hat die Hardware Access Control Registers (ACR) geholfen, auf Vorzüge zu beschränken, die von jedem Prozess (einschließlich Benutzer) genommen werden konnten.

Das hat zu Vereinigten Königreichs Hauptcomputerwissenschaft der Regierung und Fernmeldeagentur (CCTA) geführt, der Projektastronauten Mitte der 1980er Jahre für ICL Defence Technology Centre (DTC) finanziell unterstützt, um eine erhöhte Sicherheitsvariante von VME zu entwickeln. ICL hat das als ein Paar von Ergänzungsprodukten, mit der kommerziellen Ausgabe werden genannt High Security Option (HSO) und die öffentliche Sektor-Ausgabe, einschließlich Technologien von Government Furnished Encryption (GFE), werden genannt Government Security Option (GSO) gestartet.

HSO und GSO wurden unter dem CESG Vereinigten Königreich (Sicherheit) Einschätzungsschema, einer der Vorgänger zu ITSEC und Allgemeinen Kriterien formell geprüft, und sind dabei die erste Hauptströmung formell Zu bescheinigendes Betriebssystem geworden.

Reihe 39

Der Reihe-39. anordnen hat Knotenarchitektur, eine neuartige Durchführung des verteilten geteilten Gedächtnisses eingeführt, das als eine Hybride eines Mehrverarbeiter-Systems und eines Traube-Designs gesehen werden kann. Jede Maschine besteht aus mehreren Knoten, und jeder Knoten enthält seinen eigenen Ordnungscode-Verarbeiter und Hauptgedächtnis. Virtuelle Maschinen werden normalerweise (zu irgendeiner Zeit) auf einem Knoten gelegen, aber haben die Fähigkeit, auf jedem Knoten zu laufen und von einem Knoten bis einen anderen umgesiedelt zu werden. Scheiben und andere Peripherie werden zwischen Knoten geteilt. Knoten werden mit einem optischen Hochleistungsbus verbunden, der verwendet wird, um Anwendungen mit einem virtuellen geteilten Gedächtnis zu versorgen. Speichersegmente, die, wie geteilt, gekennzeichnet werden (öffentliche oder globale Segmente) werden zu jedem Knoten mit Aktualisierungen wiederholt, die über das Zwischenknotennetz übertragen werden. Prozesse, die ungeteilte Speichersegmente (Knoten- oder lokal) geführt in der ganzen Isolierung von anderen Knoten und Prozessen verwenden.

Entwicklungsprozess

VME wurde fast völlig in S3, eine besonders bestimmte Systemprogrammiersprache ursprünglich geschrieben, die auf dem ALGOL 68 gestützt ist (jedoch, VME/K wurde in erster Linie auf der SFL Zusammenbau-Sprache geschrieben). Obwohl eine höhere Programmiersprache verwendet wird, wird das Betriebssystem nicht entworfen, um der zu Grunde liegenden Hardware-Architektur unabhängig zu sein: Im Gegenteil werden die Software und Hardware-Architektur nah integriert.

Vom Anfang der 1990er Jahre vorwärts wurden einige völlig neue VME Subsysteme teilweise oder ganz auf der C Programmiersprache geschrieben.

Von seinen frühsten Tagen wurde VME mithilfe von einem Softwaretechnikbehältnis bekannt als CADES entwickelt, der für den Zweck gebaut ist, eine zu Grunde liegende IDMS Datenbank zu verwenden. CADES ist nicht bloß ein Versionsregelsystem für Codemodule: Es führt alle Aspekte des Softwarelebenszyklus von der Voraussetzungsfestnahme bis zur Feldwartung.

CADES wurde in der VME Modul-Entwicklung verwendet, um getrennte Definitionen von Datenstrukturen (Weisen), Konstanten (Druckfehler), Verfahrensschnittstellen und die Kernalgorithmen zu halten. Vielfache Versionen ('Leben') von jedem dieser Bestandteile konnten bestehen. Die Algorithmen wurden in System Development Language (SDL) geschrieben, die dann zur S3 Quelle durch einen Vorverarbeiter umgewandelt wurde. Vielfache Versionen derselben Module konnten erzeugt werden.

Anwendungsentwicklungswerkzeuge

Die Anwendungsentwicklungswerkzeuge haben sich mit dem VME-Fall in zwei Kategorien geboten:

Der toolset auf VME ist mit den meisten Kunden ungewöhnlich homogen, die denselben Kernsatz von Sprachen und Werkzeugen verwenden. Infolgedessen werden die Werkzeuge auch sehr gut integriert. Drittwerkzeuge haben relativ wenig Eindruck gemacht.

Viele Jahre lang hat die große Mehrheit von VME Benutzern Anwendungen im COBOL geschrieben, gewöhnlich von der IDMS Datenbank und dem TPMS Transaktionsverarbeitungsmonitor Gebrauch zu machen. Andere Programmiersprachen haben Fortran, Pascal, Algol 68, Coral 66 und RPG2, aber diese gedienten Minderheitsbeteiligungen eingeschlossen. Später, Mitte der 1980er Jahre, sind Bearbeiter für C verfügbar sowohl innerhalb als auch außerhalb des Subsystems von Unix geworden, um größtenteils zu ermöglichen, der Software wie Verwandtschaftsdatenbanksysteme nach Backbord zu halten.

Die innerhalb von ICL entwickelten Bearbeiter teilen eine allgemeine Architektur, und teilen in einigen Fällen Bestandteile wie Codegeneratoren.

Systemprogrammiersprachen: S3 und SFL

Die primäre Sprache, die verwendet ist, um sowohl den VME Betriebssystem selbst als auch die andere Systemsoftware wie Bearbeiter und Transaktionsverarbeitungsmonitore zu entwickeln, ist S3. Das ist eine hohe Sprache, die auf viele Weisen auf dem ALGOL 68, aber mit Datentypen und auf niedriger Stufe Funktionen und Maschinenbedienern gestützt ist, ausgerichtet nah nach der Architektur der 2900 Reihen.

Eine Zusammenbau-Sprache SFL (Systemfunktionssprache) ist auch verfügbar. Das wurde für die Entwicklung von VME/K verwendet, dessen Entwerfer nicht überzeugt waren, dass eine höhere Programmiersprache entsprechende Leistung, und auch für das IDMS Datenbanksystem wegen seiner Ursprünge als ein Drittprodukt geben konnte. SFL wurde Makroassemblerprogrammiersprache (AHORN) ursprünglich genannt, aber weil die 2900 Architektur eingestellt wurde, weil, aus hohen Sprachmaschinen bestehend, der Name auf Bitte vom ICL Marketing geändert wurde. Es war als ein Teil des Werkzeuges für das System D entwickelt worden, der nachher annulliert wurde. Verwandte Familien von Monteuren für andere Architekturen (das RUHIGE-XX Laufen unter VME, PALME-XX, die in Pascal und dem Laufen auf verschiedenen Gastgebern entwickelt ist), wurden für den inneren Gebrauch entwickelt.

Weder S3 noch SFL wurden jemals als ein Entwicklungswerkzeug für Endbenutzer-Anwendungen gefördert; weder wurde als ein Standardteil des Betriebssystems geliefert, noch sie wurden als Produkte in ihrem eigenen Recht auf den Markt gebracht, obwohl in der Praxis sie Benutzern und Dritten bereitgestellt wurden, die sie gebraucht haben.

QuickBuild

Die Anwendungsentwicklungsumgebung von QuickBuild auf VME ist hoch erfolgreich gewesen, ungeachtet der Tatsache dass Anwendungen in zur VME Umgebung größtenteils geschlossen werden. Diese Umgebung wird auf das Datenwörterbuch-System (Doktor der Zahnmedizin, auch genannt OpenDDS), ein früher und sehr erfolgreicher Versuch in den Mittelpunkt gestellt, ein umfassendes Behältnis zu bauen, das alle anderen Werkzeuge mit der vollen Unterstützung für den Entwicklungslebenszyklus unterstützt. Sowie Datenbankdiagramme und Datei und Rekordbeschreibungen, das Wörterbuch geht Gegenstände wie Berichte und Abfragen, Schirm-Designs, und 4GL Code nach; es unterstützt auch eine Vielfalt von Modellen am Voraussetzungsfestnahme-Niveau, wie Entitätsbeziehungsmodelle und Prozessmodelle.

QuickBuild 4GL wird in zwei Formen paketiert:

  • ApplicationMaster für die Entwicklung von TP Online-Anwendungen
  • ReportMaster für den Gruppe-Bericht.

Beide sind Aussagesprachen auf höchster Ebene mit Jackson Structured Programming als ihr Designparadigma. ApplicationMaster ist in seiner Annäherung an das Anwendungsdesign ungewöhnlich, in dem er sich auf die Benutzersitzung konzentriert, als ob er in einem einzelnen Unterhaltungsprozess lief, völlig die Kompliziertheit verbergend, Staat über Benutzerwechselwirkungen aufrechtzuerhalten. Weil 4GL und andere Werkzeuge wie die Schirm-Entwerfer-Arbeit nur mit dem Wörterbuch des Doktoren der Zahnmedizin, das auch die Datenbankdiagramme hält, es beträchtlichen Wiedergebrauch von metadata gibt, der mit anderem 4GLs selten erreicht wird.

Quellen

  • Die Architektur von OpenVME. Nic Holt. ICL Veröffentlichung 55480001. Undatiert (wahrscheinlich 1995)

Concepción, Chile / Koch-Universität von James
Impressum & Datenschutz