Multics

Multics (Gleichzeitig gesandte Information und Rechendienst) war ein einflussreiches frühes Time-Sharing Betriebssystem. Das Projekt wurde 1964 in Cambridge, Massachusetts angefangen. Die letzte bekannte laufende Installation von Multics wurde am 30. Oktober 2000 an der kanadischen Abteilung der Nationalen Verteidigung in Halifax, Nova Scotias, Kanada geschlossen.

Übersicht

Anfängliche Planung und Entwicklung für Multics haben 1964 angefangen. Ursprünglich war es ein kooperatives Projekt, das durch MIT (mit Fernando Corbató) zusammen mit General Electric und Glockenlaboratorien geführt ist. Glockenlaboratorien haben 1969 ausgestiegen, und 1970 wurde das Computergeschäft von GE einschließlich Multics von Honeywell übernommen.

Multics wurde als ein kommerzielles Produkt für GE konzipiert, und ist ein für Honeywell, aber nicht einen sehr erfolgreichen geworden. Wegen seiner vieler neuartigen und wertvollen Ideen hatte Multics einen bedeutenden Einfluss im Computerfeld, wenn auch es von einigen Kritikern zurzeit verlacht wurde.

Multics hat zahlreiche Eigenschaften beabsichtigt lassen, um auf hohe Verfügbarkeit hinauszulaufen, so dass es ein Rechendienstprogramm unterstützen würde, das dem Telefon und den Elektrizitätsdienstleistungen ähnlich ist. Modulhardware-Struktur und Softwarearchitektur wurden verwendet, um das zu erreichen. Das System konnte in der Größe durch das einfache Hinzufügen von mehr von der passenden Quelle — Rechenmacht, Hauptgedächtnis, Plattenlagerung usw. wachsen. Getrennte Zugriffsberechtigungslisten auf jeder Datei haben das flexible Informationsteilen, aber die ganze Gemütlichkeit, wenn erforderlich, zur Verfügung gestellt. Multics hatte mehrere Standardmechanismen, Ingenieuren zu erlauben, die Leistung des Systems, sowie mehrere anpassungsfähige Leistungsoptimierungsmechanismen zu analysieren.

Neuartige Ideen

Multics hat einen einzelnen Niveau-Laden für den Datenzugang durchgeführt, die klare Unterscheidung zwischen Dateien (genannt Segmente in Multics) und Prozess-Gedächtnis verwerfend. Das Gedächtnis eines Prozesses hat allein aus Segmenten bestanden, die in seinen Adressraum kartografisch dargestellt wurden. Um zu lesen oder ihnen zu schreiben, hat der Prozess einfach normale Zentraleinheitsinstruktionen verwendet, und das Betriebssystem hat auf das Sicherstellen aufgepasst, dass alle Modifizierungen zur Platte gespart wurden. In der POSIX Fachsprache war es, als ob jede Datei Hrsg. war; jedoch in Multics gab es kein Konzept des Prozess-Gedächtnisses, getrennt vom Gedächtnis hat gepflegt, kartografisch dargestellt - in Dateien zu halten, wie Unix hat. Das ganze Gedächtnis im System war ein Teil von etwas Segment, das im Dateisystem erschienen ist; das hat das vorläufige Kratzer-Gedächtnis des Prozesses, seines Kernstapels usw. eingeschlossen.

Ein Nachteil davon war, dass die Größe von Segmenten auf 256 kilowords beschränkt wurde, gerade mehr als 1 MiB gebend. Das war wegen der besonderen Hardware-Architektur der Maschinen, auf denen Multics gelaufen ist, eine 36-Bit-Wortgröße habend (das 8-Bit-Byte nicht verwendend). Extracode musste verwendet werden, um an Dateien zu arbeiten, die größer sind als das, genannt Mehrsegment-Dateien. In den Tagen, als das ein Megabyte des Gedächtnisses untersagend teuer war, und bevor große Datenbanken und spätere riesige Punktgrafiken, auf diese Grenze selten gestoßen wurde.

Eine andere neue Hauptidee von Multics war dynamische Verbindung, in der ein laufender Prozess bitten konnte, dass andere Segmente zu seinem Adressraum, Segmente hinzugefügt werden, die Code enthalten konnten, den es dann durchführen konnte. Das hat Anwendungen erlaubt, die letzte Version jeder Außenroutine automatisch zu verwenden, die sie genannt haben, seitdem jene Routinen in anderen Segmenten behalten wurden, die nur dynamisch verbunden wurden, als ein Prozess zuerst versucht hat, Ausführung in ihnen zu beginnen. Seitdem verschiedene Prozesse verschiedene Suchregeln verwenden konnten, konnten verschiedene Benutzer damit enden, verschiedene Versionen von Außenroutinen automatisch zu verwenden. Ebenso wichtig, mit den passenden Einstellungen auf den Sicherheitsmöglichkeiten von Multics, konnte der Code im anderen Segment dann Zugang zu in einem verschiedenen Prozess aufrechterhaltenen Datenstrukturen gewinnen.

So, um mit einer Anwendung aufeinander zu wirken, die teilweise als ein Dämon (in einem anderen Prozess) läuft, hat ein Prozess eines Benutzers einfach eine normale Instruktion des Verfahren-Anrufs zu einem Codesegment durchgeführt, zu dem es sich dynamisch verbunden hatte (ein Codesegment, das etwas Operation durchgeführt hat, die mit dem Dämon vereinigt ist). Der Code in diesem Segment konnte dann Daten modifizieren, die aufrechterhalten und im Dämon verwendet sind. Als die Handlung, die notwendig ist, um die Bitte anzufangen, vollendet wurde, hat ein einfacher Verfahren-Rückkehrbefehl Kontrolle des Prozesses des Benutzers zum Code des Benutzers zurückgegeben.

Der einstufige Laden und die dynamische Verbindung sind für ihre Vollmacht in anderen weit verwendeten Betriebssystemen trotz des schnellen und enormen Fortschritts im Computerfeld seit den 1960er Jahren noch immer nicht verfügbar. Sie werden weiter akzeptiert und verfügbar in mehr beschränkten Formen, z.B, dynamischer Verbindung.

Multics hat auch äußerst aggressive Online-Wiederkonfiguration unterstützt; in einer Prozession gehende Haupteinheiten, Speicherbanken, Laufwerke, konnten usw. hinzugefügt und entfernt werden, während das System fortgesetzt hat zu funktionieren. Am MIT System, wo frühste Softwareentwicklung getan wurde, war es übliche Praxis, um das Mehrverarbeiter-System in zwei getrennte Systeme während des außer Stunden durch das zusätzliche Entfernen von genug Bestandteilen zu spalten, um ein zweites Arbeitssystem, das Verlassen des Rests zu bilden, der noch das Original geloggt - in Benutzern führt. Systemsoftwareentwicklungsprüfung konnte auf der zweiten Maschine getan werden, dann wurden die Bestandteile des zweiten Systems zurück auf das Hauptbenutzersystem hinzugefügt, ohne es jemals geschlossen zu haben. Multics hat vielfache Zentraleinheiten unterstützt: Es war eines der frühsten Mehrverarbeiter-Systeme.

Multics war das erste Hauptbetriebssystem, das als ein sicheres System vom Anfang zu entwerfen ist. Trotzdem wurden frühe Versionen von Multics wiederholt eingebrochen. Das hat zu weiterer Arbeit geführt, die das System viel sicherere und angekündigte moderne Sicherheitstechniktechniken gemacht hat. Einbrüche sind sehr selten geworden, sobald die Hardware-Basis der zweiten Generation angenommen wurde; es hatte Hardware-Unterstützung für die ringorientierte Sicherheit, eine Mehrniveau-Verbesserung des Konzepts der Master-Weise.

Multics war das erste Betriebssystem, um ein hierarchisches Dateisystem zur Verfügung zu stellen, und Dateinamen konnten von fast der willkürlichen Länge und Syntax sein. Eine gegebene Datei oder Verzeichnis konnten vielfache Namen (normalerweise eine lange und kurze Form) haben, und symbolische Verbindungen zwischen Verzeichnissen wurden auch unterstützt. Multics war erst, um das jetzt Standardkonzept von Stapeln pro Prozess im Kern mit einem getrennten Stapel für jeden Sicherheitsring zu verwenden. Es war auch einer der ersten, die auf einer hohen Sprache (Multics PL/1), gerade nach dem Burroughs MCP im Algol geschriebenes System geschrieben sind.

Projektgeschichte

Multics wurde am Anfang für den GE-645 Großrechner, ein 36-Bit-System entwickelt; später wurde es auf Honeywell 6180 Reihe-Maschinen unterstützt. "Mit Multics haben sie versucht, ein viel mehr vielseitiges und flexibles Betriebssystem zu haben, und er hat elend gescheitert," hat Dr Peter H. Salus, Autor der endgültigen Geschichte der frühen Jahre von Unix gesagt.

Glockenlaboratorien haben aus dem Projekt 1969 ausgestiegen; einige der Leute, die daran gearbeitet hatten, dort haben fortgesetzt, das System von Unix zu schaffen. Entwicklung von Multics hat an MIT und General Electric weitergegangen.

1970 hat Honeywell die Computerabteilung des General Electric gekauft, hat eine bessere Hardware-Basis veröffentlicht, und hat Systementwicklung bis 1985 fortgesetzt. Ungefähr 80 Seiten von vielen Millionen Dollar, wurden an Universitäten, Industrie und Regierungsseiten installiert. Das französische Universitätssystem hatte ziemlich viele Installationen am Anfang der 1980er Jahre. Nachdem Honeywell aufgehört hat, Multics zu unterstützen, sind Benutzer zu anderen Systemen einschließlich Unix abgewandert. Die letzte Maschine von Multics wurde am 30. Oktober 2000 an der kanadischen Abteilung der Nationalen Verteidigung geschlossen.

1985 war Multics ausgegebenes Zertifikat als ein B2 Niveau sicheres Betriebssystem mit den Vertrauten Computersystemeinschätzungskriterien von National Computer Security Center (NCSC) eine Abteilung des NSA, das erste zu diesem Niveau bewertete Betriebssystem.

Multics wurde 1975 bis 2000 vom Groupe Stier in Europa, und von Bull HN Information Systems Inc. in den Vereinigten Staaten verteilt. 2006 öffnen Männliche SAS sourced Versionen MR10.2, MR11.0, MR12.0, MR12.1, MR12.2, MR12.3, MR12.4 & MR12.5 von Multics.

Rückblickende Beobachtungen

Der dauerhaft ortsansässige Kern dieses starken Mehrverarbeiter-Großrechners Rechendienstprogramm, viel verlacht an seinem Tag als zu groß und kompliziert seiend, war nur 135 KiB des Codes. Der erste MIT GE-645 hatte 512 kilowords des Gedächtnisses (2 MiB), ein aufrichtig enormer Betrag zurzeit, und der Kern hat nur einen gemäßigten Teil von Multics Hauptgedächtnis verwendet.

Das komplette System, einschließlich des Betriebssystems und des PL/1 komplizierten Bearbeiters, befiehlt Benutzer, und Unterprogramm-Bibliotheken, hat aus ungefähr 1500 Quellmodulen bestanden. Diese haben ungefähr 200 Linien des Quellcodes jeder im Durchschnitt betragen und haben kompiliert, um insgesamt ungefähr 4.5 MiB des Verfahren-Codes zu erzeugen, der nach den Standards des Tages ziemlich groß war.

Bearbeiter von Multics haben allgemein mehr für die Codedichte optimiert als Zentraleinheitsleistung, zum Beispiel mit kleinen Unterprogrammen genannt Maschinenbediener nach kurzen Standardcodefolgen, direkten Vergleich der Gegenstand-Codegröße mit moderneren Systemen weniger nützlich machend. Hohe Codedichte war eine gute Optimierungswahl für ein Mehrbenutzersystem mit dem teuren Hauptgedächtnis wie Multics.

Einfluss auf andere Projekte

UNIX

Das Design und die Eigenschaften von Multics haben außerordentlich Unix Betriebssystem beeinflusst, das von zwei Ex-Programmierern aus dem älteren Projekt, Ken Thompson und Dennis Ritchie ursprünglich geschrieben wurde. Der oberflächliche Einfluss von Multics auf Unix ist in vielen Gebieten, einschließlich des Namengebens von Befehlen (wie "ls" offensichtlich, um Segmente" oder Dateien "zu verzeichnen). Aber die innere Designphilosophie war ziemlich verschieden, sich darauf konzentrierend, das System klein und einfach zu halten, und so einige wahrgenommene Mängel an Multics wegen seiner hohen Quellenanforderungen auf der beschränkten Computerhardware der Zeit zu korrigieren.

Der Name Unix (ursprünglich Unics) ist selbst ein Wortspiel über Multics. Der U in Unix wird verbreitet, um für uniplexed im Vergleich mit dem gleichzeitig gesandten von Multics einzutreten, weiter die Verwerfungen der Entwerfer der Kompliziertheit von Multics für eine aufrichtigere und bearbeitungsfähige Annäherung für kleinere Computer unterstreichend. (Garfinkel und Abelson zitieren einen alternativen Ursprung: Peter Neumann an Glockenlaboratorien, eine Demonstration des Prototyps beobachtend, hat den Namen/Wortspiel UNICS vorgeschlagen (hat "Eunuchs" ausgesprochen), als "kastrierter Multics".)

Ken Thompson, in einem abgeschriebenen 2007-Interview mit Peter Siebel bezieht sich auf Multics, wie "... überentworfen und übergebaut und über alles. Es war in der Nähe vom unbrauchbaren. Sie (d. h., Institut von Massachusetts für die Technologie) behaupten noch, dass es ein monströser Erfolg ist, aber es war gerade klar nicht." Er gibt jedoch zu, dass "Die Dinge, die ich genug (über Multics) gemocht habe, um wirklich zu nehmen, das hierarchische Dateisystem und die Schale — ein getrennter Prozess waren, den Sie durch einen anderen Prozess ersetzen können."

Andere Betriebssysteme

Der Hauptcomputer Betriebssystem, PRIMOS, ist "Multics in einem shoebox" durch William Poduska, einen Gründer der Gesellschaft genannt geworden. Poduska ist später zum gefundenen Computer von Apollo weitergegangen, dessen AEGIS und später Domain/OS Betriebssysteme, manchmal genannt "Multics in einer Streichholzschachtel" hat das Design von Multics zu einer schwer vernetzten Grafikarbeitsplatz-Umgebung erweitert.

Die Schichtwolke VOS, der das Betriebssystem des Schichtwolke-Computers (jetzt Stratus Technologies) sehr stark unter Einfluss Multics, und sowohl seine Außenbenutzerschnittstelle als auch innere Struktur war, hat viele nahe Ähnlichkeiten mit dem älteren Projekt. Die hohe Zuverlässigkeit, Verfügbarkeit und Sicherheitseigenschaften von Multics wurden in der Schichtwolke VOS erweitert, um eine neue Linie der Schuld tolerante Computersysteme zu unterstützen, die sichere, zuverlässige Transaktionsverarbeitung unterstützen. Schichtwolke VOS ist der direkt verwandteste Nachkomme von Multics noch im aktiven Entwicklungs- und Produktionsgebrauch heute.

Die Schutzarchitektur von Multics, die Fähigkeit des Codes an einem Niveau des Systems einschränkend, um auf Mittel an einem anderen zuzugreifen, wurde als die Basis für die Sicherheitseigenschaften des VME von ICL Betriebssystem angenommen.

Sieh die "Außenverbindungen" Abteilung dieses Artikels für mehr Information über Einflüsse von Multics auf andere Software und Hardware-Systeme.

Siehe auch

  • Fernando J. Corbató, der Führer von Multics springt vor, während MIT beteiligt wurde
  • Jerome H. Saltzer
  • Jack B. Dennis
  • Peter J. In einer Höhle zu leben
  • Robert M. Graham
  • Victor A. Vyssotsky
  • Louis Pouzin, vorgestellt der Begriff Schale für die Befehl-Sprache, die in Multics verwendet ist
  • Peter G. Neumann
  • Roger R. Schell
  • Robert Fano, Direktor von Projekt-MAC an MIT 1963-1968
  • J. C. R. Licklider, Direktor von Projekt-MAC an MIT 1968-1971
  • Dennis Ritchie

Weiterführende Literatur

Die Literatur enthält eine Vielzahl von Papieren über Multics und verschiedene Bestandteile davon; eine ziemlich ganze Liste ist hier verfügbar. Die wichtigsten und/oder informativen werden unten verzeichnet.

  • F. J. Corbató, V. A. Vyssotsky, Einführung und Übersicht des Multics Systems (AFIPS 1965) sind eine gute Einführung ins System.
  • F. J. Corbató, C. T. Clingen, J. H. Saltzer, Multics — Die Ersten Sieben Jahre (AFIPS, 1972) sind eine ausgezeichnete Rezension, schriftlich nach einer beträchtlichen Periode des Gebrauches und der Verbesserung über die anfänglichen Anstrengungen.
  • J. J. Donovan, S. Madnick, Systeme Operierend, ist ein auf Betriebssystemen gelesener grundsätzlicher.
  • J. J. Donovan, Systemprogrammierung, ist eine gute Einführung in Systeme programmierende und Betriebssysteme.

Technische Details

  • Jerome H. Saltzer, Einführung in Multics (MIT Projekt MAC, 1974) sind eine beträchtlich längere Einführung ins System, das zu wirklichen Benutzern eingestellt ist.
  • Elliott I. Organick, Das Multics System: Eine Überprüfung Seiner Struktur (MIT Presse, 1972) ist die Standardarbeit am System, obwohl es eine frühe Version dokumentiert, und einige Eigenschaften beschrieben darin nie im wirklichen System erschienen sind.
  • V. A. Vyssotsky, F. J. Corbató, R. M. Graham, Struktur des Multics Oberaufsehers (AFIPS 1965) beschreiben die grundlegende innere Struktur des Kerns von Multics.
  • Jerome H. Saltzer, Verkehrskontrolle in einem Gleichzeitig gesandten Computersystem (MIT Projekt MAC, Juni 1966) sind die ursprüngliche Beschreibung der Idee, Kernstapel zu schalten; eines der klassischen Papiere der Informatik.
  • R. C. Daley, P. G. Neumann, Ein Allgemeines Zweck-Dateisystem für die Sekundäre Lagerung (AFIPS, 1965) beschreiben das Dateisystem, einschließlich der Zugriffskontrolle und Aushilfsmechanismen.
  • R. J. Feiertag, E. I. Organick, Das Multics System des Eingangs/Produktion. Beschreibt die niedrigeren Ebenen der Eingabe/Ausgabe-Durchführung.
  • A. Bensoussan, C. T. Clingen, R. C. Daley, Das Multics Virtuelle Gedächtnis: Konzepte und Design, (ACM SOSP, 1969) beschreiben das Speichersystem von Multics in einem Detail.
  • Paul Green, [ftp://ftp.stratus.com/pub/vos/multics/pg/mvm.html Multics Virtuelles Gedächtnis - Tutorenkurs und Nachdenken] ist ein guter eingehender Blick auf das Lagerungssystem von Multics.
  • Roger R. Schell, Dynamische Wiederkonfiguration in einem Modulcomputersystem (MIT Projekt MAC, 1971) beschreiben die Wiederkonfigurationsmechanismen.

Sicherheit

  • Paul A. Karger, Roger R. Schell, Multics Sicherheit Einschätzung: Verwundbarkeitsanalyse (Luftwaffe Elektronische Systemabteilung, 1974) beschreibt die klassischen Angriffe auf die Sicherheit von Multics durch eine "Tiger-Mannschaft".
  • Jerome H. Saltzer, Michael D. Schroeder, Der Schutz der Information in Computersystemen (Verhandlungen des IEEE, September 1975) beschreiben die Grundlagen hinter der ersten Runde von Sicherheitssteigungen; ein anderes klassisches Papier.
  • M. D. Schroeder, D. D. Clark, J. H. Saltzer, D. H. Wells. Der Schlussbericht des Multics Kerndesignprojektes (MIT LCS, 1978) beschreibt die Sicherheitssteigungen, die hinzugefügt sind, um eine noch mehr verbesserte Version zu erzeugen.
  • Paul A. Karger, Roger R. Schell, Dreißig Jahre Später: Lehren von der Multics Sicherheit Einschätzung (IBM, 2002) ist eine interessante Retrospektive, die wirkliche aufmarschierte Sicherheit in der heutigen feindlichen Umgebung damit vergleicht, was demonstriert wurde, um vor einigen möglichen Jahrzehnten zu sein. Es beschließt, dass Multics beträchtlich stärkere Sicherheit angeboten hat als die meisten 2002 gewerblich verfügbaren Systeme.

Links

war

Maus / Marxistische Filmtheorie
Impressum & Datenschutz