Navigation
« 

Anonymous




Register
Login
« 
« 

Amiga Future

« 

Community

« 

Knowledge

« 

Last Magazine

The Amiga Future 168 will be released on the 5th May.

The Amiga Future 168 will be released on the 5th May.
The Amiga Future 168 will be released on the 5th May.

The Amiga Future 168 will be released on the 5th May.
More informations

« 

Service

« 

Search




Advanced search

Unanswered topics
Active topics
« 

Social Media

Twitter Amigafuture Facebook Amigafuture RSS-Feed [german] Amigafuture RSS-Feed [english] Instagram YouTube Patreon WhatsApp
« 

Advertisement

Amazon

Patreon

« 

Partnerlinks

Einstieg in MorphOS Teil 1

Description: von Cem Göktas

Categories: [DE] Workshops

Link to this article: Select all

[url=https://amigafuture.de/app.php/kb/viewarticle?a=4391&sid=e82fe201422f5164376060615f7a960c]Artikeldatenbank - Einstieg in MorphOS Teil 1[/url]

Einsteig in MorphOS
Ich würde hier gerne für jeden Neueinsteiger einen kleinen Einstieg anbieten und mal erläutern um was es sich eigentlich bei MorphOS handelt.
Was ist MorphOS? Um was handelt es sich bei MorphOS? Was kann MorphOS?Und was bietet es mir? Genau diese Fragen will ich hier beantworten.

Nun zunächst fragen sich sicher viele, ob es sich dabei um ein Linux Derivat handelt oder ein AROS clone oder sonst irgendein aus dunklen Sphären stammendes halbgares Zwitter Betriebssystem. Aber! Es ist nichts dergleichen!
Bei MorphOS handelt es sich um ein eigenständiges Mikrokernel Betriebssystem ganz nach dem Vorbild des klassischen AmigaOS. Der Kernel trägt den Namen Quark (bei AmigaOS "Exec") und bietet im Gegensatz zum Vorbild u.a. folgende nette Eigenschaften:

- SMP (symmetrical multiprocessing)
- Virtual Memory
- Resource Tracking
- Task/Thread and Clan/Chief model

Dieser Kernel wurde dazu entwickelt um mehrere virtuelle Umgebungen (genannt: Sandboxes) zu starten. Zur Zeit wird von MorphOS nur die sogenannte ABox benutzt. Bei der ABox handelt es sich um eine PowerPC native Reimplementation des AmigaOS mit vielen Erweiterungen und Verbesserungen.
Der Nachteil der ABox liegt darin, dass man auf Grund der Kompatibilität zu Amiga Applikationen die mächtigen Features des Quark Kernels nicht nutzen kann (wie etwa Speicherschutz). Da es zur Zeit auch nur die ABox gibt, kann man dazu gleichbedeutend auch MorphOS sagen.

MorphOS bietet einen 68k JIT (JustInTime) Compiler der on-the-fly nativen Amiga 68k code in PPC code umwandelt und z.B. Programme wie IBrowse, Wordworth, AWeb in vielfacher Geschwindigkeit ausführen kann.

Ich werde in dieser Einführung kurz jeden wichtigen Aspekt von MorphOS anschneiden und Gegenbeispiele als Pendant aus dem AmigaOS 3.x nehmen, um eine verständlichere Erläuterung zu ermöglichen. Ich denke dadurch kann man einfacher verstehen, um was es sich handelt, wie MorphOS zusammengesetzt ist und somit besser damit vertraut werden.
Ich habe zu jeder Überschrift noch das entsprechende Gegenstück aus dem klassischen AmigaOS in Klammern dazugeschrieben, damit ihr euch auch gleich ein Bild davon machen könnt, um was es geht.
Warum MorphOS?
Ursprünglich war MorphOS nur ein Aufsatz für OS3.1, wodurch Kernbestandteile des klassischen Systems durch PPC Code ersetzt wurden.
Doch was war das Ziel der Entwickler? In den späten 90ern, als es zwar PowerPC Hardware für den Amiga gab, aber diese nur als Co-Prozessoren genutzt wurden, hatten sich viele Amiga Entwickler dazu entschlossen ein Betriebssystem auf Basis von AmigaOS3.1 für den PowerPC zu entwickeln.
Es sollte ein Betriebssystem werden, dass sich an AmigaOS 3.1 orientiert und dieses ausbaut. So war es selbstverständlich, dass viele 3rd Party Amiga Software Entwickler gleich die Chance genutzt und ihre Software direkt in MorphOS eingebaut haben, wie etwa MUI, PowerUp, Turboprint und CybergraphX.
All diese bekannten 3rd Party Amiga Programme wurden in MorphOS eingebunden und bilden das Rückgrat des Betriebssystems.
Auch wenn es oft unterstellt wurde, hatten die MorphOS Entwickler keinen Zugang zum orginalen Source-Code von OS3.1, womit auf dieser Ebene keine direkte Verwandschaft besteht.
Viel mehr haben die Entwickler die API des AmigaOS3.1 nachkonstruiert und auf Grundlage dessen eine volle Kompatibilität erreicht. Dies wurde auch mit der Warp3D (Goa) Nachbildung gemacht und ebenso auch mit diversen Radeon Treibern. Der Vorteil dessen liegt jedoch klar auf der Hand.
Durch das komplette Re-Write des Codes wird dieser den Anforderungen entsprechend optimiert und ist effizienter als portierter Code aus den frühen 90ern.
Und genau hier drin liegt auch das Geheimnis, warum die Kompatibilität zu Amiga Software so enorm hoch ist. Der neugeschriebene Code ist Stellenweise sogar schneller als das Original.
Im Grunde kann man sagen, dass MorphOS ein komplett neugeschriebenes und erweitertes AmigaOS3.1 ist.
MorphOS ist somit ein seltsamer aber dennoch direkter Nachfahre des klassischen AmigaOS.

Doch kommen wir nun zu den wichtigsten Bestandteilen des Betriebssystems...
Ambient (Workbench)
Der ein oder andere von euch ist sicher schon einmal beim Rumstöbern in Amiga Foren auf MorphOS Themen gestoßen in denen der Begriff Ambient gefallen ist. Nun worum handelt es sich dabei?
Bei Ambient handelt es sich um eine sehr mächtige auf MUI-basierte Arbeitsoberfläche.
Ambient ist im Grunde das, was die Workbench beim klassischen AmigaOS ist.
Ziel des Entwicklers David Gerber war es, die Vorteile der Workbench als auch die von Directory Opus Magellan II in einem zu vereinen. Dadurch lässt sich auch der enorme Funktionsumfang von Ambient erklären.
Hier ein kleiner Auszug:

- AREXX Unterstützung
- asynchrones/multithreaded Design
- PNG und Amiga Icons Unterstützung
- virtuelle Dateisystem Unterstützung, die es erlaubt Archive und ISOs direkt als Fenster zu öffnen und zu durchstöbern
- konfigurierbare Panels, Toolbars, Menus, Hotkeys
- eingebaute Bildanzeiger, Musik Player, Textanzeiger
- schnelles Datei I/O
- visuelle Effekte wie Transparenz, Alpha Kanäle etc.
- Skinning System für Fenster und Screens
- skalierbare Icons in Echtzeit
- DualPNG, Glowicons, NewIcons Support
- Deficons Support
- Thumbnail Mode
- Icons als Video- und Bild Vorschau
- erweitertes Dateityp System
MUI (GadTools/MUI)
MUI wird so ziemlich jeder noch aus der alten Amiga Zeit kennen und wer noch ein Classic System hat, wird auch heute nicht drum herum kommen, sich MUI in der Version 3.8 zu installieren. Jedoch war beim klassischen AmigaOS MUI nur ein 3rd Party Tool und kein integraler Systembestandteil. Von MUI profitierten nur Programme die auch dafür programmiert wurden. Das eigentliche GUI Toolkit des AmigaOS nennt sich GadTools.
MorphOS hat sich diese damalige Killerapplikation des Amigas sprichwörtlich zu Herzen genommen und es zum Kernbestandteil der grafischen Oberfläche gemacht.
Unter MorphOS darf sich mittlerweile die Version 4.0 als das Maß aller Dinge nennen.
Mit MUI wird dem User ein GUI Toolkit zur Verfügung gestellt, mit dem man das Aussehen des kompletten (!) Systems den Bedürfnissen nach anpassen kann. Da so ziemlich jede aktuelle Software auf MUI basiert, kann man sich so das Erscheinungsbild eines jeden einzelnen Programms den Bedürfnissen entsprechend anpassen. MUI bietet darüberhinaus auch einen Screen Manager womit man z.B. all seine Internetapplikationen wie Browser, Email Client und Chatprogramm auf einen eigenen Screen legen kann.

MUI wurde so designt, dass ein jedes Objekt dynamisch gehandhabt wird. So sind Knöpfe und Rahmen nicht fest fixiert und vorgegeben, sondern dynamisch in einem sogenannten Container-System definiert, wodurch dem User die Möglichkeit gegeben wird, jedes kleinste Gadget und Knöpfchen bis hin zu Hintergrundbildern, Tabs, Listen, Piktogramme und Menus den Wünschen entsprechend zu verändern.
MorphOS ist wohl damit auch das Betriebssytem mit dem höchsten Grad an Skalierbarkeit, wodurch vor allem schwache Geräte wie das Efika oder die Classic Amigas profitieren können.

Die Philosophie hinter MUI lautet:

"Offer as much freedom as possible to users by taking away as much work as possible from programmers."

MUI ist wie so ziemlich jeder Bestandteil des Systems, modular aufgebaut.
Man kann ganz einfach neue Klassen hinzufügen und bearbeiten. Somit bleibt MUI immer zukunftsorientiert und offen für Erweiterungen.
CyberGraphX (CGX/P96)
CyberGraphX kennen viele sicher noch von ihrer HighEnd Amiga Zeit aus den 90ern, wo man für seine teuer erkaufte Grafikkarte zusätzlich ein Treiberpaket installieren musste, da das AmigaOS von Haus keine Treiber mitbrachte. Auf dem Amiga schaffte es CybergraphX bis in die Version 4.0. Noch heute gilt es neben Picasso96 als die beste Treiberlösung für Grafikkarten.
In MorphOS erfreut sich die Version 5.0 und ist mittlerweile fester und integraler Bestandteil des Betriebssystem.
Durch die Anpassung an MorphOS hat diese auch gleich ein paar nette neue Features bekommen:

- AltiVec Beschleunigung
- Display Data Channel (DDC) und Gamma Korrektur Unterstützung
- Hardwarebeschleunigte Operationen für Alpha Blendind, Gradients, Stretching und Tinting
- PowerPC Nativ, unterstützt Amiga Treiber
Tiny GL (Warp3D)
TinyGL wurde ursprünglich als OpenGL Implementation für Embedded Systeme entwickelt - jedoch ohne 3D Hardware Beschleunigung.
Die MorphOS Entwickler haben sich der Sache angenommen und einen starken 3D Treiber entwickelt. Kurzum: das komplette TinyGL neugeschrieben und diesem Hardware Beschleunigung verpasst.
TinyGL ist fast vollständig konform zu OpenGL und übertrifft diese in der Performance um Längen.
Goa ("100% kompatible Warp3D Implentierung)
Goa ist zusätzlich zu TinyGL eine Reimplementation der bekannten Warp3D Library in MorphOS, womit man dank der 100%igen Kompatibilität zum AmigaOS alle klassischen PowerPC und 68k 3D Spiele, wie z.B. WipeOUT 2097, Heretic2, Descent Freespace uvm. spielen kann. Zudem wurde die Reimplementation optimiert wodurch diese Spiele auf derselben Hardware unter MorphOS schneller (!) laufen als unter Warp3D auf AmigaOS 3.x.
Reggae (Datatypes)
Reggae? Nein hier geht es nicht um Musik, sondern um den Herren, der die Datatypes des AmigaOS abgelöst hat. Doch warum wurde das damals so revolutionäre Datatype System des Amigas in MorphOS nicht weiter fortgesetzt?
Der Grund liegt ganz einfach darin, dass auch die Datatypes ihre Schwächen haben. Das Konzept ist zwar das selbe geblieben, jedoch war es mit dem alten System nicht möglich Dateien zu streamen und genau darin liegt die Stärke von Reggae.
Im klassischen Datatype Konzept des AmigaOS 3.x muss eine Datei zuerst komplett in den Speicher geladen werden, bevor man sie anzeigen/abspielen/ansehen kann. Reggae dagegen lädt kleine Bruchstücke in den Speicher, womit man vor allem bei großen Dateien (wie z.b. Videos) enormen Speicher sparen kann.
Darüberhinaus ist Reggae modular aufgebaut. Während man bei Datatypes eine Formaterkennung, einen Decoder, Encoder und Demultiplexer (wenn überhaupt) in einer einzigen single shared library vorfindet, wurden diese bei Reggae modularisiert, womit ein jedes Programm den Teil laden kann, den es auch wirklich braucht.

Reggae unterstüzt folgende Media Module:

Images: PNG, JPEG, GIF, BMP, ICO, PCX, Targa, PBM, PPM, PGM, IFF ILBM, IFF DEEP, Atari Degas, SunRaster, ZX Spectrum screen dump

Audio: AIFF, WAVE, MP3, 8SVX, 16SV, Amos bank, raw

Data sources: file, memory, HTTP

Dies war eine erste kleine Einführung in MorphOS. Es werden weitere Einführungen folgen zu bestimmten Gebieten, wo diese dann nochmals genauer erklärt werden mit Video und Bildmaterial, um den Funktionsumfang besser zu verdeutlichen.

Ich kann natürlich keine 100%ige Garantie für die Richtigkeit geben, von daher freue ich mich um jede Beteiligung an diesem Kurs und jede Verbesserung.

FAQs? Fragen? Gerüchte? Mysterien? und vieles andere rund um MorphOS wird alles mit der Zeit kommen!

Weitere wichtige Themen:

- Entstehung von MorphOS - die Geschichte eines Betriebssystems
- Wieviel Amiga/AROS/... steckt in MorphOS? Erkenne ich dort Amiga wieder?
- Dateistruktur von MorphOS (was sind das für Verzeichnisse?), wie gehe ich damit um?
- Welche Hardware für meinen Geldbeutel?
- Welche Software ist wichtig?
- Ist MorphOS Alltagstauglich?
- Erklärbär mal Ambient! Viele Tricks im Petto und Asse im Ärmel.
- Die Systemeinstellungen
- sbar Module, Commodities und viele kleine Helfer des Alltags
- Ich will ins Internet! Was brauche ich? Was kann ich alles machen?
Unterpunkt: OWB - ein vielseitiger Browser (HTML5, getvideo, Youtube, Streaming uvm.)
- Entwicklungen und die Zukunft von MorphOS (x86, ARM oder doch weiter mit PPC?)

Das nächste Thema lautet...

Ambient - eine ausführliche Reise in die Welt der Vielfalt