Viele Wege fuehren ins Upper Memory Mit Memmaker und Co. gegen die leidige Platznot im RAM

17.06.1994

Von Joerg Schieb*

Der Arbeitsspeicher zaehlte immer schon zu den Problemkindern von DOS. Seit Version 6.0 stellt Microsoft ueber das Hilfsprogramm "Memmaker" eine passable Speicherverwaltung bereit: Damit laesst sich Raum schaffen - doch es gibt nichts, was nicht noch zu verbessern waere.

Zur Optimierung des Arbeitsspeichers unter MS-DOS reicht es nicht aus, den Rechner aufzuschrauben und eine Speichererweiterung einzustecken. Viel wichtiger ist es, den Arbeitsspeicher optimal zu nutzen. Was optimal ist, haengt jedoch von der Hardware ab und auch davon, wofuer der Rechner eingesetzt wird: Ist nur MS-DOS installiert oder auch Windows? Soll im Netz gearbeitet werden? Kommt es auf die Arbeitsgeschwindigkeit (Performance) oder auf moeglichst viel verfuegbaren Arbeitsspeicher an? Fragen wie diese muessen beantwortet werden, erst dann laesst sich der Arbeitsspeicher so anpassen, dass er fuer die individuellen Beduerfnisse einzelner Anwender gerecht wird.

Wie der Arbeitsspeicher konfiguriert und verwendet wird, haengt vor allem von den Systemdateien Config.sys und Autoexec.bat ab. Besonders wichtig sind auch die Geraetetreiber Himen.sys und Emm386.exe: Sie entscheiden darueber, welche Speicherarten zur Verfuegung gestellt werden - und wie.

Den Speicher ohne Vorkenntnisse optimieren

Nun ist es so, dass rund 90 Prozent aller PC-Benutzer nur ungern Hand an die Systemdateien legen. Dies liegt zum einen darin, dass das Risiko eines Systemabsturzes nach der Manipulation der Dateien relativ hoch ist. Andererseits war die Einstellung von Autoexec.bat und Config.sys bislang relativ zeitaufwendig. Seit MS-DOS 6.0 gibt es deshalb einen Befehl, der relativ gute Arbeit leistet, wenn es darum geht, den Arbeitsspeicher zu optimieren: "Memmaker".

Man braucht im Grunde keine Vorkenntnisse, um Memmaker einzusetzen. Fuer eine perfekte Konfiguration sind zwar nach wie vor manuelle Eingriffe noetig - das Utility erledigt aber schon eine ganze Menge automatisch.

Memmaker optimiert ausschliesslich den konventionellen Speicher, der fuer DOS-Anwendungen bekanntlich besonders wichtig ist, da sich hierin alles Wesentliche abspielt: Im konventionellen Speicher werden alle DOS-Programme geladen und auch deren Daten gespeichert. Deshalb muss moeglichst viel konventioneller Speicher zur Verfuegung stehen.

Der konventionelle Arbeitsspeicher wird entlastet, indem Teile des Betriebssystems in die sogenannten "hohen" Speicherbereiche verlagert werden. So lassen sich zum Beispiel die Plattenpuffer (BUFFERS-Befehl) dorthin verschieben. Speicherresidente Anwendungen (auch TSR-Programme genannt), einige residente DOS- Befehle und vor allem Geraetetreiber koennen ebenfalls in den hohen Speichern abgelegt werden, ohne dass ihre Funktionalitaet dadurch beeintraechtigt wuerde.

Grundvoraussetzung ist allerdings, dass in den hohen Speicherbereichen, High Memory Area (HMA) und Upper Memory Blocks (UMB) genannt, genuegend Platz zur Verfuegung steht und die Installation der Programme und Treiber in die hohen Speicherbereiche zudem durch die Anweisung "DOS=HIGH, UMB" angeordnet wurde.

Memmaker hilft den Arbeitsspeicher zu organisieren, um moeglichst viel konventionellen Speicher fuer DOS-Anwendungen freizuschlagen. Dabei nimmt die Software alle notwendigen Korrekturen an den Systemdateien Config.sys und Autoexec.bat selbstaendig und automatisch vor.

Dazu analysiert Memmaker jeden Geraetetreiber und jedes speicherresident installierte Programm daraufhin, ob sie sich ueberhaupt in den hohen Speicherbereich (Upper Memory) auslagern lassen. Ausserdem wird der tatsaechliche Speicherbedarf ermittelt. Danach legt das Utility die optimalen Startadressen fuer alle verwendeten Geraetetreiber und speicherresidenten Anwendungen fest und definiert diese mit Hilfe der Option /L bei jedem Devicehigh- und Loadhigh-Befehl. Zudem werden etwaige Korrekturen am Geraetetreiber EMM386 vorgenommen, damit die Konfiguration wirklich optimal ist. Auch die Anweisung DOS= wird, falls noetig, automatisch korrigiert.

Allerdings behaelt Memmaker die vom Benutzer vorgegebene Reihenfolge von Geraetetreibern und speicherresidenten Anwendungen bei. Was viele nicht wissen: Die Reihenfolge kann entscheidend fuer das Ergebnis einer Konfiguration sein. Erfahrungsgemaess ist es am effektivsten, groessere Geraetetreiber vor kleineren zu laden, allerdings nur dann, wenn man sie mittels Devicehigh in den hohen Speicherbereich verlagert. Sollten hier Korrekturen erforderlich werden, sind diese manuell vorzunehmen. Memmaker macht diesbezueglich jedoch keine Vorschlaege. Notfalls muessen einfach ein paar unterschiedliche Reihenfolgen ausprobiert werden.

Wer einen PC besitzt, der wenigstens mit einem 80386-Prozessor ausgestattet ist und ueber Extended Memory verfuegt, kann mit Hilfe von Memmaker sehr wahrscheinlich zusaetzlich konventionelle Arbeitsspeicher gewinnen.

Zum Ermitteln der optimalen Konfiguration wird der Rechner insgesamt zweimal neu gestartet. Das ist noetig, um das Verhalten von MS-DOS auf entsprechende Korrekturen an den Geraetetreibern und speicherresidenten Anwendungen zu studieren. Memmaker testet intern alle (!) moeglichen Konfigurationen - unter Umstaenden mehr als 20 000 - und ermittelt dadurch die fuer den jeweiligen PC optimale Konfiguration. Meist dauert das nur wenige Augenblicke.

Memmaker optimiert Autoexec.bat und Config.sys

Nach der eigentlichen Optimierung koennen sich die Optionen des Geraetetreibers EMM386 veraendern. Ausserdem besteht die Moeglichkeit, dass aus Device-Befehlen entsprechende Devicehigh-Anweisungen werden und umgekehrt. Auffallend ist, dass alle DEVICEHIGH- Anweisungen mit einer zusaetzlichen Option /L versehen sind, die genau festlegt, wo der Geraetetreiber ins Upper Memory geladen werden soll - was der Optimierung dieses Speicherbereichs dient.

Auch die Autoexe.bat-Datei bleibt nicht verschont. Vor dem Starten speicherresidenter Anwendungen kann sich nach dem Aufruf von Memmaker die LH-Anweisung (Loadhigh) befinden, um das betreffende Programm ins Upper Memory zu laden. Die Anweisungen werden dazu ebenfalls mit der Option /L versehen, um die genaue Ladeadresse festzulegen.

Bevor es losgeht, sind ein paar Vorbereitungen zu treffen. Um den Optimierungsprozess zu unterstuetzen, sind folgende Dinge unbedingt zu beruecksichtigen:

-Entfernen Sie alle nicht wirklich notwendigen Geraetetreiber und speicherresidenten Anwendungen aus den beiden Systemdateien Config.sys und Autoexec.bat.

-Beenden Sie alle Anwendungen, die moeglicherweise aktiv sind; entfernen Sie speicherresidente Anwendungen, die manuell gestartet wurden, aus dem Arbeitsspeicher.

- Sofern Sie gewoehnlich mit speicherresidenten Anwendungen arbeiten, sollten Sie diese auch in den Optimierungsprozess integrieren. Arbeiten Sie beispielsweise im Netz, so starten Sie dieses, bevor Sie Memmaker aufrufen.

Das Hilfsprogramm laesst sich mit dem Befehl Memmaker starten. Es erscheint ein Begruessungsbildschirm mit einigen Erlaeuterungen. Wann immer Memmaker eine Auswahl anbietet - meist erscheinen diese in gelber Farbe -, koennen Sie mit Hilfe der Leertaste zwischen den Moeglichkeiten wechseln.

Sie haben nun die Wahl: Mit dem Express-Setup wird der Arbeitsspeicher vollautomatisch optimiert. Wenn Sie sich fuer das benutzerdefinierte Setup entscheiden, dann koennen Sie einige Einstellungen vornehmen, die den Optimierungsprozess beeinflussen.

Speicheroptimierung mit dem Express-Setup

Wer in Sachen Speicherverwaltung eher unerfahren ist, sollte die Vorzuege des vollautomatischen Express-Setups nutzen. Versierte und neugierige Anwender sollten dagegen das benutzerdefinierte Setup verwenden. Damit lassen sich in manchen Faellen noch ein paar Byte mehr freischlagen.

Wenn Sie den Arbeitsspeicher mit Hilfe von Memmaker optimieren, gehen Sie am besten Schritt fuer Schritt vor:

1. Starten Sie Memmaker, und waehlen Sie den Eintrag "Express- Setup".

2. Beantworten Sie die Frage, ob Sie Programme einsetzen, die das Expanded Memory benutzen. Sollte das der Fall sein, muss Memmaker den Geraetetreiber EMM386 entsprechend konfigurieren. Im Zweifelsfall waehlen Sie "nein" - diese Einstellung laesst sich bei Bedarf immer noch korrigieren.

3. Sofern Sie angegeben haben, dass das Expanded Memory benoetigt wird, ermittelt Memmaker, ob Sie auch Windows einsetzen. Wenn ja, sind eventuell zusaetzliche Angaben erforderlich - es erscheint dann eine weitere Dialogbox (nicht immer).

4. Danach meldet das Programm, dass der Rechner neu gestartet wird, um die notwendige Analyse unter "Startbedingungen" durchzufuehren. Entfernen Sie alle Disketten aus den Laufwerken, und bestaetigen Sie durch die Eingabetaste. Uebrigens: Sollten sich beim Rechnerneustart Probleme ergeben, ist das kein Grund zur Panik. Ein weiterer Neustart beseitigt die Schwierigkeiten. Achten Sie auch auf eventuelle Hinweise von Memmaker, wie das Problem in den Griff zu bekommen ist.

5. Nach dem ersten Rechnerneustart wird die optimale Systemkonfiguration ermittelt - was meist nur ein paar Sekunden dauert. Danach werden die Informationen in die beiden Systemdateien geschrieben. Anschliessend ist wieder ein Neustart erforderlich. Bestaetigen Sie auch diese Dialogbox durch die Eingabetaste.

6. Beim erneuten Start des Rechners sollten Sie auf Ungewoehnliches achten: etwa Meldungen, die darauf hindeuten, dass ein Geraetetreiber Schwierigkeiten bei der Installation hat. Das gestaltet sich mitunter als etwas schwierig, da die Meldungen schnell ablaufen, versuchen sollten Sie es aber dennoch.

7. Scheint alles perfekt, bestaetigen Sie die Dialogbox. Hat es jedoch Probleme gegeben, dann druecken Sie die Leertaste, und bestaetigen Sie.

8. Sollten Sie einen Hinweis erhalten, dass Ihr System schon optimal war, laesst sich moeglicherweise durch einen manuellen Eingriff noch etwas erreichen: Kein Hilfsprogramm ist dem Menschen ueberlegen.

9. Beenden Sie die Arbeit mit Memmaker durch die Eingabetaste.

Nun besteht die Moeglichkeit, die beiden Systemdateien Config.sys und Autoexe.bat wiederherzustellen, damit etwaige Korrekturen von Memmaker nicht uebernommen werden. Je nachdem, ob die Konfiguration vorher schon optimal war, betaetigen Sie dazu die Tasten <Eingabe> oder <Esc>. Achten Sie dabei auf die Statuszeile von Memmaker.

Zwar lassen sich mit Hilfe des Express-Setups in den meisten Faellen zufriedenstellende Ergebnisse erzielen, doch erreicht man manchmal mit dem benutzerdefinierten Setup noch mehr, weil sich der obere Speicherbereich noch aggressiver optimieren laesst. Folgende Vorteile koennen mit einem individuellen Setup erreicht werden:

- Falls Sie mit einer EGA- oder VGA-Karte (nicht Super-VGA) arbeiten, laesst sich der fuer die monochrome Darstellung reservierte Speicherbereich auf der Karte nutzen. Aktivieren Sie dazu die Option "Verwendung des Monochrombereichs (B000-B7FF) fuer Anwendungen".

- Starten Sie DOS-Anwendungen manchmal von Windows aus, aktivieren Sie die Option "Optimierung der hohen Speicherbereiche fuer Windows", es erscheint dann ein "Ja", anderenfalls waehlen Sie "No".

- Sofern ein Geraetetreiber oder ein residentes Programm Schwierigkeiten bei der Optimierung macht, aktivieren Sie die Option "Angeben der in der Optimierung beruecksichtigten Treiber/ TSR" und geben das Programm oder den Geraetetreiber an. Memmaker wird diese dann von der Optimierung ausschliessen.

Nachdem Sie das Optimierungs-Tool gestartet haben, waehlen Sie den Eintrag "Benutzerdefiniertes Setup" aus und beantworten die diversen Fragen am Bildschirm. Wenn Sie sich schon ein wenig mit der Speicherverwaltung von PCs auskennen, wird Ihnen das keine Schwierigkeiten bereiten.

Uebrigens sollten Sie Memmaker immer dann neu aufrufen, wenn Sie einen Geraetetreiber entfernt oder hinzugefuegt haben. Dasselbe gilt fuer residente Anwendungen und Befehle oder fuer den Fall, dass sich irgend etwas an der Speicherausstattung geaendert hat. Da Memmaker normalerweise sehr schnell und effektiv arbeitet, sollte das kein Problem sein.

Smartdrive reduziert den benoetigten Pufferwert

Weitere manuelle Optimierungsmoeglichkeiten lassen sich beispielsweise mit Smartdrive realisieren. Sollten Sie dieses verwenden, um Festplattenzugriffe zu beschleunigen, ist der Wert der Buffers-Anweisung moeglichst gering zu waehlen. Werden alle Festplatten und CD-ROM-Laufwerke von Smartdrive auf Touren gebracht, definieren Sie am besten maximal fuenf Puffer: Buffers=5

Selbst kleinere Werte sind denkbar (bis drei) beziehungsweise empfehlenswert. Anderenfalls sollten maximal zehn Puffer ausreichen. Die durch BUFFERS eingerichteten Zwischenspeicher (Puffer) haben aehnliche Aufgaben wie Smartdrive: Darin werden von Diskette oder Festplatte gelesene Informationen zwischengespeichert. Benutzt man beide Optionen, also Smartdrive und Buffers, bremsen sich die beiden aus.

Noch ein wichtiger Tip: Wollen Sie zwischenzeitlich mit Doublespace ein komprimiertes Laufwerk einrichten, sollten Sie zuvor den Wert von BUFFERS wieder erhoehen. Wenn Doublespace ein neues Laufwerk definiert, wird der Rechner neu gestartet und die Systemdatei Autoexe.bat ignoriert; entsprechend wird auch Smartdrive nicht ausgefuehrt. Das ist zwar kein Beinbruch, aber die Einrichtung des Doublespace-Laufwerks laesst sich mit einem hoeheren BUFFERS-Wert beschleunigen - danach koennen Sie ihn wieder nach unten korrigieren. Auf den Befehl Fastopen sollte man verzichten, wenn Smartdrive verwendet wird. Es gibt naemlich nur relativ wenige Situationen, in denen Fastopen noch einen Geschwindigkeitsvorteil mit sich bringt.

Es entlastet den konventionellen Arbeitsspeicher, wenn Treiber und residente Anwendungen in die oberen Speicherbereiche geschoben werden. Dazu dient die Anweisung Devicehigh in der Config.sys. MS- DOS laedt den angegebenen Treiber dann wie erwaehnt in den oberen Speicher (Upper Memory), das heisst in den Speicherbereich zwischen 640 KB und 1 MB.

EMM 386 ist in Verbindung mit NOEMS empfehlenswert

Wichtig ist, dass die verschiebbaren Sektoren von Doublespace auch wirklich im Upper Memory landen. Normalerweise geschieht dies automatisch, wenn Doublespace installiert wird (Memmaker kuemmert sich nicht darum). Kontrollieren Sie deshalb, ob die folgende Doublespace-Anweisung in Config.sys mit der Option /MOVE versehen ist. Sie veranlasst, dass einige Verwaltungsbereiche von Doublespace in die Upper Memories verlegt werden:

Devicehigh=c:

dos

dblspace.sys /move

Auch wichtig: Beim Laden von EMM386 sollten Sie die Option NOEMS verwenden. Nur dann ist sichergestellt, dass EMM386 keine Speicherbereiche fuer Expanded Memory (EMS) reserviert, das heute kaum noch benoetigt wird. Der dazugehoerige Befehl lautet

DEVICE=c:

dos

emm386.exe noems

Den Treiber EMM386.EXE sollten Sie moeglichst frueh laden, damit nachkommende Anweisungen in Config.sys bereits mit Devicehigh den oberen Speicherbereich nutzen. Am besten wird EMM386 unmittelbar hinter der Installation von Himem.sys plaziert.

Damit MS-DOS den durch HIMEM bereitgestellten hohen Speicher (HMA) und den optional durch EMM386 verfuegbaren oberen Speicherbereich (Upper Memory) verwenden kann, muss in Config.sys abermals eine entsprechende Anweisung definiert werden. Sie wird wie folgt definiert:

DOS=HIGH,UMB

Nur mit dieser Anweisung ist MS-DOS bereit, auch eigene Informationen (etwa Zwischenspeicher) im hohen beziehungsweise oberen Speicherbereich abzulegen um somit moeglichst viel konventionellen Speicherplatz zu schaffen. Sie kann an jeder beliebigen Stelle in der Konfigurationsdatei stehen darf allerdings keinesfalls fehlen.

Optimierungstips fuer Windows-Benutzer

Wer mit Windows arbeitet, hat andere Ansprueche an die Speicherkonfiguration als reine MS-DOS-Anwender - allerdings muss man seine Wuensche trotzdem in den DOS-Konfigurationsdateien definieren.

Wer einen Farbmonitor einsetzt, kann einen fuer Monochrommonitore reservierten Speicherbereich explizit fuer Windows nutzen, indem die Option I= verwendet wird:

DEVICE=c:

dos

emm386.exe noems ram I=B000-B7FF

Darueber hinaus fuegen Sie in der Sektion [386Enh] in der Systemdatei SYSTEM.INI folgende Anweisung ein:

device=c:

dos

monoumb.386

Memmaker mit mehreren Konfigurationen

Sollten Sie von den neuen Moeglichkeiten der sogenannten Multiple- Boot-Option Gebrauch machen, also beim Rechnerstart verschiedene Konfigurationen anbieten, dann sind bei der Verwendung von Memmaker einige Punkte zu beherzigen:

1. Idealerweise fertigen Sie fuer jede moegliche Konfiguration ein entsprechendes Systemdateienpaar von Autoexe.bat und Config.sys an. Die multiple Konfigurationsdatei ist also entsprechend in die einzelnen Bloecke aufzuteilen.

2. Danach starten Sie Memmaker fuer jede dieser Konfigurationen separat. Speichern Sie die Ergebnisse getrennt.

3. Anschliessend fuegen Sie die separaten Konfigurationen wieder in einer einzelnen Systemdatei Config.sys und einer Autoexe.bat-Datei zusammen.

Sofern Sie Memmaker benutzen, ohne darauf Ruecksicht zu nehmen, dass es mehrere Konfigurationen gibt, hat das zur Folge, dass die Konfiguration nicht wirklich optimal ist. Darueber hinaus werden sich niemals alle Geraetetreiber und speicherresidenten Programme laden lassen, da bei den zwei Rechnerneustarts nicht alle Konfigurationen beruecksichtigt werden.

*Joerg Schieb ist freier Journalist in Moenchengladbach.