1996 Pro Digital Animation Development
ProfilForumLinksNewsDeveloperVIP-ClubProdukteHome

pOS!



Die Einsatzgebiete

Der exklusive Vorteil: AMIGA

Ursprung und Wünsche

Kompatibilität

Die Philosophie, die dahinter steht

Multitasking und Kommunikation

Netzwerkfähigkeiten

Grafikausgabe/RTG

Erscheinungsbild

DOS

Was bedeutet pOS in der Praxis für Entwickler?

Weitere Informationen

Was ist pOS ?

pOS ist ein neues Betriebssystem mit modernster Konzeption.
So existieren, im Gegensatz zu den meisten anderen OS, keine generationsbedingten Nachteile oder aufgeblähten Sources, sondern eine schlanke Form und innovative Leistungsmerkmale. Preemptives Multitasking, HAL-Prinzipien oder intuitive Bedienelemente garnieren diese Grundlage zum effektiven Hardwareeinsatz - denn hierzu ist ein Betriebssystem ja in erster Linie gedacht.

Ob beispw.. als Einsatz in Settopboxen oder als Alternative bzw. optimale Ergänzung zu bestehenden Betriebssystemen, pOS besticht durch eine logisch gegliederte Konzeption mit teils bewährten , besonders aber innovativen Leistungsmerkmalen.

Die Einsatzgebiete

pOS wird zunächst in einer Version für 68k-Amigas (einschließlich des »Draco«) und in einer Version für PowerPCs erscheinen. Für AMIGA-Anwender und -Entwickler besonders wichtig: Das System läßt sich parallel zum gewohnten Amiga-OS installieren. Es ist aber natürlich auch möglich, pOS völlig eigenständig zu betreiben.

Auch der Einsatz in Settop-Boxen ist aufgrund der Kompaktheit problemlos. Bereits seit 2 Jahren in der Entwicklung, wird es 1997 erste Anwendungen geben, die auf diesem modernen Betriebssystem basieren - ob Settop-Box oder PCs zur Videobearbeitung, zur Bildtelefonie, zur einfachen Abwicklung des Bestellwesens großer Verlage, zur Internet- und T-Online-Anwendung, zum Fernsehprogrammabruf - mehrere Hersteller sind bereits interessiert oder arbeiten bereits im Dialog mit proDAD, da die Kompaktheit und die moderne Konzeption Grundlagen bieten, die einzigartig, preisgünstig und unkompliziert sind.

Die Tatsache, daß dieses OS parallel zu bestehenden Betriebssystemen laufen kann und Schnittstellen zur Außenwelt bestehen, erleichtert es Entwicklern, Software hierauf zu portieren und Anwendern, die neuen Vorteile nach und nach mehr zu genießen, ohne auf gewohnte oder noch nicht erhältliche Dinge (ältere Software) verzichten zu müssen.

Der exklusive Vorteil AMIGA

pOS entstand auf dem Amiga, einem Rechner, der aufgrund seiner Konzeption ideal für die Entwicklung eines solchen Projekts geschaffen ist.
Auch bietet der AMIGA aufgrund des AMIGA-OS die Möglichkeit, sehr einfach beide Betriebssysteme im Multitasking laufen zu lassen. Somit konnte die Entwicklung des OS mit den gewohnten Tools auf Amiga-OS-Seite realisiert werden, ein Vorteil, der übrigens noch heute jedem Entwickler zugute kommt. Ein immenser Vorteil ist dies jedoch auch für Anwender, die nicht weiterentwickelte Software weiterhin und wie gewohnt auf dem Amiga-OS benutzen können, während sie innovative Neuheiten- Entwicklungen unter pOS mit Ausnutzung aller Vorteile parallel betreiben.
Der Ein-/Umstieg auf dieses Betriebssystem erfolgt also absolut soft.

Ursprung und Wünsche

Wir als traditionelles Amiga-Softwarehaus verfolgen die Entwicklung um den Amiga und auch die Wünsche von Anwendern und Entwicklern schon seit langer Zeit. So sind bereits von Commodore bestimmte innovative Dinge sehr früh angedacht, aber nie oder nur sehr halbherzig umgesetzt worden. Beispiele hierfür sind RTG oder das Datatype-Konzept. Stets als Entwickler denkend, waren diese Dinge natürlich auch für unsere Applikationen sehr nützlich, dessen bisherige Realisation jedoch weniger... Deshalb ist pOS auch als moderne Grundlage zur Umsetzung solcher und vieler anderer individueller Wünsche, sowohl innerhalb, als auch außerhalb von proDAD, zu sehen.

Negativ-Beispiele, die hauptsächlich in der fehlenden Weiterentwicklung des Amiga-OS begründet sind, stellen natürlich einen weiteren Anreiz zur Realisation eines solchen Projektes dar. Die unflexible Grafikausgabe beispielsweise, die veralteten Druckertreiber, oder die fehlende integrierte Netzwerkfähigkeit sind alles Dinge, die Quasi-Standards zur Folge haben und so teilweise für Verwirrung sorgen. Auch hier ist unsere Rolle als Software-Entwickler wieder Grundlage zur Konzeption. Denn wenn WIR uns mit Mehraufwand auseinandersetzen müssen, so ergeht es ANDEREN Entwicklern nicht anders, alle haben mehr oder weniger das gleiche Schicksal. Deshalb hier der Versuch zur Verbesserung von Umgebungsbedingungen.

Kompatibilität

Die Tatsache der Kompatibilität wird sehr hoch bewertet. Andere Ansätze zeigten aber, daß die Kompatibilität auf Ebene des Anwenders überwiegend Nachteile mit sich bringt, insbesondere werden Nachteile mit portiert.
Deshalb wird hier auf einer Ebene darunter, nämlich bereits beim Entwickler angesetzt.
Durch ca. 2/3 Kompatibilität zum AMIGA-OS kann eine im Standard ANSI C bzw. C++ geschriebene AMIGA-Software durch einen einzigen Compiler-Durchlauf bzw. nur geringen Modifikationen auf pOS laufen, womit bereits von allen Vorteilen profitiert werden kann. Dieser Vorteil existiert natürlich exklusiv für Programmierer von AMIGA-Applikationen.
Unser Partner, Haage & Partner in Rosbach, bietet hierfür bereits heute die passende Compilerumgebung mit Power-PC-Option. Warum also heutzutage noch eine Software neu für PowerPC erstellen, die dann durch Emulation im OS erst noch ausgebremst wird?

Für die Portierung auf 68K-Software kann jedoch auch Ihre gewohnte Umgebung, sogar vom Amiga-OS aus zur Crossportierung benutzt werden. Lediglich die Zusätze, die im Rahmen der EpOS Developer- Support erhältlich sind, werden hierzu benötigt.
Schließlich wird durch pOS mit einem Compilerdurchgang der aktuelle Stand einer Applikation bereits von den OS-Vorteilen, wie z. B. der Geschwindigkeit oder des Look & Feels, profitieren!
Der Anwender führt lediglich ein Update durch und wird begeistert sein von der neuen Leistung des Produkts!
In dieser Zeit können die Entwickler bereits die pOS-Innovationen in einige Applikationen integrieren und die Software, allein auf OS-Funktionen, basierend, verbessern.

Und sollte dann der Drang auf eine neue Plattform bestehen, so bedeutet dies nur wenig Aufwand für den Entwickler.

Durch das Multiplattformkonzept ist nicht maßgebend, für welche Plattform die Applikation geschrieben werden muß, sondern auf welcher Plattform pOS momentan gerade läuft...
Multiplattform-Konzeption bedeutet im Falle pOS übrigens auch Multi-Prozessor- Konformität, selbst für diese in Zukunft immer praktikablere Technik ist pOS und dessen Applikationen bereits gerüstet !

    Die Philosophie, die dahinter steht ?

    • Durch Multiplattformtechnik im OS wird der Markt größer
    • für Entwickler (mehr Absatz, bei weniger Aufwand)
    • für Anwender (weniger Isolation, bessere Orientierung)
    • für Presse (größerer ansprechbarer Leserkreis)
  1. Die Softwareentwicklung lohnt sich wieder, es muß somit jedoch keine Plattform (und deren Anwender) ausgeklammert werden, die Anwenderschaft wird lediglich erweitert.
  2. Verschiedene Nischenrechner, Anwender und Entwickler für diese Märkte verspüren wieder Aufwind, durch Konzentration auf das Wichtigste - neben der Hardware - das einheitliche OS, als saubere Grundlage für Entwickler und Anwender.
  3. Der Rechner mit der besten Hardware-Leistung wird, auch in Teilbereichen, seine maximale Leistung zeigen können. Somit werden nicht mehr Äpfel mit Birnen verglichen, denn die Basis der Anwendung ist stets dieselbe. Ein Rechner mit z. B. starken Grafikfähigkeiten wird dann diese Fähigkeiten realistisch vergleichbar mit anderen Rechnern demonstrieren können (siehe hierzu auch RTG).

Multitasking und Kommunikation

Ein Vorteil schlechthin, das preemptive Multitasking, wurde bei pOS weiter optimiert und mit technischen Raffinessen gespickt, was sich sowohl für Anwender als auch für Entwickler angenehm auswirkt. Beispiel: In pOS werden alle häufigen Task-Synchronisationen über Semaphoren erzielt, was zu einem besseren Zeitverhalten führt. Desweiteren wurde eine Regel eingeführt, die besagt, daß der Benutzer immer die höchste Priorität erhalten kann. Weiterhin wurde die »Deadlock«- Gefahr durch Semaphoren-Hierachien beinahe ausgeschlossen. Neben »normalen« Tasks bietet pOS QuickTasks, die etwa dreimal schneller zur Ausführung gelangen.

Netzwerkfähigkeiten

Die Netzwerkfähigkeit ist bereits vom Betriebssystem garantiert und somit einfach konfigurierbar.
Dieser feste Bestandteil erleichtert z. B. Drittherstellern für DFÜ-Software die Erstellung von Software zur Anbindung an globale - oder lokale Netzwerke.

Ferner sind somit Projekte zu Konferenzschaltungen über Fernvernetzung wesentlich einfacher realisierbar. Ein Beispiel wäre gemeinsames Konstruieren von verschiedenen Terminals aus. Dies wird selbstverständlich durch die bereits integrierten RTG-Fähigkeiten optimal ermöglicht. So könnte von 3 Rechnern aus an ein und demselben Projekt editiert werden, während 1 Rechner z. B. mit PPC ausgestattet, das Rendering dieses Objektes parallel vornimmt. Eine optimale Aufteilung der internen Abläufe bei bester Hardwareauslastung und maximalem Komfort ist die Folge dieses Netzwerkes, welches bereits vom Betriebssystem koordiniert wird. Peripherie- und Datensharing sind weitere Möglichkeiten, die diese Resourcen einfach zur Verfügung stellen. Die direkte OS-Netzwerkintegrität bedeutet für den Anwender zudem eine einfachere Konfigurierbarkeit.

Grafikausgabe / RTG

pOS paßt die Grafikausgabe mit Hilfe einer Library automatisch an das Ausgabemedium an. Ganz nebenbei wurde die Grafikausgabe (gegenüber der des AMIGA-OS) 24-Bit-fähig und deutlich schneller. Auch die Monitor-Unterstützung ist wesentlich flexibler geworden: So können beispielsweise mehrere Monitore für eine Benutzer-Oberfläche gleichzeitig verwendet werden. Das Ausgabemedium kann auch ein Teil des Netzwerks oder aber eine Virtual-Reality-Komponente sein. Und das Beste für Programmierer: Nicht er muß prüfen, was die momentane Hardware bietet und aufwendig darauf eingehen - das OS übernimmt dies für den Entwickler und erleichtert so auch an dieser Stelle die Softwareentwicklung bzw. ermöglicht somit spielerisch das Prinzip der konsequenten Nutzung verfügbarer Hardware.

Erscheinungsbild

Der Komfort und das optische Erscheinungsbild wurden modernisiert, ohne daß diese Neuerungen jedoch zu einer langsameren Arbeitsgeschwindigkeit führen und ohne daß die Funktionalität zugunsten grafischer Spielereien außer acht gelassen wird.
Sehen Sie dazu auch unsere Screenshots 1 und 2!

Beispiele:

Animierte Menüs und Schalter sorgen für mehr Verständlichkeit. Und Fenster lassen sich endlich mit sichtbarem Inhalt verschieben. Das Shell-Fenster hat einen Schieberegler, mit dem sich frühere Ausgaben wieder sichtbar machen lassen, und der Befehlspuffer der Shell ist über eine Aufklapp-Funktion aufrufbar. Dies sind alles Dinge, die den Komfort und der Verständlichkeit beim Anwender unterstützen. Zwar sind diese Features fürs Amiga-OS teilweise auch optional erhältlich, doch treten hier die bereits oben erwähnten Nachteile der veralteten Konzeption, daraus resultierende Geschwindigkeitsnachteile und der unterschiedlicher Mehr- oder Minderkompatibilität in Erscheinung. Auch hier wieder der Versuch, als Entwickler denkend, zukunftskonform eine einheitliche, vernünftige Grundlage für andere Entwickler und nicht zuletzt im Sinne des Anwenders zu schaffen.

DOS

Das DOS ist hier (gegenüber dem AMIGA-OS) sehr viel schlanker, was zu wesentlich höheren Geschwindigkeiten führt. So ist z. B. das komplette BCPL-System nicht mehr vorhanden.Das Scannen von Verzeichnissen sowie Lese- und Schreibzugriffe läuft ebenfalls sehr viel schneller ab. Auch die Möglichkeit der automatischen Datenkomprimierung und -Dekomprimierung während des Lesens und Schreibens ist in pOS bereits integriert.
Die Partitionierungsgrenze liegt übrigens bei 1,09*10^12 Byte oder 1 Terabyte. was im Gegensatz zu den meisten anderen Betriebssystemen die moderne Konzeption wohl eindrucksvoll unter Beweis stellt. Für Multimedia und riesige Datenbanken ist dies ein Vorteil, der mit der Zeit stets mehr an Bedeutung gewinnen wird.

Was bedeutet pOS in der Praxis für Entwickler ?

    Nun, einige Vorteile für Programmierer (ein kleiner, bescheidener Auszug...) wollen wir Ihnen hier aufzeigen:
  • 99% kompatible Libraries und Devices für bequemes Portieren auf pOS; Klassenverwaltung im OS-Kernel
  • Ableitungsmöglichkeit zur Laufzeit
  • sparsame Objektverwaltung bzgl. Speicherplatz und Laufzeit-Overhead
  • Instanzen werden vom Kernel gefiltert und an den Klassen-Dispatcher gesendet;
  • Vorteil: einfachere Programmierung und somit weniger Fehleranfälligkeit
    • Grafikflexibilität durch RTG:
    • Spezifische Anpassung an Ausgabemedium über eine RTG-Library, die in verschiedenen Ebenen die Grafikausgabe steuert, beginnend bei einfachen Grafikoperationen (ohne Clipping) bis hin zur vollständigen Integration der benötigten Grafikfähigkeiten. Diese Unterteilung erlaubt eine schnelle Umsetzung mit geringer Optimierung oder eine vollständig hardwarenahe Programmierung ohne Kompromisse bei max. Leistung.
    • Flexible Monitor-Unterstützung: Beispw. Multi-Monitorsystem für größere Arbeitsoberfläche und somit mehr Übersichtlichkeit (zur Verfügung gestellt von RTG)
    • Die Aufteilung der Grafikbereiche oder etwa die Mausposition bei Verwendung mehrerer Bildschirme regelt das Betriebssystem (RTG).
    • Wesentlich bessere Unterstützung der simple-refreshed Windows durch einfachere und schnellere Clipping-Routinen. Der Refresh eines bereits mehrfach geclippten Bereiches wird durch leistungsstarke OS-Routinen unterstützt und gefördert (bisher zu kompliziert).
    • Die Programme werden in der Grafikumrechnung (Colors, Maße) von pOS unterstützt. Jede Applikation kann sämtliche Grafikdaten in True-Color bearbeiten und überläßt die nachträgliche Bildschirmdarstellung dem OS. Je nach Grafikausgabegerät (True-Color Bildschirm, 256Color Bildschirm, Netzwerk, Drucker,..) wird der zugehörige Treiber autom. eine Konvertierung vornehmen!
    • Da pOS in einem AMIGA-OS-Fenster laufen kann (RTG!), stellt sich die Situation der Portierung auf pOS denkbar einfach. Somit wird insbesondere das Entwickeln stark erleichtert. Ganz nebenbei dient diese Fähigkeit selbstverständlich auch dem Anwender, da er durch gleichzeitiges Betreiben von z. B. Amiga-OS und pOS einen sanften Übergang von alten - zu neuen Software-Versionen erhält...
    • Super-Bitmap wesentlich einfacher: Beispw. können auf einer Superbitmap zahlreiche Gadgets plaziert werden, über die hinweggescrollt werden kann. Die Koordinaten-Verschiebung seitens der Grafikausgabe und der Nachrichtenverarbeitung wird komplett vom Betriebssystem übernommen.
    • Mehrere Layers in einem Window (Tochter-layers): Vorteil: z. B. kann eine Abtrennung einer vorhandenen Gadgetleiste von einem Eingabefeld durchs Betriebssystem erfolgen. Dies dient nicht zuletzt aufgrund des wegfallenden manuellen Umschaltens der Grafikperfomance.
  • objektorientierter GUI: Alle sichtbaren Elemente, wie Text, Grafik, Animation etc., sind Elemente. Diese Elemente können objektorientiert kombiniert werden, was z.B. sehr einfach die Erstellung eines Menüpunktes mit integrierter Animation ermöglicht (Baukasten-Prinzip). Selbstlayoutende Gadgets,die proportional font- sensitive sind, d.h. keine Koordinaten-Programmierung, sondern Hierarchien.
  • spezielle pOS Debug-Version: Die Software-Entwicklung wird hiermit enorm vereinfacht, indem viele Fehler bereits im Vorfeld, vor einem etwaigen Systemabsturz, erkannt und angezeigt werden. Somit kann vor einem Absturz sinnvoll und komfortabel die Ursache erkannt werden.
  • pOS stellt ein Standard-Prefs Programm zur Verfügung. Alle einstellbaren Daten werden über Libraries in den pOS-Prefs editiert. Der Programmierer muß nicht für jeden Einsteller ein vollständiges Programm mit der stets wiederkehrenden Funktionalität kreieren. Die gesamte Verwaltung wird bereits vom pOS-Prefs bereitgestellt, so daß der einzelne Einsteller nur seinen privaten Teil bearbeiten muß.
  • Einfachere Fehlersuche in Programmen - ein Beispiel.
    Auszug aus dem Sourcecode:
    {
      ...
      const CHAR *name;
      pOS_FileHandle *FH;
      name=NULL; // *** Nullzeiger
      if(FH=pOS_OpenFile(NULL,name,FILEHDMOD_Read)) {
        pOS_CloseFile(FH);
      }
      ...
    }
    
    Ausgabe im Debug-Window:
    Current: Task=0x7276170 Name=ShowDebug
    Error: |pOS_OpenFile| {rp const CHAR*}
    var: |name| = 0x0
    

    Das Motto: bessere Software durch besseres Debugging, volle Leistung nach Abschluß der Applikations-Entwicklung!
    Der Programmierer wird bereits vom Kernel bestens unterstützt, was die Qualität der Software steigern soll, bzw. die Entwicklungszeit bedeutend reduziert.

      Andere OS gehen den anderen, uneffektiveren Weg:
    • sichere Laufzeit durch umfangreiche Crash-Protection, die Konsequenz:
      • mehr Overhead:
      • Laufzeit-Geschwindigkeitsverlust
      • mehr Rechenleistungs-Bedarf
      • höhere Memoryanforderungen

Sollten Ihnen diese Fakten zusagen, können Sie sich das Entwicklerprogramm EpOS einmal näher betrachten (beiliegend oder erh. bei proDAD).

Weitere Informationen