Loading AI tools
Microkernel-Echtzeitbetriebssystem Aus Wikipedia, der freien Enzyklopädie
ChorusOS ist ein Betriebssystem, das Aufgaben in extrem kurzer Zeit erledigen muss. Es ist so konzipiert, dass sich damit offene, verteilte und anpassungsfähige Systeme bauen lassen. Die Grundstruktur von ChorusOS verbindet die Eigenschaften verteilter, adaptiver Systeme und strukturierter Chaosforschung. Das bedeutet, dass das System auch in unvorhergesehenen Situationen stabil bleibt. Der Kern des Betriebssystems stellt Systemprogrammierern Echtzeitdienste zur Verfügung. Dank seiner modularen Bauweise kann ChorusOS flexibel an verschiedene Anforderungen angepasst und während des Betriebs verändert werden.
ChorusOS | |
---|---|
Entwickler | Chorus Systèmes S.A. Sun Microsystems, Inc. |
Lizenz(en) | Sun Public License Version 1.0 (the „License“) GNU General Public License (GPL) Mozilla Public License FreeBSD license |
Akt. Version | 5.1 |
Kernel | Nucleus Mikrokernel |
Abstammung | CHORUS-V0\-V1\-V2\-V3 |
Architektur(en) | x86, 68k, PPC, SPARC, ARM, MIPS |
Kompatibilität | ANSI\POSIX\Unix System V |
Sprache(n) | Englisch |
ChorusOS 5.0 |
In den 1960er Jahren führte der Börseneinbruch des französischen Computerherstellers Bull zur Übernahme durch das US-Unternehmen General Electric. Angesichts der Schwierigkeiten der französischen Elektronikindustrie auf internationaler Ebene fasste die Regierung von General de Gaulle den Beschluss, ihre Industrie für einen Zeitraum von fünf Jahren zu unterstützen. Es war geprägt von der Fusion mehrerer Unternehmen zur International Computing Company (CII). Dieser französische Champion profitierte anschließend von der Unterstützung der von IRIA durchgeführten Forschung. Gemeinsam produzierten sie mehrere Computer und Prototypen.[1] Die siebziger Jahre waren hin- und hergerissen zwischen reifenden Projekten und verpassten Gelegenheiten. Starrheiten und fehlende Ressourcen verlangsamten den Fortschritt von Projekten. Letztere wucherten jedoch wie das Spartacus-Programm, das darauf abzielte, ein Gerät zur Autonomie von Tetraplegikern zu entwickeln, das aber letztendlich zu einem innovativen Roboter für die Industrie führte. Der Ruf von IRIA war grenzüberschreitend, insbesondere dank der Innovationen, die aus dem CYCLADES-Projekt resultierten. Deren Forscher erfanden die paketvermittelte Datenübertragung, eines der Pionierprinzipien des Internets. Ein entscheidendes Jahr war: 1979. Damals drohte IRIA ein möglicher Umzug nach Sophia Antipolis oder eine Fusion mit IRISA in Rennes. Das Institut wurde schließlich dank der Entschlossenheit seines damaligen Direktors Jacques-Louis Lions in Rocquencourt aufrechterhalten. Im selben Jahr erhielt IRIA seinen Adelsbrief und fügte seinem Akronym ein „N“ hinzu, was es zu einem nationalen Institut machte. Aus diesem historischen Moment resultierten Forschung, Innovation, Partnerschaften und Engagements in den digitalen Wissenschaften.[2]
Das sich 1979 am mittlerweile verstaatlichten Institut für Forschung, Informatik und Automatisierung, dem „Institut national de recherche en informatique et en automatique“ die Projektgruppe für Softwareentwicklung gründete, die später federführend bei der Entwicklung von ChorusOS war, hatte ausschließlich politische Gründe, wie Michel Gien in Paris im Interview mit Andrew L. Russel 2012 zugab. Das Projekt CYCLADES versuchte nach und nach durch Standardisierungen zu überleben, aber auf der anderen Seite des Atlantik haben Vinton G. Cerf und ARPA Sachen implementiert, damit es funktioniert und das ist das Wie… Und das andere, was passierte, war mehr oder weniger ein Teil davon: der Aufstieg von Unix und PDP-11, und was mit Unix auch von unten nach oben kam, war das UUCP-Protokoll. Es war nicht wirklich ein Protokoll, sondern sehr „hackendes“ Zeug, aber das arbeitete. Und so nutzten die Leute dies auch in der Forschung. Das war einfacher, weil Sie dies nur von Ihren Computern erstellen lassen mussten, und dann sprechen Sie einfach mit dem nächsten Computer. Und dann spricht der nächste Computer mit dem anderen nächsten Computer. Und so war es eine Art festes Routing, aber wir könnten es schaffen, dass die Computer auch ohne kommunizieren keine Infrastruktur benötigen, nur über Telefonleitungen. Das war also ein großes Gebäude. Und ich beschloss mich daran zu beteiligen, da Louis Pouzin Ende der 70er Jahre mich bat, ein weiteres Pilotprojekt zu starten, das Sol Project genannt wurde. Und die Idee war zu sagen: „Wir haben Unix, das beginnt, ein wirklich beliebtes Betriebssystem zu werden für die Forschung. Und wir haben nichts in Frankreich.“ Und Unix arbeitete im DEC Rechnern. Und in Frankreich gab es eine Art Verbot von DEC-Computern aus politischen Gründen. Gründe, weil sie nicht die Fabrik gebaut haben, die die Regierung im östlichen Frankreich erwartet hatte oder so etwas <Gelächter> und jemand in der Regierung sagt: „„Kein DEC“ Computer in Frankreich!“ Als öffentliche Forschung konnten wir keinen DEC-Computer kaufen. Und so war Louis Pouzin‘ Idee zu sagen: „Lasst uns ein Betriebssystemprojekt bauen, das Unix nachahmt, aber wir werden es auf einen französischen Computer erstellen.“ Und was wir entschieden haben, das war irgendwie technisch verrückt, aber politisch funktionierte, war zu sagen: „Wir werden moderne Sprachen verwenden, wie Pascal. Wir werden es unter dem Dach von Software-Engineering-Projekten tun, um Software Ingenieuren zu helfen bessere Computerprogramme zu bauen.“ Also hat sich die Regierung darin eingekauft und begann dieses Projekt, das im Wesentlichen darin bestand, die Pascal-Compiler für alle französischen Computer zu bauen. Damals gab es zwei – Mini-Computer, die kamen – den Mitra und den CII-Bull-Honeywell. Honeywell war damals Franzose, Honeywell-Stufe sechs. Und wir bauten die Betriebssysteme, die Unix-Version wären, aber in Pascal. Louis Pouzin hat mich gefragt das zu versuchen. Also habe ich dieses Projekt gestartet, weil ich meinen Hintergrund in Betriebssystemen hatte. Und das erste, was wir gemacht haben, war, den Unix-Code zu nehmen und ihn in C auf dem französischen Computer abzulegen und es dann in Pascal umzuschreiben. Das hat also nicht wirklich was gebracht, aber was es getan hat war, eine große Kultur der Unix-Programmierung und der Systemprogrammierung unter all den Leuten zu schaffen, die an diesem Projekt gearbeitet haben. Aus bildungspolitischer und kultureller Sicht es hat viel gebracht. Viele französische Unternehmen und Personen sind Experten im Netzwerken, wegen CYCLADES und in Betriebssystemen wegen Sol.[3]
Aus dieser Entwicklung ging, unter dem Gesichtspunkt eines Lebenszyklus für Software, später das kommerzielle Produkt ChorusOS hervor.[4]
Ein weiteres Forschungsprojekt das am staatlichen Institut INRIA lief war Sol. Dieses Pilotprojekt hatte das Ziel, die Mehrbenutzer-Betriebssystem-Umgebung UNIX, komplett in Pascal auf französischen Computersystemen, einschließlich des HB Level 6, Centre National d’Etudes des Télécommunications SM90 (68000) System umzusetzen.[5][6][7] Im Jahre 1984 war die Fusion der Forschungsprojekte zu einem größeren Team: Mitglieder aus dem Forschungsprojekt Sol schlossen sich dem Forschungsprojekt Chorus an und brachten Ihre Erfahrungen hier mit ein.[8] Das Ergebnis der Entwicklung waren drei Versionen, bezeichnet als CHORUS-V0, CHORUS-V1 und CHORUS-V2.[9][10] In das Projekt Chorus research project gingen Forschungsergebnisse und Systemerfahrungen aus den Projekten CYCLADES und ESOPE ein.[11]
Die erste Version experimentierte mit drei Hauptkonzepten:
Die zweite Version verschob den Prototyp hin zu einem Echtsystem. Das Design hatte ein paar Änderungen im Vergleich zu CHORUS-V0:
Die Anpassung an das Mehrbenutzer-Betriebssystem zwang zur Umgestaltung der CHORUS Schnittstelle und zur Änderung der System-Akteure.[13] Die Version CHORUS-V2, bot die Möglichkeit an, das Mehrbenutzer-Betriebssystem und die Kernelarchitektur im Gesamten zu überdenken. Mit dem Respekt für die zwei Konzepte:[14]
Anfang 1987 gründeten Hubert Zimmermann und Michael Gien das französische Unternehmen Chorus Systèmes Société anonyme als eine Aktiengesellschaft nach dem französischen Handelsrecht von 1867. Unter anderem veröffentlichte das kleine Team als Ergebnis dieser Arbeitsphase die Version CHORUS-V3. Im Jahre 1989 folgte dann die Veröffentlichung von Chorus/MIX V3.2. Es handelte sich hierbei um ein verteiltes System mit Unterstützung von Echtzeit und binärer Kompatibilität zu SCO Systemen und Intel basierenden Maschinen.
Im Quartalsbericht 10-Q des US-amerikanischen Unternehmens Sun Microsystems aus Kalifornien war die Übernahme der Chorus Systèmes Société anonyme beschrieben. Am 21. Oktober 1997 wechselten alle Aktien und Passiva, sowie alle Niederlassungen für eine Summe von 26,5 Millionen US-Dollar in Bargeld die Besitzerin. Eine Abschreibung von 13 Millionen US-Dollar kam für die Integration, Forschung und Entwicklung hinzu.[17]
Durch die feindliche Übernahme des französischen Unternehmens Chorus Systèmes Société anonyme durch das Unternehmen Sun Microsystems mit Sitz in Kalifornien/USA bekam das Echtzeitbetriebssystem den neuen Produktnamen ChorusOS. Sun Microsystems schloss die feindliche Übernahme im Jahr 2002 mit dem Status EOL für ChorusOS ab. Damit war der Lebenszyklus des Produkts offiziell beendet. Das bedeutete, dass ihm keine weitere Unterstützung mehr zukam. Der letzte Quellenbaum von ChorusOS, die Weiterentwicklung des Release 5.1, hatte seine Veröffentlichung als Chorus Open Source[18] durch Sun Microsystems auf der Website von Sun Microsystems Laboratories Experimental Stuff.
Wirtschaftliche Schwierigkeiten infolge der Dotcom-Blase veranlassten Sun Microsystems, im Jahr 2002 Maßnahmen zur Kostensenkung einzuleiten. Eine Maßnahme war, den Lebenszyklus des Produkts ChorusOS zu beenden. Die Veröffentlichung von Teilen der Quellen des ChorusOS als Open Source erfolgte dann auf der Website von Sun Labs. Ehemalige Mitarbeiter der Chorus Systèmes S.A., die nach der Übernahme durch Sun in der neu entstandenen Abteilung für eingebettete Systemsoftware tätig waren, verließen daraufhin Sun und gründeten noch 2002 das Startup Jaluna S.A.
Das Unternehmen Jaluna hörte mit der Übernahme durch das Unternehmen VirtualLogix auf zu existieren. Mit dem Unternehmen VirtualLogix kam der neue Name VirtualLogix C5 für das ChorusOS hinzu. Um die Chancen von C5 am Markt der Echtzeitbetriebssysteme zu verbessern, gab das Unternehmen VirtualLogix dem C5 die Bezeichnung eingebettetes System unter dem Betriebssystem Linux und dem Echtzeitbetriebssystem ChorusOS, mit der Funktionalität einer Carrier grade class Software-Plattform. Sun Microsystems hatte Carrier-Grade Server mit verschiedenen Betriebssystemen, bis zur feindlichen Übernahme durch Oracle, im Portfolio für seine High-End Systeme. Das Unternehmen VirtualLogix hörte im September 2010 mit der Übernahme durch das Unternehmen Red Band Software auf zu existieren.
Mitgründer der Unternehmen Chorus Systems, Jaluna und Virtual Logix war der Franzose Michel Gien.[19]
Die Veröffentlichung der vollständigen Quellen aus dem Jaluna Projekt war der Release von Jaluna-1.[20] Hier kam dann die Umschreibung hinzu, eine RT-POSIX-Schicht zu sein, die auf FreeBSD 4.1, und der Entwicklungsumgebung CDE basiert.
Mit der Zeit änderte sich die Ausrichtung der Entwicklung weg von verteilten Aspekten hin zu Echtzeit und Modularisierung (Komponentisierung). Die Spezifikation des verteilten Betriebssystemkern von Release CHORUS-V3 erfolgte ansatzweise mit der Beschreibungssprache für Ereignisreihenfolgen LOTOS. Eine Beschreibungssprache, die die Internationale Organisation für Normung als Standard ISO 8807:1989 im Jahre 1989 veröffentlicht hatte. Objektiv gesehen kam es zu der Initiative bei der Aktualisierung von CHORUS V2 zu CHORUS V3.[21] Die Entscheidung mit LOTOS zu experimentieren begründet Charles Pecheur als den Test der Adäquanz von LOTOS für die Spezifikation der Betriebssysteme, durch Spezifizierung der Basisstrukturen und Funktionalitäten des verteilten Betriebssystem CHORUS V3.[22] Der Ansatz war von experimenteller Natur, die Validierung des realen Systems war dabei nicht essentiell.
Spezifikation | Figur |
---|---|
specification CHORUS_kernel [TSAP,monitor,trap] (…): noexit:= … (* Definition der Datentypen *) behaviour hide transport,IPC,local in ( ( ( ( local_call_dispatcher [trap,IPC,local] (…) (* Empfangen der lokalen Aufrufe, Aufrufe des lokalen Kernel oder Senden der Nachrichten an einen anderen Kernel *) | | | remote_call_dispatcher [IPC,local] (…) ) (* Empfangen der Nachrichten des entfernten Kernel, Aufrufe der lokalen Kernel wenn erforderlich *) |[local]| local_kernel [monitor,IPC,local] (…) ) (* Abhandlung der lokalen CHORUS objects *) |[IPC]| IPC_manager [transport,IPC] (…) ) (* Abhandlung der lokalen Kommunikation, Weiterleitung der Nachrichten zum Netzwerk Manager, wenn das Ziel entfernt liegt *) |[transport]| network_manager [TSAP,transport] (…) ) (* Abhandlung der Kommunikation mit anderen Standorten *) where (* Prozess Definitionen *) endspec |
Je nach Konfiguration besteht eine vorhandene ChorusOS-Betriebssysteminstanz aus einem Mikrokernel und verschiedenen Akteuren. Die verschiedenen Akteure tragen zur Umsetzung der ausgewählten Dienste bei. ChorusOS selbst ist dabei in zwei unterschiedliche Schichten unterteilt, wobei eine dritte Schicht mit den Anwendungen kommuniziert.[23]
Die Beschreibungen des Mikrokernels sind in den veröffentlichten Dokumenten unterschiedlich. Im technischen Bericht „CS/TR-90-25.1, 1990“ wird zum Mikrokernel erklärt, der Chorus Nucleus verwaltet auf der tiefsten Ebene die physikalischen Geräte an einem Ort. Auf der höchsten Ebene stellt er Standort-transparente Kommunikationsmechanismen zwischen den Prozessen bereit. Er ist zusammengesetzt aus vier Hauptkomponenten, die lokale und globale Dienste unterstützen.[24] Die Hauptkomponente in der tiefsten Ebene, der Kontrolleur, „CHORUS supervisor“. Die darauf aufsetzenden zwei Hauptkomponenten, die Echtzeit-Exekutive, „CHORUS real-time executive“ und der Verwalter des virtuellen Speichers, „CHORUS virtual memory manager“. Die Hauptkomponente auf der höchsten Ebene, der Verwalter der Interprozesskommunikation, „CHORUS inter-process communication manager“
Die Dokumentation verwendet an einzelnen Stellen für die Abbildung der Details des Mikrokernels unterschiedliche Darstellungsformen.
Real-Time Executive |
Communications |
Memory Management | |||
(Portable) | (Portable) | ||||
Supervisor (Machine dependent) |
(Machine dependent) | ||||
Hardware |
Real-Time Executive |
Communications |
Memory Management | |||
(Thread Scheduling) | (Linear, segmented or page virtual memory) | ||||
[Portable] | [Portable] | ||||
Supervisor (Interrupts, exeptions and trap handling) [Machine dependent] |
[Machine dependent] |
In dem Dokument „Programming under ChorusOS“ wird zum Mikrokernel erklärt, die core-executive unterstützt die Basisdienste der tiefsten Ebene, korrespondierend zum KERN Akteur. Bei den Dienstanforderungen der Echtzeit-Anwendungen, der Verwaltung der Akteure, den Zeitabläufen, der Zeitplanung, dem Speicher, der Synchronisation, den Überkreuz Akteuraufrufen (LAPs) und so weiter.[23]
Als eingebettetes System auf einer Reihe von Prozessor-Architekturen und Hauptplatinen Systeme mit Peripherie:
Die Funktionalitäten vom ChorusOS waren zu den folgenden Internationalen Standards konform:
Die Subsysteme vom CHORUS bestanden aus den folgenden Komponenten:
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.