| Zeile 34: | Zeile 34: | ||
* ''Extended Memory Blocks'' beginnen nach dem Ende der HMA. Die API erlaubt es, im erweiterten Speicher Blöcke zu reservieren, freizugeben und Daten hinein/heraus zu kopieren (die Speicherverwaltung schaltet dazu kurzzeitig in den [[Protected Mode]]). Eine direkte Adressierung des Speichers ist im Real Mode nicht möglich, so dass die API-Funktion zum Kopieren der Daten in den konventionellen Speicher benutzt werden muss bevor mit dem Inhalt gearbeitet werden kann. Darüber hinaus kann so ein Extended Memory Block auch gelockt werden was ihn in seiner Größe unveränderlich macht aber dafür auch als nicht verschiebbar deklariert. Von einem gelockten EMB bekommt man auch die physische Adresse und kann ihn so für eigene Protected Mode Spielchen benutzen (alle DOS-Extender machen das so wenn sie auf einem DOS-System gestartet werden in dem nur himem.sys aber nicht emm386.exe läuft). | * ''Extended Memory Blocks'' beginnen nach dem Ende der HMA. Die API erlaubt es, im erweiterten Speicher Blöcke zu reservieren, freizugeben und Daten hinein/heraus zu kopieren (die Speicherverwaltung schaltet dazu kurzzeitig in den [[Protected Mode]]). Eine direkte Adressierung des Speichers ist im Real Mode nicht möglich, so dass die API-Funktion zum Kopieren der Daten in den konventionellen Speicher benutzt werden muss bevor mit dem Inhalt gearbeitet werden kann. Darüber hinaus kann so ein Extended Memory Block auch gelockt werden was ihn in seiner Größe unveränderlich macht aber dafür auch als nicht verschiebbar deklariert. Von einem gelockten EMB bekommt man auch die physische Adresse und kann ihn so für eigene Protected Mode Spielchen benutzen (alle DOS-Extender machen das so wenn sie auf einem DOS-System gestartet werden in dem nur himem.sys aber nicht emm386.exe läuft). | ||
| − | Mit dem ''Expanded Memory'' (EMS) stellt emm386.exe einen anderen Mechanismus zur Verfügung, um auf hohen Speicher zuzugreifen. Dazu wird mindestens ein 386er benötigt, denn der Prozessor wird dazu dauerhaft in den 32-Bit-Protected-Mode geschaltet, so dass [[Paging]] verfügbar ist und hoher Speicher pageweise in das erste Megabyte des virtuellen Adressraums eingeblendet werden kann. Dadurch wird das bei XMS nötige Kopieren vermieden. Das eigentliche System und alle Programme laufen mit emm386.exe im [[VM86]]-Modus. | + | Mit dem ''Expanded Memory Specification'' (EMS) stellt emm386.exe einen anderen Mechanismus zur Verfügung, um auf hohen Speicher zuzugreifen. Dazu wird mindestens ein 386er benötigt, denn der Prozessor wird dazu dauerhaft in den 32-Bit-Protected-Mode geschaltet, so dass [[Paging]] verfügbar ist und hoher Speicher pageweise in das erste Megabyte des virtuellen Adressraums eingeblendet werden kann. Dadurch wird das bei XMS nötige Kopieren vermieden. Das eigentliche System und alle Programme laufen mit emm386.exe im [[VM86]]-Modus. |
==Weblinks== | ==Weblinks== | ||