Befehl: himemsx
HIMEMSX ist ein Fork von HIMEMX. Sein Hauptmerkmal ist, dass es mehr
als 4 GB Speicher verwalten kann. Der Speicher oberhalb der 4-GB-Grenze
wird in diesem Dokument als "super-extended" bezeichnet. Um erweiterten
Speicher unterhalb der 4-GB-Grenze zu nutzen, verwendet HIMEMSX den
sogenannten "unreal"-Modus, wie die meisten anderen XMMs. Speicher
oberhalb der 4-GB-Grenze kann nur über spezielle Paging-Mechanismen er-
reicht werden. HIMEMSX nutzt die PSE-36-Variante. PSE steht für "Page
Size Extension", die 36 bezieht sich auf die ursprüngliche 36-Bit-
Adressierungserweiterung (64 GB), die später auf 40 Bit (1 TB) ausge-
weitet wurde. Die XMS-API muss erweitert werden. Siehe XMS35.txt für
Details. Im v86-Modus benötigt der XMM Unterstützung durch das v86-
Monitor-Programm, um auf erweiterten Speicher zuzugreifen, da er den
dafür erforderlichen privilegierten Code nicht ausführen kann. Derzeit
bietet nur JEMM386 diese Unterstützung.
Syntax:
HIMEMXS ist ein Gerätetreiber, der in der CONFIG.SYS / FDCONFIG.SYS
geladen werden muss. Setzen Sie:
DEVICE=HIMEMSX.EXE [Optionen]
VOR jeden Treiber, der XMS verwendet!
Optionen: /MAX=### /METHOD:xxx /HMAMIN=n /NUMHANDLES=m /V /X2MAX32
/SUPERMAX=###
Optionen:
/MAX=### Begrenzt den vom XMM verwalteten Speicher auf ###K. Die
HMA ist von diesem Wert nicht betroffen, sie ist immer
enthalten.
/METHOD:xxx Legt die Methode zur Steuerung der A20-Leitung fest.
Mögliche Werte für xxx:
ALWAYSON Geht davon aus, dass die A20-Leitung permanent EIN ist.
BIOS Verwendet das BIOS zum Umschalten der A20-Leitung.
FAST Verwendet Port 92h, umgeht den INT-15h-Test.
PS2 Verwendet Port 92h, umgeht den PS/2-Test.
KBC Verwendet den Tastaturcontroller.
PORT92 Verwendet immer Port 92h.
/HMAMIN=n Legt die minimale Anzahl von KBs der HMA fest, die ein
Programm anfordern muss, um Zugriff auf die HMA zu er-
halten (Standard: 0 KB).
/NUMHANDLES=m Legt die Anzahl der XMS-Handles fest (Standard = 48,
min. = 8, max. = 128).
/SUPERMAX=### Begrenzt den vom XMM verwalteten super-er-
weiterten Speicher auf ###K.
/V Gibt zusätzliche Informationen aus.
/X2MAX32 Begrenzt den freien/verfügbaren XMS-2.0-Speicherbericht
auf 32M-1K.
Kommentar:
Einschränkungen:
- Die maximale Speichergröße, die die XMS-API verwalten kann, beträgt
4 TB (42 physische Adressleitungen). Da HimemSX jedoch derzeit 32-
Bit-Paging mit PSE-36 in seiner Block-Move-Funktion verwendet, liegt
die effektive Grenze bei 1 TB (40 Adressleitungen).
- Die Funktion "move extended memory" (0Bh) versteht nur 32-Bit-Off-
sets. Wenn ein Speicherblock größer als 4 GB ist, kann diese Funk-
tion nicht verwendet werden, um Speicher jenseits eines 4-GB-Offsets
zu kopieren.
- Falls kein super-erweiterter Speicher gefunden wird oder die CPU
kein PSE-36-Paging unterstützt, wird HimemSX dennoch geladen und
verhält sich wie ein v3-XMM. Allerdings sucht es nach erweitertem
Speicher nur über Int 15h, ax=e820h, ohne auf ältere Erkennungs-
strategien zurückzugreifen, falls dieser Aufruf fehlschlägt.
Weitere Informationen finden Sie unter:
https://github.com/Baron-von-Riedesel/HimemSX/blob/master/Readme.txt
ODER:
https://gitlab.com/FreeDOS/drivers/himemsx/-/tree/main/DOC/HIMEMSX
Beispiel:
Vgl. auch die Links im Bereich "Kommentar" weiter oben.
Siehe auch:
config.sys/fdconfig.sys
devload
(fdxms)
(fdxms286)
himemx
jemm386
jemmex
xmgr
FD Himem is copyright Till Gerken and Tom Ehlert, with GPL and/or
Artistic license.
Diese Datei ist abgeleitet vom FreeDOS Spezifikationen-HOWTO.
Vgl. auch die Datei H2Cpying bezüglich der Kopierbedingungen.