Echtzeit AG Hauptseminar Morphos

Echtzeit AG Hauptseminar Morphos

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.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    27 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us