 |
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.
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.
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.
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.
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 !
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)
- Die Softwareentwicklung lohnt sich wieder, es muß somit jedoch keine
Plattform (und deren Anwender) ausgeklammert werden, die Anwenderschaft wird
lediglich erweitert.
- 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.
- 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).
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.
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.
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.
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.
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.
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).

|