# AROS (Betriebssystem)

Das AROS Research Operating System (kurz AROS) ist ein freies Betriebssystem, das API-kompatibel zu AmigaOS 3.1 ist. Das zu Beginn als „Amiga Research Operating System“ bezeichnete Betriebssystem wurde aufgrund der geschützten Marke Amiga in das rekursive Akronym AROS umbenannt.

## Geschichte

Aufgrund der unsicheren Zukunft für den Computer Amiga und das dazugehörige Betriebssystem AmigaOS nach dem Konkurs von Commodore wurde 1995 mit der Entwicklung von AROS begonnen.
Über die Jahre entstand eine in C geschriebene Neuentwicklung von AmigaOS, die auf viele verschiedene Plattformen portiert wurde. Im Jahr 2011 wurde AROS schließlich auch auf die ursprüngliche Amiga-Hardware portiert, so dass beispielsweise für Amiga-Emulatoren wie WinUAE ein Kickstart-ROM veröffentlicht werden konnte, mit dem Amiga-Programme ohne zu lizenzierende Betriebssystem-Komponenten gestartet werden können.

## Verfügbarkeit
### Einleitung

Da AROS ein portables Betriebssystem ist, ist es für mehrere Plattformen vorhanden.
Auch fand in der Vergangenheit ein Austausch mit Amiga-Programmierern (AfA-Ansatz: AROS for Amiga) sowie mit MorphOS statt. Über sogenannte Rückportierungen wird die Funktionalität von AROS bzw. der anderen Betriebssysteme erweitert und wechselseitig getestet.

### Entwicklungslinien
#### Portierungen

Portierungen werden in zwei Entwicklungslinien eingeteilt, nämlich in „einheimisch“ (native) und „bewirtet“ (hosted).
„Einheimische“ (native) Portierungen laufen direkt auf der Hardware und haben die vollständige Kontrolle über den Computer. Ein AROS in einer solchen Variante wird also nicht emuliert, sondern ist ein eigenständiges Betriebssystem. Das ist das Entwicklungsziel, da dadurch die Leistung der Hardware voll ausgeschöpft werden kann. Allerdings sind derzeit nicht alle Portierungen auf einem produktiven Stand.
„Bewirtete“ (hosted) Portierungen werden auf dem Wirtsbetriebssystem, z. B. Linux oder Windows emuliert. Vorteil ist, dass sie einfacher zu erstellen sind, da es nicht notwendig ist, Treiber für die Hardware zu schreiben.

#### Kickstart ROM Replacement

Für die Emulation älterer 68k-Amigas oder auch deren direkte Nachbildung, etwa in FPGAs, benötigt man sogenannte Kickstart-Dateien. Mit dem Kickstart ROM Replacement Projekt, das Teil der nativen Portierung von AROS auf 68k-Amigas bzw. 68k-Amiga-Emulatoren war, wurde ein kompatibles und freies Kickstart-ROM geschaffen. Dieses Kickstart-ROM ist auch in WinUAE enthalten, wodurch es beispielsweise möglich ist, auch ohne Original-Kickstart-ROMs Amiga-Demos zu starten.

### Namensgebung

Die unterschiedlichen AROS-Portierungen haben die Form AROS/<Plattform>-<CPU>, wobei <Plattform> ein symbolischer Name der Plattform und <CPU> die CPU-Architektur ist. Die Plattform einer Portierung kann entweder die native Hardware wie „PC“ oder „Amiga“, oder ein Betriebssystem für „hosted“ Portierungen, wie „linux“ oder „freebsd“ sein.

### Portabilität

AROS-Programme für eine bestimmte CPU sind über alle Portierungen mit dieser CPU „beweglich“. Das bedeutet, dass Programme, die für „pc-i386“ kompiliert werden, auch auf „linux-i386“ und „freebsd-i386“ lauffähig sind.

### Vorhandene Portierungen

Liste aller AROS-Portierungen, die sich in Arbeit befinden:

#### Intel

* AROS/pc-i386
    Entwicklungslinie: native
    Status: lauffähig
    AROS/pc-i386 ist die Portierung von AROS für IBM-PC und Kompatible mit x86-Prozessor.
    Der i386 Port ist neben dem Linux-i386-hosted-Entwicklungszweig derzeit der am weitesten entwickelte Port. Von der großen Anzahl für den am PC-Markt verfügbaren Hardware wird jedoch nur eine Auswahl unterstützt. Es ist mindestens ein 486er Prozessor mit PCI BUS erforderlich, da AROS diverse CPU Befehle verwendet, die es erst auf dem 486er gibt.
* AROS/pc-x86_64
    Entwicklungslinie: native
    Status: lauffähig
    AROS/x86_64 ist die Portierung von AROS für IBM-PC und Kompatible bzw. deren Nachfolger mit 64-bit (x64, AMD64) -Prozessor.
    Die Verfügbarkeit für Treiber entspricht dem i386 Port.
* AROS/linux-i386 und linux-x86_64
    Entwicklungslinie: hosted
    Status: lauffähig, komplettester Port von Aros.
    AROS/linux-i386 ist die Portierung von AROS für GNU/Linux auf x86-Prozessoren.
    Sie verwendet die Treiber des Wirtsbetriebssystems.
* AROS/freebsd-i386
    Entwicklungslinie: hosted
    Status: lauffähig
    AROS/freebsd-i386 ist die Portierung von AROS auf das FreeBSD-Betriebssystem für x86-Prozessoren.
    Diese Portierung ist verhältnismäßig komplett, da sie den meisten Code mit AROS/linux-i386 teilt.
* AROS/darwin-i386 und darwin-x86_64
    Entwicklungslinie: hosted
    Status: lauffähig
    Hosted Version des Betriebssystems, die unter MacOS lauffähig ist, wird seit dem 8. Dezember 2011 zum Download angeboten.
* AROS/mingw-i386 (Windows mit Cygwin)
    Entwicklungslinie: hosted
    Status: lauffähig
    Diese Hosted-Version des Betriebssystems, die unter Windows (wahrscheinlich alle Win32-Versionen seit Windows 98) mit Cygwin läuft, ist ebenfalls seit dem 8. Dezember 2011 verfügbar. Cygwin steuert dazu den X11-Server (zur Anzeige) und die MinGW (Minimalist GNU for Windows: Compiler, Linker etc.) bei.

#### PowerPC

* AROS/PPC
    Entwicklungslinie: native
    Status: lauffähig, das Sam440ep Mainboard wird derzeit unterstützt.
    AROS/PPC ist die Portierung von AROS für Computer auf Basis von PowerPC-Prozessoren (PPC).
    Unterstützt wird derzeit das Sam440ep Mainboard der Firma Acube Systems. Eine Portierung für das EFIKA ist in Arbeit.
* AROS/linux-ppc
    Entwicklungslinie: hosted
    Status: lauffähig
    AROS/linux-ppc ist die Portierung von AROS für PowerPC-Prozessoren.
    Diese Portierung ist verhältnismäßig komplett, da sie den meisten Code mit AROS/linux-i386 teilt.

#### Motorola

* AROS/m68k
    Entwicklungslinie: native
    Status: lauffähig
    AROS/m68k ist die Portierung von AROS für klassische Amiga-Hardware. Inzwischen existiert eine lauffähige Version.
    Teile des Aros-Codes können dank des Aros for Amiga (AfA)-Projektes im klassischen Amiga-Betriebssystem eingesetzt werden, um dieses in der Funktionalität zu erweitern und AROS-Code in einer produktiven Umgebung testen zu können.

#### ARM

* AROS/android-arm und linux-arm
    Entwicklungslinie: hosted
    Status: lauffähig
    AROS/arm ist die Portierung von AROS für die ARM-Architektur und setzt mindestens eine ARMv6-kompatible CPU voraus.
    Konkrete Portierungen gibt es seit dem 8. Dezember 2011 für Android und Linux; unter Android läuft AROS ohne Modifikation des Host-Systems.