Amoeba (Betriebssystem)
Amoeba (engl. für Amöbe) ist ein verteiltes Betriebssystem, das von Andrew S. Tanenbaum und seinen Mitarbeitern an der Freien Universität Amsterdam entwickelt wurde. Ziel des Projekts war, jedem Benutzer die Illusion einer eigenen Maschine zu geben, obwohl das System auf vielen Rechnern verteilt ist, die eventuell auch weit entfernt voneinander, etwa in verschiedenen Ländern, stehen können[1][2]. Die Entwicklung des Projektes wurde eingestellt. Das letzte Update gab es am 30. Juli 1996.[3]
Die Programmiersprache Python wurde ursprünglich für Amoeba entwickelt.[4][5]
Das System
Amoeba verwendet für jeden Benutzer einen eigenen, plattenlosen Rechner. Weitere Rechner dienen als Pool-Prozessoren, die bei Bedarf angefordert und wieder freigegeben werden. Spezielle Dienste wie Dateiserver, Verzeichnisdienste und Datenbanken werden von eigenen, speziellen Rechnern zur Verfügung gestellt. Alle lokalen Rechner kommunizieren miteinander über das Fast Local Internet Protocol. Gateways verbinden weit entfernte Rechner miteinander zu einem einheitlichen System.
Das System ist Objekt-basiert, wobei jedes Objekt und die dazu erlaubten Operationen durch sog. capabilities identifiziert werden. Jedes Objekt ist mit einem Serverprozess verbunden, der vom Anwenderprogramm über einen Remote Procedure Call angesprochen wird.
Amoeba verwendet einen Mikrokernel. An der Freien Universität Amsterdam bildeten etwa 80 SPARC-Einprozessorsysteme, die über Ethernet vernetzt sind, einen Amoeba-Prozessorpool. Das System läuft auch auf Intel-x86- und Motorola-68030-Prozessoren. Es war mehrere Jahre im Einsatz.[1][2]
Weltweite Vernetzung
Amoeba-Systeme können weltweit vernetzt werden und werden dann in Domänen (domains) eingeteilt. Innerhalb einer Domäne, die normalerweise die Rechner eines LANs umfasst, können die Server für einen Dienst durch einen Netzwerk-Broadcast, die locate-Anforderung, ermittelt werden. Zwischen Domains müssen sie explizit in einen Verzeichnisdienst eingetragen, das heißt publiziert werden. Ein lokaler Server beantwortet die locate-Anforderung und informiert einen Server auf dem entfernten LAN. Die Kommunikation läuft über die Proxy-Server ab. Dies hat die folgenden Vorteile
- Die lokale Kommunikation läuft mit maximaler Geschwindigkeit und ohne Vermittlungsprozess ab.
- Die Kommunikation mit entfernten Rechnern unterscheidet sich für die Server und Clients nicht von der lokalen Kommunikation.
Weblinks
- Webseite des Betriebssystems
- Fireball Amoeba, eine x86-zentrierte Amoeba-Distribution
Einzelnachweise
- Andrew S. Tanenbaum & Gregory J. Sharp: The Amoeba Distributed Operating System. In: vu.nl. Vrije Universiteit Amsterdam, abgerufen am 26. November 2020 (englisch).
- Andrew S. Tanenbaum et al.: Experiences with the Amoeba Distributed Operating System. In: stanford.edu. Vrije Universiteit Amsterdam, abgerufen am 26. November 2020 (englisch).
- Index of /pub/amoeba/amoeba5.3 (englisch) In: vu.nl. Archiviert vom Original am 1. September 2000.
- Why was Python created in the first place? (englisch) In: python.org. Python FAQ. 24. August 2007. Archiviert vom Original am 23. Februar 2008. Abgerufen am 11. Februar 2008.
- Charles Severance: Guido van Rossum: The Early Years of Python. In: Computer - Innovative technology for computing professionals. IEEE Computer Society, 2015, abgerufen am 27. November 2020 (englisch).