GEM (Graphics Environment Manager)

Im Gegensatz zu einem konventionellen BetriebssystemTOS, dessen Haupt-
augenmerk meist auf der Dateiorganisation, einem Multitaskingsystem
und der Ansteuerung von Peripheriegerten liegt, ist GEM in erster
Linie zur konsistenten und portablen Programmierung von grafischen
Ausgabesystemen entwickelt worden. Darberhinaus soll GEM den Dialog
zwischen Programm und Anwender erleichtern.
Die Betriebssystemumgebung von GEM besteht aus zwei Teilen, einem
mehr auf die Grafik spezialisiertem und einem berwiegend im Hinblick
auf eine leicht anzuwendende Benutzerschnittstelle orientierten Ab-
schnitt:

 AESAES\AES.HLP (Application Environment Services)
 VDIVDI\VDI.HLP (Virtual Device Interface)

AES bernimmt dabei die Organisation der Benutzerumgebung, wohingegen
VDI fr eine einheitliche grafische Gestaltung der Benutzeroberflche
sorgt. Whrend AES auf VDI-Funktionen basiert, wird im VDI keine
AES-Funktion verwendet. Man kann AES als das bergeordnete System be-
trachten. Zusammen mit den Funktionen eines konventionellen Betriebs-
sytems erfllt GEM damit alle Anforderungen an ein anwendergerechetes
Betriebssystem.

GEM-Funktionen werden, hnlich anderen Betriebssystemfunktionen, ber
ein standardisiertes Interface angesprochen. Normalerweise braucht
sich der Programmierer darum nicht zu kmmern, da auch der Aufruf
ber Funktionsnamen von einer hheren Programmiersprache aus standar-
disiert ist. Manchmal ist es jedoch ntzlich, ber die Parameter-
bergabe bescheid zu wissen. Die Datei GEMDEFS.HUTIL\GEMDEFS.H zeigt ein mgliches
Interface zur Nutzung mit Purbo-C unter TOS und MS-DOS, welches auch
tatschlich zur Herstellung einer entsprechenden Anbindung in Form
einer Funktionsbibliothek genutzt wurde.
Die zugehrigen systemabhngigen Definitionen befinden sich fr TOS
(Turbo-C 2.0 oder Pure-C 1.0) in der Datei GEMDEFS.SUTIL\GEMDEFS.S und fr MS-DOS
(Turbo-C 2.0 oder Turbo-C++ 1.0) in der Datei GEMDEFS.CUTIL\GEMDEFS.C.
