Draußen vor der Tür: Die virtuelle Speicherverwaltung OUTSIDE 3

Die virtuelle Speicherverwaltung OUTSIDE 3 für TT und Falcon

Ein altes chinesisches Sprichwort sagt: Eine Festplatte kennt nur zwei Zustände - formatiert und voll. Ähnliches läßt sich leider auch über den Hauptspeicher moderner PCs sagen. War noch zur Anfangszeit des ATARI ST ein Megabyte weit jenseits von Gut und Böse und jeglichem Intel-Rechner, genügen heute kaum noch derer zwei, um auch nur die gängigsten Programme zufriedenzustellen. Noch kritischer wird die Situation bei Einsatz eines Multitasking-Systems, will man womöglich mehr als ein Programm gleichzeitig laden.

Nun läßt sich zwar ein TT inzwischen auf 256 MByte RAM ausbauen, aber wer will sich das bei einem Preis von ca. 70 DM pro Megabyte leisten? Außerdem ist bei jedem Speicherausbau ein Eingriff in den Rechner notwendig, und wie sieht ein heute erworbener Computer in ein paar Jahren aus, wenn die Programme, wie man unter Windows auf dem PC schon heute beobachten kann, noch länger werden und noch mehr Speicher benötigen?

Die prinzipielle Lösung dieses Problems ist eigentlich nicht neu und wird auf anderen Systemen (UNIX, OS/2, Windows im „Enhanced Mode") schon länger eingesetzt. Das rettende Zauberwort heißt virtuelle Speicherverwaltung und ist jetzt auch dem ATARI-Besitzer zugänglich, zumindest soweit er einen TT oder Falcon030 sein eigen nennt. Auf dem ST(E) ist virtuelle Speicherverwaltung wegen des dort eingesetzten älteren 68000-Prozessors hardwaretechnisch nicht möglich.

Die Lösung heißt „virtuell"

Virtuell bedeutet hier, daß nicht vorhandener Hauptspeicher mit Hilfe von Plattenspeicher simuliert wird. Im Augenblick nicht benötigte Speicherbereiche werden auf die Platte ausgelagert, andere von dort nachgeladen. Die Geschwindigkeit einer solchen Vorgehensweise steigt natürlich mit wachsendem vorhandenem Hauptspeicher und der Geschwindigkeit der Festplatte. Bei einem Preis von 99 DM für OUTSIDE (Updates inklusive neuem Handbuch kosten 40 DM) und von unter 10 DMpro Megabyte neuem Speicher ist so ein preiswerter Speicherausbau möglich, der gleichzeitig ausreichen sollte, um auch speicherhungrigste Software zufriedenzustellen. Dies gilt natürlich nur, soweit man eine genügend große Festplatte besitzt.

Wer nun meint, daß der Einsatz von Plattenspeicher anstelle von Halbleiterspeicher große Geschwindigkeitseinbußen mit sich bringt, der sieht sich positiv getäuscht. Ähnlich wie bei Prozessor-Caches profitieren virtuelle Speicherverwaltungen von der Tatsache, daß die meisten Speicherzugriffe lokal begrenzt sind, sich also immer wieder auf denselben Speicherbereichen abspielen. Die entsprechenden Bereiche befinden sich deshalb in nahezu allen Fällen schon im Hauptspeicher und können ohne Verzögerung angesprochen werden. Erst wenn der Bediener z.B. in MultiTOS ein anderes Programm anwählt, oder wenn ein größeres Bild nachgeladen wird, tritt die Festplatte in Aktion.

Die Installation

OUTSIDE wird mit einem gut SOseitigen Handbuch geliefert, die Software befindet sich auf einer doppelseitigen Diskette. Die Installation erfolgt zwar manuell, gestaltet sich aber recht einfach: Nachdem das eigentliche Programm in den AUTO-Ord-ner der Boot-Partition kopiert wurde, müssen noch mit Hilfe eines Konfigurationsprogramms die Auslagerungspartition ausgewählt und die Größe des simulierten Hauptspeichers eingetragen werden. Nach dem Warmstart ist der virtuelle Speicher aktiv, die hierfür verwendete Festplatten-partition wird aus Sicherheitsgründen von OUTSIDE schreibgeschützt, vorhandene Daten können jedoch problemlos gelesen werden.

Normalerweise wird die standardmäßig vorgenommene Konfiguration für den Betrieb mit OUTSIDE ausreichend sein, es gibt jedoch weitere Einstellmöglichkeiten. So ist die Seitengröße, d.h. die Minimalgröße eines auszulagernden Blocks, variabel. Auch lassen sich inkompatible Programme vor Auslagern schützen, und die Größe des zusätzlich installierten Speichers läßt sich begrenzen. Auch die Größe des von OUTSIDE verwalteten Hauptspeichers läßt sich festlegen, so kann man etwa veranlassen, daß OUTSIDE von den 4 MB TT-RAM eines TTs 2 MB verwendet und mit Hilfe von 10 MB Plattenplatz daraus 10 MB virtuellen Speicher „macht" (man kann sich vorstellen, daß 2 MB Speicher als Cache für 10 MB Plattenspeicher verwendet werden). Wenn man größere Geschwindigkeitseinbußen in Kauf nimmt und „knapp bei Kasse" ist, kann man wahlweise den Plattenplatz zusätzlich zum Hauptspeicher anlegen, in unserem Beispiel wären das dann 12 MB.

Prizipiell wird von OUTSIDE immer sogenanntes „Alternatives RAM" (auch als TT-RAM bezeichnet) simuliert, d.h. RAM, das direkt mit dem Prozessor gekoppelt ist und daher keinen Bildschirmspeicher enthalten kann (man stelle sich vor, der Bildschirm würde auf Platte ausgelagert!). Aus diesem Grund werden nur solche Programme in den von OUTSIDE verwalteten Speicher geladen, die sich „ordentlich" verhalten bzw. neueren Datums sind (alternativer Speicher wurde mit dem TT eingeführt). Alle Programme, die im TT-RAM lauffähig sind, haben auch mit OUTSIDE keine Probleme, die anderen laufen ausschließlich im ST-RAM und werden daher von OUTSIDE sowieso nicht ausgelagert. Insgesamt stellt daher OUTSIDE keine höheren Anforderungen an die Programme als das Betriebssystem selbst. Alles in allem wirkt das Konzept durchdacht und komfortabel und garantiert bestmögliche Kompatibilität. Für besonders kritische Programme existiert sogar ein „Kompatibilitätsmodus", der nicht TT-RAM, sondern ST-RAM unterhalb der 16MB-Grenze simuliert; dieser Modus ist jedoch nur dann notwendig, wenn ältere Programm an dem sogenannten 24-Bit-Syndrom leiden.

Als „Bonbon" kann noch das ROM ins ggf. schreibgeschützte „Shadow"-RAM verlagert werden, was besonders auf dem TT bei Systemaufrufen einen deutlichen Geschwindigkeitszuwachs bringt und außerdem Betriebssystem-Patches ermöglicht. Angesichts der Tatsache, daß NVDI und Multitasking-Systeme wie MultiTOS sowieso im schnellen TT-RAM liegen, ist dies jedoch weniger interessant. Im übrigen läuft MultiGEM mit OUTSIDE zusammen, Mag!X in Versionen nach 1.12; der Systembereich von Mag!X wird sogar von OUTSIDE schreibgeschützt, was zusätzliche Sicherheit für den Anwender und auch den Programmierer bringt. Für das aktuelle MultiTOS ist noch ein Patch notwendig, der in der OUTSIDE-Anleitung beschrieben wird. Um diesen Patch durchzuführen, muß jedoch der Systemkern MiNT neu compiliert werden, so daß der Einsatz unter MultiTOS z.Zt. als nicht praktikabel bezeichnet werden kann. Zukünftige Versionen von MiNT sollen ohne Änderung mit OUTSIDE verträglich sein, generell muß man aber bei MultiTOS in Verbindung mit OUTSIDE auf den Speicherschutz verzichten. Das gilt übrigens für alle Programme, die in ähnlicher Art die MMU programmieren; um dies dennoch zu ermöglichen, muß das von ATARI bisher verwendete Konzept noch einmal gründlich überdacht werden.

Zum Lieferumfang gehört außer der virtuellen Speicherverwaltung noch der komfortable Plattentreiber HDDRIVER (ersetzt den üblichen AHDI und unterstützt auch die Platten des Falcon030), der die neueste XHDI-Spezifikation erfüllt. So werden etwa Wechselplatten optimal unterstützt, der Boot-Vorgang durch Vorgabe der vorhandenen Platten erheblich beschleunigt, Schreibschutz von Partitionen und Verifizieren bei Schreibzugriffen ermöglicht.

Das Handbuch

Die Anleitung ist vollständig, leicht verständlich, dabei jedoch durchaus informativ, und enthält außer den Bedienungshinweisen noch umfangreiche Informationen über Interna und Prinzipien einer virtuellen Speicherverwaltung sowie Beschreibungen der Programmierschnittstellen. Programmierbar ist OUTSIDE mit Hilfe von Cookies, über die man etwa Speicherbereiche sperren, schreibschützen und wieder freigeben kann.

Der Betrieb auf einem TT mit und ohne TT-RAM und schnelle Platte unter Mag!X und TOS verlief gänzlich ohne unangenehme Überraschungen. Ärgerlich machte sich nur die lange Boot-Phase unter TOS bemerkbar, da hier der gesamte (auch der virtuelle) Speicher u.U. mehrmals gelöscht werden muß. Verantwortlich dafür ist die Tatsache, daß dies in früheren TOS-Versionen bei jedem Programmstart passierte, was man seit TOS 1.4 mit einem sogenannten Fastload-Bit verhindern kann. Nun darf aber zumindest das erste Accessory kein gesetztes Fastload-Bit haben, was die Boot-Phase (natürlich nur unter TOS) auch auf dem TT noch unnötig bremst. Nach dem Wiedereinblenden eines Programms unter MaglX dauert es mitunter einige Zeit, ehe der Bildschirm unter heftigen Plattenzugriffen Stück für Stück wieder aufgebaut wird, der Vorgang wird jedoch nie unangenehm lang. Abstürze traten selbst bei gleichzeitiger Verwendung von 13 Programmen und 12 MB virtuellem Speicher auch unter der prä-emptiven Version von MaglX nicht auf.

Fazit

Alles in allem ist OUTSIDE ein einfach zu bedienendes und ausgereiftes Stück Software, das die Arbeit mit einem TT oder Falcon030 erleichtern und die Hardware-Investitionen in Form von RAM-Speicher für die Zukunft niedrig halten kann. Nützlich ist OUTSIDE vor allem für solche Anwender, die sehr große Datenmengen, etwa Bilddateien, verarbeiten müssen oder auch für solche, die ein Multitasking-System wie MultiTOS, Mag!X oder MultiGEM mit vielen Programmen verwenden. Der Preis von 99 DM ist, verglichen mit den allgemein niedrigen Preisen für ATARI- Software, angemessen.

Outside 3

Positiv

Negativ


Andreas Kromke
Aus: ST-Computer 06 / 1993, Seite 48

Links

Copyright-Bestimmungen: siehe Über diese Seite