GRUNDLAGEN

Start
Vorwort
Inhalt
Glossar
Der PC
Wie geht was
Die CPU
Chipsatz
Arbeitsspeicher
Rechnerstart
Festplatten
Betriebssysteme
Bussysteme
SCSI
Peripherie
RAID
Netzwerke
Rechnerkauf
Troubleshooting
Download
Gästebuch
Suchen

Allgemeines zu DOS ] DOS Kommandos ] Speichergrenzen unter DOS ] Die Geschichte von DOS ]

Erweiterungsspeicher

Speicheradressierung unter DOS

Seit jeher war und ist das Hauptproblem von DOS der Umgang mit dem Arbeitsspeicher. Die ersten DOS Versionen entstammen ja bekanntlich aus einer Zeit, als Speicher sündhaft teuer und daher rar war. Daher wurde ein Hauptspeicher von 640 Kilobytes für groß genug gehalten.

Im Gegensatz zu anderen Rechnern, in denen der gesamte Arbeitsspeicher durchgehend adressierbar ist, schlägt sich DOS noch heute mit den Irrtümern der Vergangenheit herum. So läuft auch heute noch direkt nach den ersten 650 Kilobytes eine Adressleitung quer durch den Arbeitsspeicher (A-20 Gate) die früher für diverse Steuerungsaufgaben vonnöten war.

Dazu kommt, dass man den restlichen Arbeitsspeicher nicht direkt ansprechen kann, sondern sich diverser Hilfsmittel bedienen muss. Die Rede ist von Expansionsspeicher (EMS) und Erweiterungsspeicher (XMS)

Expansionsspeicher (Expanded Memory, EMS)

Eine Möglichkeit zu dem System Arbeitsspeicher über 640 Kilobytes hinaus hinzuzufügen, ist die Installation von EMS. Ein Programm das EMS benutzen kann, hat keinen direkten Zugriff auf die darin enthaltenen Informationen. Statt dessen wird EMS in Segmente von 16 Kilobytes, den sogenannten Seiten, unterteilt. Wenn ein Programm Informationen anfordert, die sich im EMS befinden, kopiert der EMM 4 x 16-KByte-Seiten in einen 64-KByte-Speicherbereich im konventionellen Arbeitsspeicher (Bank-Switching). Dieser 64-KByte-Bereich wird Seitenrahmen genannt. Ein Programm enthält seine Informationen aus dem Seitenrahmen.

Der über Bank-Switching vom EMM zur Verfügung gestellte zusätzliche Speicherraum EMS kann nur von Programmen genutzt werden, die für die Nutzung des EMS programmiert wurden.

Erweiterungsspeicher (Extended Memory, XMS)

Erweiterungsspeicher (Extended Memory, XMS) Unter MS-DOS lässt sich standardmäßig nur ein 1 MByte im "Real-Mode" ansprechen. D.h. der konventionelle Arbeitsspeicher von bis zu 1 MByte ist durch die Prozessoren direkt adressierbar. Bei Maschinen mit Prozessoren ab 80386/80486 lässt sich mehr als 1 MByte durch den Chip adressieren.

Der Bereich zwischen 0 und 640 KByte ist für das normale DOS-RAM reserviert. Ab 640 KByte bis 1 MByte finden sich Grafikadapter, Netzwerkkarten und die BIOS-ROMs von Festplatten und dem System. Das bedeutet, dass die restlichen 384 KByte bei Systemen mit 1-MByte-RAM (oder mehr), nicht im 1-MByte-Adreßraum abgebildet werden dürfen. Dieser Bereich wird als "hoher Speicherbereich" bezeichnet. Der hohe Speicherbereich zählt nicht zum Gesamtspeicher, weil Programme dort keine Informationen speichern können.

In der Regel wird deshalb der restliche RAM-Bereich in den Adressraum oberhalb 1 MByte abgelegt. Dieser Bereich wird als "Extended Memory" bezeichnet. DOS nutzt diesen Bereich durch transferieren von Daten zwischen den DOS Puffern (Buffer) im 640-KByte-RAM und der RAM-Disk im Extended-Memory. Hierfür lässt sich der DMA-Controller benutzen, der auf den gesamten 16-MByte-Adreßraum zugreift. VDISK programmiert den Controller so, dass er Daten zwischen den Speicherbereichen transferiert. Um zu verhindern, dass verschiedene Programme denselben Teil des Erweiterungsspeichers gleichzeitig belegen, muss der Erweiterungs-Manager (HIMEM) installiert werden.

Normalerweise wird MS-DOS im konventionellen Arbeitsspeicher ausgeführt. Wenn das System über XMS verfügt, kann MS-DOS darin ausgeführt werden. Dabei benutzt es die ersten 64 KByte des XMS, die als der "obere Speicherbereich (High-Memory-Area - HMA)" bezeichnet werden. Weil nur wenige Programme den "HMA" benutzen, ist es sinnvoll, MS-DOS dort auszuführen, so dass mehr konventioneller Arbeitsspeicher zur Verfügung steht.

Um dies zu erreichen muss in der in der Datei CONFIG.SYS

DEVICE = HIMEM.SYS

DOS = HIGH

stehen. Diese Befehle laden zuerst den Erweiterungsspeicher-Manager HIMEM und anschließend MS-DOS in den Erweiterungsspeicher.

Anmerkung:

Wie bereits angemerkt, gibt es solche Speichergrenzen nur unter den DOS Systemen und unter Windows ( 9.X ). Wer einmal mit anderen Betriebssystemen die solche Grenzen nicht kennen gearbeitet hat, dem kommen solche Engpässe unverständlich vor. Bereits solche angeblichen "Spielerechner" wie Amiga und Atari hatten diese Krankheiten nicht mehr und konnten für richtige Aufgaben eingesetzt werden.

Allgemeines zu DOS ] DOS Kommandos ] Speichergrenzen unter DOS ] Die Geschichte von DOS ]

 

Bitte senden Sie Ihre Kommentare an Markus Fischer© 1998 - 2002 by Fischer's-Netz