MultiGEM: Wie man vieles zur gleichen Zeit erledigt

Bis zu 6 GEM-Programme sind mit MultiGEM gleichzeitig verfügbar

Apple hat es, Commodore hat es, von UNIX gar nicht erst zu reden. Endlich soll es der gute alte ST, dank eines kleinen aber wirksamen Programmes namens MultiGEM, jetzt auch können. Die Rede ist natürlich von Multitasking. Doch was heißt Multitasking überhaupt? Was verbirgt sich hinter diesem englischen (wie sollte es auch anders sein?) Fachbegriff?

Normale Betriebssysteme, wie zum Beispiel MS-DOS oder Atari-TOS, können immer nur ein Programm gleichzeitig im Speicher abarbeiten. Da die CPU, also der Prozessor eines Computers, auch immer nur eine Anweisung zur selben Zeit ausführen kann, ist dieser Umstand zunächst einmal technisch bedingt. Durch einen Trick haben es die Software-Entwickler allerdings geschafft, auch auf Computern mit nur einer CPU mehrere Programme quasi gleichzeitig laufen zu lassen. Dieser Trick besteht darin, daß in bestimmten Zeitabständen zwischen den einzelnen Programmen „hin- und hergeschaltet" wird. Das gerade laufende Programm wird also angehalten, der Zustand der CPU (Registerinhalte, Flags usw.) im Speicher gerettet und beim nächsten Programm weitergemacht. Diese Umschaltung erfolgt dabei in der Regel so schnell, daß der Anwender gar nichts davon merkt und den Eindruck hat, mehrere Programme würden gleichzeitig laufen.

Accessories, der Kompromiß

Leider wurde das Betriebssystem des Atari-ST und folglich auch das des TT bei seiner Entwicklung nicht auf Multitasking-Fähigkeit ausgelegt. Lediglich ein kleiner Kompromiß in dieser Richtung wurde gemacht. Die grafische Benutzeroberfläche GEM des Betriebssystems bietet die Möglichkeit Accessories zu installieren, und zwar bis zu sechs Stück gleichzeitig. Mit dem Hauptprogramm können also sieben Programme gleichzeitig im Speicher stehen. Je nachdem wie diese Accessories programmiert wurden, können sie sogar alle (quasi) gleichzeitig arbeiten. Sie bekommen dabei aber keine Rechenzeit zugeteilt, sondern beanspruchen einfach soviel, wie sie gerade benötigen (unter Umständen auch alles). Die meisten Accessories warten lediglich darauf, daß sie durch einen Mausklick auf den entsprechenden Menüpunkt aktiviert werden. Dadurch verbrauchen sie nur dann Rechenzeit, wenn der Anwender sie explizit einsetzen will. Als Beispiel seien hier die diversen PD-Accessories erwähnt, die ständig im Hintergrund eine Uhr darstellen oder sonstige Aktivitäten ohne Zutun des Benutzers ausführen. Dies ist also schon eine Art von Multitasking, wenn auch noch mit Einschränkungen, denn nur sehr wenige Anwendungsprogramme laufen als Accessory. Auch darf ein Accessory keine Menüleiste haben (denn sonst könnte man es ja aus sich selbst heraus aufrufen).

„Multi“ macht's möglich

Gerade bei diesem Prinzip der Accessories setzt das Programm MultiGEM an. Es modifiziert das Betriebssystem in der Weise, daß sich alle normalen GEM-Programme quasi als Accessories verwenden lassen. Nach der Installation, welche dank des mitgelieferten Installationsprogrammes schnell und unkompliziert vonstatten geht, fällt zunächst auf. daß alle sechs Accessory-Einträge mit dem Eintrag „MultiGEMslot“ belegt sind. Werden nun Programme per Doppelklick vom Desktop aus gestartet, bekommen sie jeweils einen Eintrag in dem DESK-Menü zugewiesen. So lassen sich bis zu sechs Programme anmelden und einfach durch Anklicken ihres Menüeintrages oder Aktivieren eines ihrer GEM-Fenster umschalten. Man gelangt dadurch sehr schnell von einem Programm zum anderen - eine ideale Umgebung für DTP und Bildverarbeitung. Weitere sinnvolle Kombinationen sind Datenbank/Tabellenkalkulation und Textverarbeitung, da diese sich gut ergänzen und man nicht ständig zwischen den einzelnen Programmen wechseln muß.

„Singles“ nicht gefragt

Ein korrektes Arbeiten unter MultiGEM setzt voraus, daß Programme eine Menüleiste und echte GEM-Fenster benutzen. Alle Programme, die sich nicht an diese Bedingungen halten, können nicht im Multitasking laufen. Als Negativbeispiel sind u.a. die bekannten Programme STAD und Signum! anzusehen. Beide Programme nutzen keine GEM-Fenster, sondern schreiben direkt in den Bildschirmspeicher. Unter einem Multitasking-System gibt das natürlich Bildschirmchaos, weil das jeweils andere Programm überhaupt nicht mitbekommt, daß der Bildschirm beschrieben wurde und seinerseits munter Ausgaben auf den Schirm tätigt. Eine Koordination i st nur über GEM-Fenster möglich. Dafür wurden sie schließlich auch ins GEM implementiert. Hier sei wieder an alle Programmierer appelliert, saubere GEM-Programme zu entwickeln, damit sie auch mit solchen trickreichen Erweiterungen wie MultiGEM oder überhaupt mit Accessories einsetzbar sind.

Ähnliches Verhalten zeigen auch der Multi Finder am Apple Macintosh und Windows am PC. Wenn ein Programm nicht für Windows ausgelegt ist, wird es auch normal unter DOS gestartet. Dieses Verhalten ist mit dem MultiGEM ‘SingleModus’ vergleichbar. Beim Macintosh läuft sowieso jedes Anwenderprogramm unter MultiFinder, denn Apple hat hier die Zügel in der Hand, und kein Entwickler kann sich ein Programm leisten, das sich nicht an den Standard hält.

Mit MultiGEM soll endlich auch der ST multitaskingfähig werden

Für alle Problem fälle gerüstet

Die Zusammenstellung der Applikationen bleibt jedem selbst überlassen. Klickt man auf einen freien MultiGEM-Slot, gelangt man jederzeit zum Desktop zurück, ohne daß die schon gestarteten Programme beendet werden. Wird zusätzlich dabei die Shift-Taste gedrückt gehalten, gelangt man über eine Alert-Box in den sogenannten „Präferenzen-Dialog“ von MultiGEM. Hier können diverse Einstellungen getätigt werden. Programme, die wissentlich nicht mit MultiGEM Zusammenarbeiten, können in einer Liste eingetragen werden und den Status „Single Modus“ zugewiesen bekommen. Wird später ein solches Programm gestartet, schaltet MultiGEM das Multitasking ab und führt es ganz normal aus. Nach Verlassen des Programmes sind alle vorher schon gestarteten Applikationen wieder unverändert verfügbar. Dadurch ist gewährleistet, daß MultiGEM immer installiert sein kann, der Anwender aber trotzdem nicht auf Programme, die unter MultiGEM Probleme machen, verzichten muß. Die meisten Anwenderprogramme laufen jedoch im Multi-Modus, z.B.: Calamus, Easy Draw, Script, Tempus (-Word), Wordplus, Adimens, Phönix, K-Spread, Edison, Scigraph, MultiTerm pro, Turbo-C, MaxonPascal, Rufus und Saldo, um nur einige zu nennen. Auch Systemerweiterungen wie NVDI, Kobold und Gemini fügen sich nahtlos in die neue Umgebung ein. Der Single-Modus muß z.B. bei GFA- und Omikron-Basic, Signum!, Word-Perfect, Arabesque, CW-Chart und Cypress angewendet werden.

Prinzipiell läßt sich sagen, daß jedes Programm, das mit GEM-Fenstem läuft und mit Accessories klarkommt, auch unter MultiGEM arbeitet, denn was nicht unter GEM läuft, kann zwangsweise auch nicht unter MultiGEM arbeiten.

Des weiteren kann man MultiGEM mitteilen, welche Applikationen bei einem Systemstart sofort mitgestartet werden sollen. So läßt sich eine ganze, komplett installierte Umgebung definieren, die beim Einschalten oder nach einem RESET automatisch wieder aktiviert wird. Das ist vergleichbar mit dem GEM-Autostart, nur daß unter MultiGEM mehrere Programme samt zugehörenden Dateien (z.B. Textdatei) gestartet werden können.

Da es Programme gibt, die beim Start allen verfügbaren Speicher für sich beanspruchen und damit keinen Platz mehr für weitere Programme lassen, hat MultiGEM eine einfache Lösung parat. In der Liste der besonderen Programme kann ebenso die Speicherzuteilung für jedes Programm angegeben werden. Dadurch kann es nicht den gesamten Speicher belegen, und es bleibt noch genügend Platz für weitere Applikationen.

Trotzdem, Speicher sollte man je nach Anwendung schon genügend haben. Zwei Megabyte können bei umfangreichen GEM-Programmen knapp werden, bedenkt man, daß z.B. Calamus alleine schon mindestens 1 MB verbraucht. Vier Megabyte sind manchmal schon angebracht, jedoch sollten 2 MByte bei vielen Anwendungen ebenso ausreichend sein, schließlich wird man kaum mehr als 2 oder 3 Programme gleichzeitig betreiben wollen - schon der Übersicht wegen.

Diverse Einstellungen lassen sich im Preferenzen-Dialog für jedes Programm separat vornehmen

Wer einen TT030/6 oder gar TT030/8 sein eigen nennt, dürfte am meisten Spaß an MultiGEM haben, denn jetzt kann er seinen mächtigen Speicher erstmals ausfüllen. Erfreulicherweise ist MultiGEM auf dem TT problemlos lauffähig und nutzt auch das schnelle TT-RAM aus (sofern die Anwendungsprogramme ebenfalls diesen Speicher nutzen können). Auch von der Geschwindigkeit ist ein TT geradezu ideal für Multitasking. Bei einem ST merkt man schon, wenn ein Programm im Hintergrund arbeitet. Liegt es jedoch nur dort und wartet darauf, daß es angesprochen wird (was der Normalfall ist), geht kaum Rechenzeit verloren.

Multitasking- ja! Aber Multiprinting?

Ein weiteres, aber nicht so einfach zu lösendes Problem ist die Druckerausgabe. Wenn mehrere Programme gleichzeitig laufen, ist es auch durchaus denkbar, daß mehrere Programme gleichzeitig drucken können. Da sich aber nur ein Drucker anschließen läßt und alle Programme davon ausgehen, daß dieser nur ihnen allein gehört, ist das Chaos auf dem Papier unvermeidlich. Die meisten Anwendungen, insbesondere Textverarbeitungen wie Tempus-Word oder Script, schaffen aber von sich aus das Problem aus der Welt. Während der Druckerausgabe stellen sie eine Dialogbox dar, sperren die Bildschirmausgabe anderer Programme und somit das Multitasking, denn - und das soll hier n icht unerwähnt bleiben - Programme können nur dann Rechenzeit für sich beanspruchen, wenn keine der anderen Applikationen gerade eine Dialog-, Alert- oder Fileselectbox darstellt. In diesem Fall bleiben alle anderen Programme stehen. Dies ist durch das GEM bedingt und läßt sich nicht umgehen. Allerdings kommen in jüngster Zeit immer mehr Programme auf den Markt, die ihre Dialogboxen in GEM-Fenstern darstellen. Dann ist es durchaus möglich, daß bei geöffneter Dialogbox im GEM-Fenster andere Applikation Weiterarbeiten können.

TOS- & TTP-Programme?

Damit ist es eigentlich auch klar, daß keine TOS- oder TTP-Programme unter Multi-GEM laufen. Hier haben die Entwickler aber eine findige Idee gehabt. Mit einem Zusatzprogramm, welches als Anwendung für TOS- und TTP-Programme angemeldet wird, ist es möglich, die Textausgaben eines solchen Programmes in ein GEM-Fenster umzulenken. Durch diesen Trick können auch diverse TOS- und TTP-Programme im Multitasking-Betrieb laufen. Es gelang uns zum Beispiel, den bekannten Datei-Packer LHARC als TTP-Anwendung in einem GEM-Fenster ein Archiv entpacken zu lassen, während noch andere GEM-Programme wie z.B. Edison und Calamus liefen und benutzt werden konnten.

Fazit

Uneingeschränktes Multitasking à la UNIX ist mit MultiGEM nicht möglich, denn dazu müßte man das TOS komplett neu schreiben, was zwangsweise zu erheblichen Inkompatibilitäten mit bestehender Software führen würde. Der von MultiGEM beschrittene Weg ist daher sicher der beste, um Multitasking auf Atari ST/TT-Systemen zu implementieren, weil hier das GEM um Multitasking-Fähigkeiten erweitert wird, und man dadurch Kompatibilitätsprobleme weitgehend ausschließt.

Mit MultiGEM zieht der ST/TT mit dem MultiFinder und Windows gleich und muß sich nicht mehr nachsagen lassen, das letzte SingleTask-System zu sein. Daß nicht jedes Programm voll im Multitasking-Modus arbeitet, liegt in der Regel an den Anwenderprogrammen bzw. in der Natur der Sache. Einige Entwickler haben eben mit solch einer Erweiterung nie gerechnet oder haben aus verschiedenen Gründen am GEM vorbei programmiert.

Da als sehr wahrscheinlich anzusehen ist, daß immer mehr zukünftige Software-Entwicklungen sauber in GEM eingebunden sein werden (der Trend geht eindeutig dahin), kann man MultiGEM durchaus eine große Zukunft Voraussagen.

CM/HS

MAXON Computer Schwalbacher Str. 52 W-6236 Eschborn

Aus presserechtlichen Gründen sind wir zu folgendem Hinweis verpflichtet: MAXON Computer als Herausgeber dieser Zeitschrift ist gleichzeitig deutscher Vertrieb des beschriebenen Programms MultiGEM.


Links

Copyright-Bestimmungen: siehe Über diese Seite
Classic Computer Magazines
[ Join Now | Ring Hub | Random | << Prev | Next >> ]