Datatypes


Das Ziel des Datatypes-Konzeptes ist es, den Umgang von Anwendungsprogrammen
mit beliebiegen Daten zu vereinfachen und zu standardisieren. Ein/e Programmierer/in
braucht sich bei der Verwendung von externen Daten (Bilder, Animation, Text, Sound etc.)
überhaupt nicht mehr um den eigentlichen Typ der Daten zu kümmern, das Laden spezieller
Dateiformate (JPEG, IFF, ASCII...) wird vom Datatype erledigt, was zur Folge hat, daß es
keine Rolle spielt ob man als Anwender/in ein JPEG, ein IFF oder ein GIF-Bild als
Hintergrundmuster wählt.
Das Datatypes-System ist objektorientiert und modular aufgebaut, so daß sich
problemlos zusätzliche Datatypes hinzufügen lassen, die dann ohne weitere
Aktionen von den Anwendungsprogrammen verwendet werden.
Unter p.OS ist das Datatypes-Konzept konsequent durchgezogen. Auch die Gadgets,
also die grafischen Ein- und Ausgabeelemente der Benutzeroberfläche machen davon
Gebrauch. Das heißt, das Bilddateien mit beliebigen Formaten (je nach dem, welche
Datatypes installiert sind) beispielsweise als Bilder für Buttons in Programmen verwendet
werden können.
Siehe hierzu auch die Shell-Befehle DtType und DTT.



Datei-Kommentare

Siehe Dateisystem


Dateisystem (File System)

Das Dateisystem ist der Teil des Betriebssystems, der die Datenträger in Verzeichnisse
und Dateien organisiert und über den die (meisten) Anwendungsprogramme auf die dort
gespeicherten Daten zugreifen. Bei anderen Betriebssystemen wird auch die Verzeichnisstruktur
bzw. der Datenträger oder die Disk-Partition selbst als "Dateisystem" bezeichnet.
Siehe auch den Abschnitt Dateisystem in der
Dokumentation.



Devices

Devices sind Libraries, die Funktionen zum Zugriff auf Geräte, seien es
Datenträger, Schnittstellen o.ä. zur Verfügung stellen. Unter p.OS ist z.B. das
"pSCSI.device" für den Zugriff auf Geräte zuständig, die an einem SCSI-Bus
angeschlossen sind (oder an einem Bussystem, das sich ähnlich verhält, z.B. IDE/AT-Bus)
Im Gegensatz zu den Devices der meisten anderen Betriebssysteme sind die Devices
unter p.OS vollständig asynchron, d.h. ein Anwendungsprogramm kann ein Gerät
dazu veranlassen, eine bestimmte Aktion auszuführen und muß nicht auf die
Beendigung dieser Aktion warten, sondern kann in der Zwischenzeit andere Aufgaben
erfüllen.



Drag&Drop

...heißt ja bekanntlich soviel wie Ziehen und fallenlassen
damit ist aber weder der Rechner auf dem Schreibtisch gemeint, noch eine Aktion beim Dentisten...
Es geht hier lediglich darum, mit dem Mauszeiger am Bildschirm unter drücken einer Maustaste
(voreingestellt ist bei p.OS die mittlere oder CTRL+links bei 2-Tasten-Mäusen) ein Objekt (Icon,
Text, Pfadname etc.) auf ein anderes zu verschieben, was dann eine sinnvolle Funktion zur Folge hat.
Siehe auch den Abschnitt Drag&Drop in der Dokumentation.



Gadgets

Gadgets sind die elementaren Bestandteile der grafischen Benutzeroberfläche.
Einerseits sind es Elemente, die die Benutzereingaben empfangen (Buttons,
Schieber, Texteingabefelder), andererseits können sie aber auch nur zur Ausgabe
von Informationen verwendet werden. Aber es gibt auch Gadgets, die beides
zugleich sind (z.B. die Listeneinzeiger beim p.OS-Filer).
Unter p.OS sind alle Gadgets objektorientiert organisiert.

Siehe auch: objektorientiert
und in der Dokumentation Sytstem-Gadgets



GIF

Graphics Image File. Von Compuserve zur Verwendung in online-Diensten
entworfenes Grafikformat, das die Bilddaten LZW-Komprimiert speichert (ähnlich,
wie es der LHA-Archivierer tut). Dieses
Dateiformat erlaubt das Abspeichern von Animationen, transparentem Hintergrund
und einer "Interlace"-Option, unterstützt aber nur Bilder bis zu 265 Farben.
Dieser p.OS-Version ist ein Datatype für dieses Dateiformat
beigelegt.
In letzter Zeit pocht Compuserve verstärkt auf sein Copyright, was zu einigen
Problemen geführt hat. Das neue PiNG-Format soll ein Nachfolger für GIF werden.



Icons/Piktogramme

Mit Ikonen im ursprünglichen Sinne haben diese Dinger recht wenig gemeinsam,
weshalb es auch unverständlich ist, daß man in manchen Handbüchern genau diese
Übersetzung findet. Diese kleinen Bildchen dienen dazu, eine Aktion oder ein
Objekt grafisch zu verdeutlichen. Unter p.OS werden meist die Bilder auf der
p.OS-Workbench, die für Datenträger, Dateien, Verzeichnisse und Programme stehen
als Icons bezeichnet.
Siehe auch in der Dokumentation



IFF

Interchange File Format. Dahinter verbirgt sich eine Fülle von Dateiformaten
für die unterschiedlichsten Daten, wie Bitmap-Grafiken, formatierte Texte,
Vektor-Grafiken, Musik, Samples, Voreinstellungen, Animationen usw. die alle in
sog. "Chunks" unterteilt sind, das sind Abschnitte verschiedener Länge, die
unterschiedliche Daten beinhalten.
p.OS enthält bereits in der vorliegenden Version Datatypes
für einige IFF-Formate.



JPEG

Joined Photo Experts Group. Diese Gruppe von Entwicklern erfand ein
Dateiformat, das mit ausgeklügelten Datenreduktionsalgorithmen die Speicherung
besonders von Fotos in sehr kompakten Dateien ermöglicht. Eigentlich heißt das
Dateiformat "JFIF" (JPEG File Interchange Format), es hat sich aber der
Dateianhang .jpeg oder .jpg für Bilddateien in diesem Format eingebürgert.
p.OS enthält auch bereits einen Datatype für dieses
Format.



Libraries

Libraries sind Funktionsbibliotheken, die Anwendungsprogrammierer und auch in
großem Umfang das Betriebssystem verwenden. Darin befinden sich Funktionen, die
fast alles erledigen, was mit dem Betriebssystem zusammenhängt. Es können aber
auch von Anwendungsprogrammierern eigene Libraries erstellt werden, um
entwender Anderen die Verwendung von neuen Funktionen zu ermöglichen oder aber
eigene Software zu modularisieren.
Die Dateien in den p.OS-Systemverzeichnissen, die auf .library enden sind sog.
"shared libraries", d.h. sie können von mehreren Programmen gleichzeitig
verwendet werden, obwohl sie nur einmal im Speicher sind. Dadurch wird das
Betriebssystem viel kompakter. Bei anderen Betriebssystemen wird in letzter Zeit
dieses Prinzip auch immer häufiger angewandt, weil es natürlich viele Vorteile
hat. Allerdings wird dort ein zusätzliches Programm verwendet, das beim
Programmstart die Funktionen aus den Libraries mit dem Anwendungsprogramm
verbindet (runtime-Linker), was bei p.OS wegfällt, da das Library-Konzept - wie auch bei AmigaOS
- schon von Anfang an ein Grundbestandteil des Systems war und daher etwas
anders funktioniert.
Unter p.OS gibt es folgende wichtige Libraries, die niemals fehlen dürfen:
pExec.library (Programmablaufsteuerung, Multitasking)
pDos.library (Ein- Ausgabe, Gerätezugriffe, Datenträger)
pGraphics.library (Grafikausgabe)
pIntuition.library (Benutzeroberfläche, Windows ...)



Mesa/OpenGL

MESA ist ein frei erhältliches Softwarepaket zur Programmierung in der
Grafiksprache OpenGL.
OpenGL ist ein weitverbreiteter Standard für die 3D-Grafikprogrammierung.
Auch für p.OS gibt es diese Software bereits.



Multitasking

Was sich bei anderen Rechnersystemen wie ein neues Modewort anhört kennen wir
als Amiga-Anwender schon seit vielen Jahren. Mehrere Programme gleichzeitig
auszuführen ist wohl eine der wichtigsten Aufgaben für einen Computer, auch wenn
diese Tatsache noch lange nicht in das Bewußtsein/die Chefetagen einiger großer Softwarefirmen
vorgedrungen ist.
p.OS, wie auch AmigaOS, erlaubt "prioritätsgesteuertes präemptives Multitasking", mit Programmen, die "reentrant" und "reexecutable" sind, wobei
p.OS auch hier einige Neuerungen aufweist. Um ein wenig Licht in diesen
Begriffsdschungel zu bringen: "präemptiv" bedeutet, daß das Multitasking-Prinzip
für die Anwendungsprogramme vollständig transparent ist, diese sich also nur auf
den eigenen Ablauf kümmern müssen (und auch nur können), das Betriebssystem verteilt die
Prozessorzeit je nach Priorität auf die einzelnen Tasks, ohne daß ein Anwendungsprogramm
dies beeinflussen kann (Mit 2 Ausnahmen...). Das Gegenstück dazu wäre "Kooperatives Multitasking" (Wind Dose 95), bei dem die einzelnen Programme sich gegenseitig
"helfen" müssen, damit das System funktioniert.
"reentrant" sind Programme, mehrmals gleichzeitig ablaufen können, auch wenn sie
nur einmal im Speicher sind.
"Reexecutable" bedeutet, daß ein Programm wiederholt ausgeführt werden kann, ohne neu
geladen zu werden.



Multithreading

Wenn ein Programm seine Aufgaben nicht nur linear, sondern auch parallel ausführen kann,
wenn es sich also selbst in mehrere parallele "Threads" (Fäden) aufteilt, dann ist es "Multithreaded".
Die p.OS-Workbench ist z.B. so ein Programm, das mehrere Aufgaben scheinbar gleichzeitig
erledigen kann, so daß keine Wartezeiten für den Benutzer mehr entstehen.



Objektorientiert

p.OS wird deshalb ein "objektorientiertes Betriebssystem" genannt, weil
erstens die Arbeitsweise des Benutzers nach möglichst natürlichen
Gesichtspunkten vorgesehen ist und zweitens die Programmierung von Anwendungen
nach objektorientierten Prinzipien erfolgt.
Allgemein bedeutet "objektorientiert", daß diejenigen Daten, die sinngemäß
zusammengehören auch zusammen bearbeitet werden können und daß wir uns
nicht um Daten kümmern brauchen, die uninteressant für uns sind.
Die Benutzeroberfläche erlaubt es uns zum Beispiel durch das
Drag&Drop-Konzept ein Objekt, d.h. ein (Datei-,
Datenträger oder Verzeichnis-)Icon, eine Zeichenkette oder was auch immer,
irgendwo an eine andere Stelle zu verschieben, wo dann eine entsprechende Aktion
damit ausgeführt wird, ohne daß wir uns um den eigentlichen Inhalt des Objektes
persönlich kümmern müssen.
Für Programmierer heißt "objektorientiert" aber noch viel mehr. Beispielsweise
werden die Gadgets wie auch die Datatypes objektorientiert
verwaltet.
Hier ein Beispiel:
Die Bezeichnung "Gadget" ist im objektorientierten Sinne eine
"Klasse", d.h. eine Beschreibung für eine Gruppe von Objekten mit bestimmten
gemeinsamen Eigenschaften. Zum Beispiel ist allen Gadgets gemeinsam, daß Sie
einen Rahmen und einen Inhalt haben können, daß sie einen bestimmten Platz in
einem Fenster einnehmen und daß sie irgendwelche Meldungen des Betriebssystems
empfangen können.
Die Vielfalt der verschiedenen Gadgets ergibt sich daraus, daß aus der
allgemeinen Klasse "Gadget" durch die Erweiterung um ganz spezielle
Eigenschaften neue Klassen entstehen, die sich wiederum erweitern lassen, bis
ein Satz von verschiedenen Gadget-Typen entstanden ist. Einen so entstandenen
Gadget-Typen (Button, Listview...) nennt man dann "von der Klasse Gadget abgeleitete" oder "Unterklasse der Klasse Gadget", es wird auch der Begriff
"Subklasse" verwendet. Umgekehrt wird die Klasse "Gadget" als "Basisklasse" oder
"Oberklasse" der anderen Gadget-Klassen bezeichnet.
Dies läßt sich beliebig weiterführen, so daß regelrechte Klassen-Hierarchien
entstehen, an deren oberster Ebene die allgemeine Klasse (root-Klasse) steht,
von der die spezielleren Klassen abgeleitet werden, die wiederum Basisklassen
von ganz speziellen Klassen sind. Es gibt ein Beispielprogramm für p.OS, das es
erlaubt, die Klassenhierarchie der in einem Fenster angezeigten Gadgets grafisch
darzustellen. (SYS:Tools/ClassList)



Pflatsch... ähh, Patch

"Patchen" heißt allgemein soviel wie "zusammenflicken", und das trifft den
Kern der Sache ziemlich genau. Teile des Betriebssystems werden nachträglich
gegen neue Stückchen ausgewechselt.
Da dies im allgemeinen zur Laufzeit des Betriebssystems geschieht, ist das eine
ziemlich windige Kiste. Es kann sein, daß nacheinander mehrere Programme versuchen,
den gleichen Teil des Systems zu patchen, oder daß andere Programme ganz einfach den
Originalzustand des Systems voraussetzen. Diese Programme laufen dann entweder
fehlerhaft ab oder bringen das System zum Absturz, was sich mit steigender Anzahl
von PD-Commodities unter AmigaOS immer häufiger beobachten läßt. Im Falle der
Commodities sind es meist Funktionen aus den Systembibliotheken, die durch andere
ausgewechselt werden. Diese machen dann nicht mehr das, was ursprünglich vorgesehen
war. Und das ist gefährlich.



Preferences

Siehe Konfigurations-Abschnitt in der
Dokumentation.

Programmierer

Wie in etwas, in das man besser nicht greift, greifen einige Programmierer von Zeit
zu Zeit in die Mottenkiste der C-Programmierung und setzen voraus, daß sich bestimmte Daten an
bestimmten Speicheradressen befinden. Diese Programmierer bearbeiten gerne interne
Datenstrukturen des Betriebssystems von hinten durch die Brust ins Auge, was meist auch in
selbiges geht...
Unter p.OS - Finger weg davon!



RTG

Retargettable Graphics. Dies bedeutet, daß das System der Grafiktreiber
so aufgebaut ist, daß die Grafikausgabe nicht auf ein bestimmtes
Ausgabegerät beschränkt ist, sondern abhängig von der installierten
Treibersoftware praktisch überallhin ausgegeben werden kann, also auch über ein
Netzwerk, auf einen Drucker usw.



SCSI-Bus

Small Computer System Interface. Ein
Bussystem, an das hauptsächlich Fest- und Wechselplatten (z.B. Zip-Drive), CDRom-Laufwerke,
Bandlaufwerke und Scanner angeschlossen werden. Beim ursprünglichen SCSI-II-Bus können bis
zu 7 Geräte angesschlossen werden, bei den neueren Varianten (Wide-SCSI, Ultra-Wide-SCSI usw.) bis
zu 15. Unter p.OS werden diese Geräte von den Anwendungsprogrammen (z.B. ZipTool)
über das pSCSI.device angesprochen, das auch bereits bis zu 15 Geräte unterstützt.



Shell

Siehe Shell-Abschnitt in der Dokumentation.



Stack

Ein "Stack" ist ein "Stapelspeicher". Die darin gespeicherten Daten werden nach dem
LIFO-Prinzip (Last in- first out) behandelt, d.h. es wird wie bei einem richtigen Stapel
etwas zum speichern obenauf gelegt und es kann auch nur wieder etwas von oben
heruntergenommen werden - nicht etwa irgendwo aus der Mitte des Stapels.
Alle Programme, die unter p.OS laufen benutzen diesen vom p.OS verwalteten
Speicher für einige ihrer internen Daten. Wie viel von diesem Speicher jeweils benötigt
wird hängt einerseits von den Programmen ab, manchmal aber auch von den Daten, die
damit bearbeitet werden. Deshalb läßt sich die Stack-Größe in der Shell verändern.
Siehe hierzu auch den Shell-Befehl Stack.



Workbench

Grafische Benutzeroberfläche in p.OS.
Siehe Abschnitt p.OS-Workbench in der
Dokumentation.