Echtzeit AG Hauptseminar Morphos
Total Page:16
File Type:pdf, Size:1020Kb
Echtzeit AG Hauptseminar MorphOS Stefan Scholze 08.07.05 EZAG: MorphOS 1 Motivation ● 1985: Amiga-User: „Der Amiga ist seiner Zeit weit voraus!“ – 32 bit-Architektur, programmierbare Echtzeit-Interrupts – preemptives Multitasking – AutoConfig-Mechanismus = Plug&Play – fensterorientierte Oberfläche ● große Amiga Gemeinde – Shared-Libraries – Public Domain ➔ Übergang des Amigas auf PPC-Architektur 08.07.05 EZAG: MorphOS 2 Übersicht: 1. Geschichte 2. Pegasos 3. Struktur 4. Quark Mikrokern 5. A-Box 6. Q-Box 7. Emulation in MorphOS 08.07.05 EZAG: MorphOS 3 Geschichte ● Sep 1995: Idee: Beschleunigung des Amigas mit PPC - Prozessoren – Zusammenarbeit Amiga Technologies mit phase 5 – „PowerUp-Projekt“: von 68k Prozessor zu PPC – Eventuell neues OS mit Amiga Kompatibilität ● 1997 PowerUp Erweiterungskarten für Amiga – 2 Prozessoren (68k + PPC) – Erstmals RISC basierte Beschleunigung ● 1999 Start des MorphOS Projektes – OS, das gute Eigenschaften von AmigaOS „morpht“ 08.07.05 EZAG: MorphOS 4 Geschichte ● Feb 2000: Pleite phase5 ● Später Neugründung bplan GmbH – Ziele: ● Weiterentwicklung MorphOS ● Entwicklung eigener Hardwareplattform: Pegasos ● Ende 2000: erste Beta für PowerUp-Karten ● Sommer 2002: Veröffentlichung MorphOS V1.0 unter Firma: Genesi ● Aktuell am 30.04.2005 – MorphOS V1.4.5 veröffentlicht, ständig weiterentwickelt 08.07.05 EZAG: MorphOS 5 Pegasos Reihe ● Streng gebunden an MorphOS Entwicklung ● Moderne, offene Computerarchitektur – CHRP Standard – OPA neuer Standard für PPC ● Prozessor: Motorola und IBM – 750CXe (G3) mit 600MHz (Sommer 2002) – MPC7447RXLB (G4) 1000MHz / MPC7447A 1670 MHz ● Smart Firmware ● Sommer 2002: erste Auslieferung 08.07.05 EZAG: MorphOS 6 Struktur ● Basiert auf Quark Mikrokern ● Auf Kern laufen 2 Boxen: A-Box, Q-Box andere A-BOX Q-BOX Boxen User-Mode Quark Mikrokern Kernel-Mode HAL Hardware 08.07.05 EZAG: MorphOS 7 Struktur ● Momentane Entwicklung im Endstatium: A-Box – Kann Amiga Anwendungen laufen lassen – Vollständige erweiterte Reimplementation von AOS V3.1 – JIT-basierter 68k Emulator für alte AOS Anwendungen ● Im Entwicklungsstadium: Q-Box – Eigene MorphOS Programme ● In Zukunft weitere Boxen möglich 08.07.05 EZAG: MorphOS 8 Quark Mikrokern ● Kleiner Mikrokern User-Level Exception CPU Config Adress Server T i me Server S erver Server Speicher- Message- SystemInit Management Passing HAL Hardware Abstraction Layer Kern-Modus 08.07.05 EZAG: MorphOS 9 Quark Mikrokern ● Kleiner Mikrokern Aufbau – CPU Kontextswitch zw. Kern- und Nutzerprozess teuer ➢ Viele OS monolitisch aufgebaut ➢ Aber: zu Lasten der EZ-Fähigkeit, Stabilität, Sicherheit ● Auf PPC Kontextswitch 10x schneller als auf x86 ➢ Kein MorphOS für x86 geplan ● Keine Nachteile der monolitischen OS ● Speicherschutz, Standard für virtuellen Speicher ● ohne Cache-Probleme des Amigas ● Symmetrisches Multiprocessing (SMP) 08.07.05 EZAG: MorphOS 10 A-Box ● Ziel: auf moderner Hardware, Prinzipien des AmigaOS nutzen und weiterführen ● Normale Emulation: – Emulation vollständig und genau – Emuliert 68k Prozessor – Aber: Performanceverlust – Keine Modernisierung und funktionelle Erweiterung ● MorphOS – AmigaOS V3.1 Funktionalität und Erweiterungen – Nutzung moderner Hardware 08.07.05 EZAG: MorphOS 11 A-Box ● PPC nativ (für PPC geschrieben und compiliert) ● Zusätzlich 68k Emulator für fertige Anwendungen ● JIT Compiler 68k Code -> PPC Code – Emulationsoverhead beseitigt ● Keine Emulation der Amiga Custom Chips – Seit AOS V2.0 API für hardwareunabhängige Aufrufe – UAE verfügbar, komplette Amiga-Hardware Emulation ● Performance: G3 (600MHz) 1000x schneller wie 68000er Amiga 08.07.05 EZAG: MorphOS 12 A-Box ● Filesystem: – Erweiterbar durch Plugins – HD Filesystem: ● OFS,FFS,FFS2,PFS3,SFS – CD Filesystem: ● ISO9660, Multisession, Rockridge, Joliet ● AHI: – Audiosystem erweitert durch AHI – Hardwareunabhängige API – Aktuelle moderne Audio-HW nutzbar 08.07.05 EZAG: MorphOS 13 A-Box ● Grafiksystem: – CGX (Cybergraphics) basiert – Vollständig von Hardware abstrahiert ● Verschiedene Grafikkarten nutzbar – 3D Beschleunigung mit Rave3D API – Warp3D Kompatibilität – OpenGL 1.4 Layer „Jungl“ 08.07.05 EZAG: MorphOS 14 A-Box ● MUI: Magic User Interface – Grafiktoolkit, objektorientiert – Stark erweitert zu früher und auf PPC portiert – Vollständig ins System integriert – Stark an Anforderungen anpassbar – Von den meisten Anwendungen genutzt ● Ambient – MorphOS Desktop – Look and Feel der Amiga Workbench – Multithreadfähig, 64 Bit Dateizugriff 08.07.05 EZAG: MorphOS 15 Ambient - Screenshoot 08.07.05 EZAG: MorphOS 16 A-Box ● Sonstiges: – Enthält Treiber für Hardware – Druckerunterstützung – Shellkonsole – Viele Tools und Utilities enthalten 08.07.05 EZAG: MorphOS 17 A-Box ● 1985 – AmigaOS mit preemptivem Multitasking ● Andere Desktop OS viel später – Kritische Begrenzungen ● Kein Speicherschutz ● Kein Standard für virtuellen Speicher ● A-Box = Reimplementation der AOS V3.1 Spezifikation ● Design beibehalten für Kompatibilität ● Viele Begrenzungen behoben, aber auch einige beibehalten ➔ Beschränkungen der A-Box 08.07.05 EZAG: MorphOS 18 Q-Box ● Bis jetzt A-Box entwickelt ● Zukunft: Q ● Besteht aus – Erweitertem Quark Kern – Mehrere Server für verschiedene Funktionen (Hauptarbeit) – Q-Box ● Erweiterter Quark Kern: – Speichermanagement, Hardwareabstraktion, Treiber und Nachrichtenzustellsystem 08.07.05 EZAG: MorphOS 19 Q-Box Anwendungen: A-Box Q-Box User-Level Grafik N etzwerk Da teisystem S i c h erheit Server: Server Server Server Server Config Adress CPU Exception Server S erver T i me Server S erv er Speicher- Message- Management Sys t emInit Mikrokern: Passing HAL Hardware Abstraction Layer Kern-Modus 08.07.05 EZAG: MorphOS 20 Q-Box ● Nachrichtenzustellsystem geplant – Schnelle Prozesskommunikation – Statt Daten zu verschieben wird Speicher der Nachricht in Anwendung eingeblendet – Kleine Nachrichten direkt kopiert – Macht System skalierbar ● Sender und Empfänger können auf versch. Prozessoren/Rechnern sein ● Ermöglicht Clusteraufbau ● Als 64 – Bit System gebaut 08.07.05 EZAG: MorphOS 21 Q-Box ● Q-Box – Enthält die laufenden Anwendungen – API Aufrufe durch Nachrichtensystem übermittelt – API nicht auf eine Programmiersprache beschränkt ● Weiterhin A-Box enthalten für Amiga-Kompatibilität ● Macht MorphOS stärker zu eigenständigem System mit eigenen Anwendungen ● Im frühen Enwicklungsstadium 08.07.05 EZAG: MorphOS 22 Emulation in MorphOS ● Effektiv, wenn Code auf PPC Prozessor läuft – Durch geschicktes Programmieren kann Code zwischen 68k-Emulation und PPC geteilt werden (shared library) – Geschwindigkeitsgewinn ohne Emulation – Leichte Programmierung des Amigas auch auf PPC ohne großen Aufwand ● Emulation nutzt spezielle Opcodes ● 5 verschiedene Emulationssysteme – Integer-Emulation (68060 EC) ohne FPU – 3 versch. FPU-Emulationen – JIT-Emulation (68k Opcode -> PPC Opcodes) 08.07.05 EZAG: MorphOS 23 68k Anwendung PPC native Emulation Opcodes Anwendung wird emuliert • 68k opcode wird zu PPC opcode übersetzt Quark • Ausführung der Funktion 08.07.05 EZAG: MorphOS 24 68k Code Shared library Anwendungscode wird für PPC compiliert JIT - Compiler • Verwendung von shared libraries (mit PPC) möglich • Universal beschrieben • Compilierung des 68k-Codes für PPC Quark Schnellere Ausführung als bei Emulation 08.07.05 EZAG: MorphOS 25 Fazit ● Amiga-User findet sein System wieder – erhält Philosophie – Einfachheit der Programmierung – Kompatibilität „zu früher“ ● Überführung bekannter Programme ● den Amiga an die aktuelle Zeit angepasst ● Weiterentwicklung durch OS-Erweiterung Der Amiga lebt weiter! 08.07.05 EZAG: MorphOS 26 Quellen ● www.morphos-news.de ● www.morphzone.de ● MorphOS Development Reference Manual ● www.zapek.com ● www.genesi.lu 08.07.05 EZAG: MorphOS 27.