Der XMS-Standard

last update: 06/2003

Unter MS-DOS (im Real Mode) liegen einem Programm lediglich die legendären 640KByte zur Verfügung. Im Idealfall! Um mehr zugänglich zu machen, wurden zahlreiche Tricks erfunden, doch der einzige Weg ging und geht durch den Protected Mode.

An dieser Stelle tritt der XMS-Standard, realisert in der Regel durch den Treiber HIMEM.SYS, in Erscheinung. Er unterstützt:

die Extended Memory Blocks (EMB), der eigentliche Extended Memory, jenseits der 1MB
Der Löwenanteil des RAMs, den es zu erobern gilt, liegt jenseits der 1MB in den EMBs - der Extended Memory. Um hierauf zugreifen zu können, schaltet HIMEM in den Protected Mode, kopiert den angeforderten Speicherbereich in den konventionellen Speicher und schaltet wieder zurück in den Real Mode.
die sogenannte High Memory Area (HMA): 64 KB von 1024KB - 1088KB
Startet man einen PC, so arbeiten am Datentransport RAM-Prozessor 20 Adressleitungen. Der XT verfügt auch nur über diese 20 Leitungen (A0-A19). Ab dem 286er sind mehrerer Leitungen vorhanden. Die größte 20bit Zahl ist FFFFFh, jedoch kann man mittels Real-Mode-Adressierung theoretisch noch FFF0h Bytes weitergehen, jedoch ist dafür besagte A20 notwendig. Diese ist aber nicht freigeschaltet und es kommt zum Überlauf und man kommt wieder bei 0000:0000 an. Diesen Überlauf benötigen manche alten Programme. Um diesen Speicherbereich zu benutzen, muß man also A20 freischalten.
die Upper Memory Blocks (UMB), Blocks im Bereich zwischen 640 und 1024 KByte.
Die UMBs sind Blöcke zwischen 640 und 1024KByte, die von HIMEM zugänglich gemacht werden.