AMIGA-Magazin · Ausgabe 02/01 · PowerPC:

Aktuelles Heft 2/01

Der Power-Schmetterling

Das Projekt »MorphOS« ist mittlerweile in der Beta-Phase. Auf der aktuellen Heft-CD des Amiga-Magazins finden Sie einen Snapshot zum Probieren.

von Frank Mariak

Um es im vorhinein zu sagen, MorphOS ist keine simple 68K-Emulation des bekannten AmigaOS. Im Moment ist es vor allem für Besitzer der CyberStorm/Blizzard PPC Karten von DCE (ehemals von phase5 entwickelt) interessant. Grundsätzlich kann es aber auch auf anderen PPC-Hardware laufen, wenn es entsprechend angepaßt ist. Selbst eine PowerPC-Hardware wäre nicht zwingend erforderlich, aber vor allem für diese Prozessoren ist es speziell optimiert.

Die vorliegende Version von der Heft-CD läuft auf CyberStorm/Blizzard-PPC-Karten und kann ca. zwei Stunden uneingeschränkt am Stück genutzt werden. Danach wird die Geschwindigkeit der Emulation auf Standard Amiga500 Niveau reduziert, welches ein Arbeiten zwar weiterhin möglich, aber nicht gerade angenehm macht. Sobald die öffentlichen Beta-Tests abgeschlossen sind, die bereits seit Mitte des Jahres 2000 laufen, wird es auch eine kommerziell erhältliche Version von MorphOS geben. Diese wird uneingeschränkt nutzbar sein.

Der Kernel

Neue Optik:
Transparente Menüs machen erst mit MorphOS PPC wirklich Spaß

MorphOS basiert auf einem modernen Microkernel namens Quark, welches entwickelt wurde, um moderne OS-Dienste wie Speicherschutz, virtuellen Speicher oder symmetrisches Multiprocessing (SMP) bereitzustellen. Das Kernel bekommt alle Systeminformationen über ein HAL (Hardware Abstraction Layer). Über das HAL werden zum Beispiel die ZorroII/III Karten erkannt, vorhandene PCI Karten oder auch die spezielle Amiga Hardware. Damit wird eine weitgehende Unabhängigkeit des Betriebssystemkerns von der Hardware erreicht, auf dem er eingesetzt wird. Somit ist eine effiziente Anpassung an andere Hardware wesentlich einfacher möglich, als z.B. mit dem ursprünglichen AmigaOS, welches schon seit jeher speziell an die vorhandene Hardware angepasst war. Nichtsdestotrotz ist es mit Hilfe des Quark Kernels möglich, die gewohnte Amiga-Oberfläche in einem so genannten Mixed-Mode ­ also gleichzeitig nutzbarer PowerPC- und 68K-Code ­ in einem eigenen Addressraum zu nutzen.

Hier liegt im Moment sicherlich auch noch der Hauptanwendungsbereich von MorphOS. Das AmigaOS-Microkernel-Exec ist derart erweitert, dass es auch PPC Code versteht, so dass Exec in Wirklichkeit ein PowerPC-Exec darstellt, welches PPC Programme ausführen kann, während 68K Applikationen in einer 68K-Emulation in einem anderen Exec-Task laufen. Dabei kann man von einer so genannten multithreaded 68K-Emulation sprechen, d.h. das Exec-Multitasking bleibt selbst bei mehreren 68K-Applikationen erhalten, da für jeden Task eine eigene 68K-Emulation läuft. Dank dieses Mixed-Mode-Designs kann innerhalb der 68K-Applikation beliebig zwischen echtem PPC-Code und emuliertem 68K-Code gewechselt werden. Das macht nicht zuletzt die Programmentwicklung und das Testen von neuen Programmen oder shared Libraries deutlich einfacher. Es können nach und nach 68K-Programmteile oder Bibliotheken durch entsprechenden PowerPC-Programmcode ersetzt werden.

68K und PowerPC

Ein schöner Nebeneffekt an dieser Entwicklung ist, dass die volle Amiga Binärkompatibilität gewährleistet bleibt, so dass nahezu jedes bekannte Programm, welches einen 68K-basierten Amiga voraussetzt auch weiterhin genutzt werden kann. Desweiteren können nach und nach 68K-Systembibliotheken bzw. Treiber ausgetauscht oder Applikationen rekompiliert werden und das System bleibt weiterhin voll funktionsfähig.

Nicht zu vergessen ist dabei, dass der 68K-Prozessor, so wie er bei PowerUp oder WarpOS noch erforderlich war, nicht mehr benötigt wird. Man könnte ihn also rein theoretisch während des Betriebs von MorphOS von der Turbokarte entfernen. Er wird lediglich noch zum initialen Start von MorphOS benötigt, um das Betriebssystem nachzuladen. Dadurch dass jetzt keine konkurrierenden Prozessoren mehr existieren, sondern alles von einer PowerPC CPU erledigt wird, sind auch einige unschöne Nebeneffekte, wie sie von PowerUp oder WarpOS bekannt waren, beseitigt. So gehören Begriffe wie Context Switching, Cache Flushes oder Cache Alignment Probleme, die bei der Entwicklung von Amiga-PPC-Software in der Vergangenheit noch heiß diskutiert waren, mit MorphOS der Vergangenheit an. Damit macht es dann auch Sinn, komplexere Programme umzusetzen, da damit ein realer Geschwindigkeitsgewinn erreicht werden kann. Die mittlerweile umgesetzten Applikationen wie YAM oder MUI zeigen das. Der für MorphOS erhältliche PPC-GCC demonstriert dies für Entwickler umso deutlicher, denn die Turnaround Zeiten für einen Compilerlauf bei größeren Projekten sind massiv reduziert.

Komfort:
Alle Einstellungen zu MorphOS können über das Pref-Programm "Butterfly" vorgenommen werden.

In dem Zusammenhang ist auch noch ein weiterer Punkt von Interesse. Viele Entwickler schreckten bisher davor zurück, von ihren Programmen spezielle PPC-Versionen zu generieren, weil ihnen die Anpassung ihrer Quellcodes zu aufwändig oder zu umständlich war. Der Mangel an vorhandenen PPC-Applikationen für PowerUp/WarpOS zeigt dies deutlich. Die MorphOS PPC Version des E-Mail-Programms YAM war in weniger als einer Woche ohne konzeptionelle Änderungen erledigt und musste in dem Fall noch nicht einmal vom Autor Marcel Beck selbst bewerkstelligt werden, der sich sicherlich besser mit seinem eigenen Quelltext ausgekennt und vielleicht noch schneller damit fertig gewesen wäre.

Dieses Beispiel zeigt, dass MorphOS nicht alleine das Ziel hat, die gewohnte Amiga-Umgebung abzubilden, sondern auch Entwickler dazu ermutigen soll, spezielle PPC-Versionen ihrer Software zu erstellen. Der Erfolg eines Betriebssystems wie MorphOS ist schließlich auch von der Akzeptanz bei den Entwicklern abhängig. Hier wurde versucht, die Hürden der Einarbeitung so niedrig wie möglich zu halten. Das »MorhOS Developer Kit« enthält alle nötigen Includes und einige Beispiele, um direkt mit der Software-Entwicklung beginnen zu können.

Nicht zu vergessen ist die PowerUp Kompatibilität von MorphOS. Seitdem PowerUp erschienen war, war die PowerUp Software immer nur als ein Zwischenschritt gedacht, zwischen dem was zu diesem Zeitpunkt Software-technisch möglich war und jetzt mit MorphOS realisiert worden ist.Den vorhandenen Entwicklern wurde die Möglichkeit gegeben, sofort mit der Entwicklung von PPC-Software zu beginnen, ohne auf ein Betriebssystem wie MorphOS warten zu müssen. Somit kann auch unter MorphOS jegliche PowerUp kompatible Software weiterhin genutzt werden.

Einige werden an dieser Stelle nach WarpOS-Kompatibilität fragen. Dieser Umstand wurde ebenfalls vom MorphOS Entwicklerteam erkannt und auch da besteht Zuversicht, dass es in Kürze eine Möglichkeit geben wird, WarpOS-Entwicklungen unter MorphOS nutzen zu können. Die Entwicklung einer entsprechden WarpOS-Simulation wird allerdings nicht vom MorphOS-Team selbst, sondern von externen Programmieren übernommen. Zu betonen ist ebenfalls, dass es ohne weiteres möglich ist, die aktuellen Betriebssystemupdates AmigaOS3.5 bzw. neuerdings AmigaOS3.9 uneingeschränkt mit MorphOS nutzen zu können.

Was ist neu?

Nachdem Sie nun die ganze Zeit über die Kompatibilität zu bestehenden Schnittstellen gelesen haben, nun auch noch etwas zu den Neuerungen, den speziellen PPC-Erweiterungen des AmigaOS. So wurden einige Teile des Kickstart-ROM durch PowerPC-Bestandteile ersetzt, um Unabhängigkeit von bestehender Amiga-Custom-Hardware zu erreichen. Zum Beispiel wurde die bekannte expansion.library ausgetauscht durch eigenen Code, der auf dem bereits beschriebenen »Quark HAL« aufsetzt. Damit sind keine direkten Hardware-Abfragen mehr nötig, eine Migration des AmigaOS zu neuer Hardware wird vereinfacht. Gleiches gilt für die graphics.library, welche größtenteils durch eine PPC-Version des CyberGraphX-RTG ersetzt ist. Folgende OS Module wurden bereits durch eigene PPC Module ersetzt:

Darüber hinaus gibt es noch verschiedene externe Bibliotheken wie z.B. die Datatypes, die als PPC-Module vorliegen. Dabei ist festzuhalten, dass es sich um eine komplette Neukodierung der Module handelt, da das MorphOS-Team ja keinerlei Zugriff auf die AmigaOS-Quelltexte hat und sich nur anhand der dokumentieren Modulschnittstellen orientieren kann. Das ist natürlich zeitaufwändig und deswegen stehen einige Module, die sicherlich noch einen Leistungsschub geben würden, noch nicht zur Verfügung. Es lässt sich sicherlich noch einiges mehr über MorphOS sagen, doch dies soll an dieser Stelle erst einmal genügen. Hier sei auch noch auf die (im Moment leider nur in englischer Sprache verfügbaren) Informationen im MorphOS-Archiv hingewiesen. Überzeugen Sie sich einfach selbst von der Leistungsfähigkeit, die Installation von MorphOS ist innerhalb weniger Minuten durchgeführt und denkbar unkompliziert.

Die Installation

Als Hardware-Voraussetzung wird momentan eine CyberStorm- bzw BlizzardPPC Turbokarte benötigt. Grundsätzlich sollte MorphOS mit 32MB Speicher laufen, aber 64MB oder mehr Speicher können nicht schaden. Da es sich bei MorphOS um eine tief im System ansetzende Erweiterung handelt, sollten Sie ihr installiertes System auf folgende Software überprüfen:

Stellen Sie sicher, dass derartige Programme nicht laufen, wenn das System mit MorphOS gebootet wird oder installieren sie ggf. eine neue Partition für MorphOS. Grundsätzlich ist das aber nicht erforderlich, erleichtert aber die anfängliche Fehlersuche, da Sie dann Programme nach und nach ergänzen können. Das Booten von einer Standard OS3.1, OS3.5 bzw. OS3.9 Systempartition ist ohne Veränderungen möglich. Grundsätzlich kann MorphOS über die Shell und ein Startup-Skript gestartet werden. Nachfolgende Einstellungen können aber auch bequem über das Frontend »Butterfly« gemacht werden, welches alle Einstellungen über eine MUI-Oberfläche erlaubt. Nach Aufruf des startup Programms mit »?« erhält man eine Argumentzeile ähnlich der Folgenden:

MorphOS Startup 0.xx (xx.xx.xx)
Hal/A,Kernel/A,KickStart,Amiga/A,Module/A,ExtModules,RomUpdate,MaxLocalMB/N,Debug/S, ResetLevel/N,Delay/N,DisableLed/S,Verbose/S:


Es sind vor allem die Parameter <hal>, <kernel>, <amiga> sowie<module> zwingend erforderlich.Dort werden die vier Dateien angegeben, die sich bei einer Standard-MorphOS-Installation im morphos-Verzeichnis befinden. Das sind hal.rom, kernel.rom, amiga.rom sowie module.rom, die sinnvollerweise den entsprechend gleichlautenden Argumenten zugeordnet werden. Optional kann man auch noch das von OS3.5/3.9 bekannte Rom-Update-File in Devs: explizit angeben. Damit muss es nicht erst bei Aufruf des Setpatch-Programms nachgeladen werden und ein zusätzlicher Reboot nötig wird.

Die Angabe von <kickstart> macht die Nutzung eines Kickstart-Image möglich. Generell ist Kickstart 3.1 zu empfehlen. Die Option <delay> schaltet die Verzögerung des Systemneustarts um eine vorgegebene Sekundenzahl ein. Für den Start von MorphOS ist ein Systemreboot zwingend erforderlich, bei dem die 68K CPU deaktiviert und das MorphOS System initialisiert wird. Die Option <disableled> verhindert das pulsierende Flackern der Power-LED. Das Flackern ist dazu gedacht, zu überprüfen, ob MorphOS weiterhin seinen Dienst verrichtet, oder evtl. steht. Daran lässt sich auch einfach erkennen, ob das System von MorphOS oder von der 68K CPU nach dem Reboot gestartet wird.

Sollte widererwarten nicht mit MorphOS gebootet werden, muss evtl. noch mit dem ResetLevel herumexperimentiert werden. Er variiert zwischen 0 und 7 und muss im Normalfall nicht angegeben werden. Geben Sie nicht gleich auf, wenn es auf Anhieb nicht klappt.

Diese Schwierigkeiten sollten wirklich nur bei der Erstinstalltion auftreten und sind dann eigentlich auch die einzige Hürde, die sie unter Umständen überwinden müssen, um MorphOS nutzen zu können. Weniger geübten Shell-Nutzern sei hier noch einmal das mitgelieferte MUI-Programm Butterfly empfohlen, welches bereits die nötigen Standardeinstellungen vordefiniert hat. Sollte alles richtig eingestellt sein, wird nach dem Start von MorphOS ein Reboot ausgeführt und ihr System sollte nun komplett auf dem PowerPC laufen und nutzbar sein. Wundern Sie sich also nicht wenn alles genau so aussieht wie vorher, denn das ist ja auch das Ziel der AmigaOS-Emulation!

lb

Informationen: http://www.morphos.de


Hauptseite © 2001 All Rights Reserved. Alle Rechte vorbehalten Franzis' Verlag GmbH
Veröffentlichung und Vervielfältigung nur mit schriftlicher Genehmigung des Verlags

Kommentare, Fragen, Korrekturen und Kritik bitte an Webmaster AMIGA schicken.
Zuletzt aktualisiert am 25. 01.2001.