QEMM
| QEMM | |
|---|---|
| Basisdaten | |
| Entwickler | Quarterdeck Office Systems |
| Aktuelle Version | 9.02 (29. Juli 1997) |
| Betriebssystem | DOS, Windows 9x |
| Lizenz | proprietär, EULA |
| deutschsprachig | ja |
| nicht mehr verfügbar | |
QEMM – eine Abkürzung für Quarterdeck Expanded Memory Manager; auch QEMM386 bzw. QEMM-386 – ist ein Speichermanager für PC-kompatibles DOS von Quarterdeck Office Systems. In den ersten Versionen war QEMM Teil von DESQview, einem Taskswitcher für PC-kompatibles DOS.
Ab Version 5 ist in QEMM ein VCPI-Server enthalten, der von DOS-Extendern zur Überwindung der Speicherlimitierung unter DOS verwendet werden kann und mit DESQview kompatibel ist, was allerdings einen Intel 80386-Prozessor oder besser voraussetzt.
Gemeinsam mit dem Konkurrenzprodukt 386Max war QEMM in den späteren 1980er und den frühen 1990er Jahren eine populäre kostenpflichtige Ergänzung unter MS-DOS und PC DOS auf IBM-kompatiblen PCs.[1]
Entwicklung
[Bearbeiten | Quelltext bearbeiten]Quarterdeck entwickelte in den 1980er Jahren den DOS-Taskswitcher DESQview, der das Umschalten zwischen mehreren DOS-Programmen erlaubt. DOS-Programme waren damals großteils auf den Konventionellen Speicher beschränkt – damit dieser „DOS-Speicher“ für diese Programme nutzbar blieb, wurde jeglicher zusätzlich verfügbare Speicher angezapft, um darin Teile von DESQview auszulagern. So war DESQview das erste DOS-Programm, das auf PCs mit mindestens 80286-Prozessor (wie dem PC/AT) den Hohen Speicherbereich (HMA, High Memory Area) verwendete, noch bevor dieser so genannt wurde: es war anfangs ein Programmiertrick, der eine Besonderheit des segmentierten Speicherzugriffs im Real Mode ausnutzt, um die ersten 65520 Bytes des Erweiterten Speichers nutzbar zu machen.[2] Unter bestimmten Umständen ist auch die Nutzung von freien Speicherblöcken des Oberen Speicherbereichs (UMA, Upper Memory Area, nutzbare Upper Memory Blocks bzw. UMBs) sowie der bereits Mitte der 1980er Jahre standardisierte Speichertyp EMS durch DESQview und dessen Speichermanager nutzbar.
Es kam jedoch zu Problemen, als auch weitere Programme die zusätzlichen DOS-Speichertypen nutzen können wollten. Beispielsweise legte Microsofts Windows 2.10 den DOS-Speichermanager HIMEM.SYS bei, der Anfangs nur Hohen Speicher (HMA) für Windows nutzbar machte,[2] und in späteren Versionen auch den Zugriff auf den gesamten Erweiterten Speicher über der 1-MiB-Grenze des Real Mode gemäß der Extended Memory Specification (XMS) regelt. Ebenfalls entstanden bereits in der zweiten Hälfte der 1980er Jahre erste 32-Bit-DOS-Programme, die per DOS-Extender großteils im Erweiterten Speicher laufen. Damit diese DOS-Programme mit DESQview kompatibel blieben, entwickelte Quarterdeck gemeinsam mit Phar Lap Software den VCPI-Standard.
Anfangs war QEMM-386 der zentrale Speichermanger für DESQview 386, der den Zugriff auf die einzelnen DOS-Speichertypen für einzelne Programme koordiniert regelt, sodass auch das Umschalten zwischen den Programmen möglich ist, die sich dadurch nicht gegenseitig den Speicherzugriff streitig machen. In späteren Versionen wurde QEMM auch einzeln ohne DESQview angeboten, und zudem voll Windows-kompatibel. Das Akronym QEMM steht für Quarterdeck Expanded Memory Manager, nach dem Expanded Memory Manager EMM386, einem sogenannten „LIMulator“.
Bedeutung
[Bearbeiten | Quelltext bearbeiten]Anfang der 1990er-Jahre galt QEMM als Industriestandard unter den DOS-Speichermanagern.[1] DOS-Speichermanger, wie auch die Konkurrenz-Produkte 386Max, NetRoom, Memory Commander und QMaps,[3] erlauben (ab 80286) die Nutzung des Erweiterten (meist als „XMS-Speicher“ bezeichnet) und Hohen (HMA) Speichers. Ab dem 80386, der eine Speicherverwaltungseinheit (MMU) besitzt, können die DOS-Speichermanager als LIMulatoren LIM-EMS in XMS emulieren sowie freie Blöcke des oberen (UMA) Speicherbereichs in gleicher Weise als UMBs, englisch Upper Memory Blocks, nutzbar machen. Durch die Nutzung der HMA und von UMBs kann wertvoller Konventioneller DOS-Speicher für klassische DOS-Programme frei gehalten werden, wenn Treiber, TSR-Programme und Teile des Betriebssystems oder anderer residenter Software – wie DESQview als Taskswitcher – kompatibel mit der Auslagerung in diese Speichertypen sind bzw. UMBs oder die HMA selbst direkt unterstützen. Da LIM-EMS-Speicher standardisiert und von zahlreichen DOS-Programmen der 1980er und 1990er Jahre unterstützt wird, erlaubt dessen Emulation eine kompatible Speichererweiterung im XMS-Speicher in Software, ohne dass eine teure EMS-Speicherkarte angeschafft werden müsste – wenn ein PC-System genug Hauptspeicher verbaut hat.
Ende der 1980er Jahre, als QEMM-386 verfügbar wurde, war man in der PC-Branche seit der Verfügbarkeit von 386-Systemen – der Compaq Deskpro 386 erschien Ende 1986 – davon überzeugt, dass DOS bald durch das Protected-Mode-Betriebssystem OS/2 ersetzt werden würde. Systeme wie DESQview, die weiterhin mit dem Limitierungen von DOS zu kämpfen haben, wurden als Interimslösung angesehen.[4]
Als der Durchbruch von OS/2 ausblieb und DOS weiter genutzt wurde, baute zuerst der Microsoft-Konkurrent Digital Research eine Speicherverwaltung mit DR DOS 5.0, verfügbar ab Ende 1990, ins Betriebssystem mit ein. Als MS-DOS 5.0 (und das nahezu identische PC DOS 5.0) kurze Zeit später nachzog, verlor auch QEMM an Boden, da die ab DOS 5.0 und später 6.0 mitgelieferte Speicherverwaltung für viele Anwender oft ausreichte.[5][6]
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- 1 2 Dan Gookin: Memory managers: taming DOS’ RAM. In: InfoWorld. Band 13, Nr. 49, 9. Dezember 1991, S. 69 ff., Product comparison, S. 75, QEMM-386 Version 6.0 (englisch, eingeschränkte Vorschau in der Google-Buchsuche): “Quarterdeck’s QEMM-386 is widely considered to be the industry standard for PC-based memory managers.”
- 1 2 Barry Simon: Lab Notes – How to Get the Most From your System’s High DOS Memory. In: PC Magazine. Band 9, Nr. 10. Ziff Davis, 29. Mai 1990, S. 347 ff., HIMEM (englisch, eingeschränkte Vorschau in der Google-Buchsuche): “Microsoft did not invent HIMEM, as is usually supposed. It was used earlier by Quarterdeck’s DESQview, though it became widely available only with the release of Microsoft Windows 2.10. HIMEM uses a mere 64K of available extended memory—or, to be more exact, it uses the first 64K (minus 16 bytes) of extended memory, the memory directly above 1MB. The very important thing about HIMEM is that this 64K is accessible in real mode and can be used without a DOS extender. One possible use for HIMEM is to allow DOS to locate some of itself there, thus freeing up additional memory below 640K for user programs.
HIMEM actually depends on a bug in the same way the 286 emulates the 8086! In addition to breaking up memory into pages—16 nonoverlapping 64K chunks—the CPU thinks of memory as overlapping 64K chunks, called segments, which start every 16 bytes. Suppose the CPU tries to access one of those segments that starts very close to the top of the 1MB boundary. An 8086 will wrap around to very low memory, as shown in Figure 2.
On an 80286, however, the address actually accessed is just above the 1MB boundary. This provides real-mode addressability to the first 64K (minus 16 bytes) of extended memory. It’s 16 bytes less than 64K because the last segment begins 16 bytes shy of the 1MB boundary. To overcome the emulation bug, IBM built special capabilities into the bus that force memory to wrap around, like an 8086/88, in real mode. What the HIMEM driver does is to undo this safeguard selectively, so that a program specially written to use that area can put code there. That is what Microsoft Windows, DESQview, Ventura Publisher and Carousel do.” - ↑ Barry Simon: Nine Memory Managers Open Up New Frontiers. In: PC Magazine. Band 11, Nr. 3. Ziff Davis, 11. Februar 1992, S. 207 ff. (englisch, eingeschränkte Vorschau in der Google-Buchsuche).
- ↑ Steve Gibson: Tech Talk: Speed, Handling Make 386 Machines the Ferraris of Personal Computing. In: InfoWorld. Band 9, Nr. 51, 21. Dezember 1987, S. 24 (englisch, eingeschränkte Vorschau in der Google-Buchsuche): “In future columns we’ll look at various ‘386 control programs’ that begin to manage these new 386 resources effectively. Products like Desqview, Taskview, VM/386, and ‘386-to-the-Max’ can provide significant ‘work-arounds’ within the current context of MS-DOS while we await the coming of the OS/2 operating system.”
- ↑ Peter Siering: Neue alte Löcher; 386Max und QEMM 6.0 für MSDOS 5.0. In: c’t. Nr. 12/1991. Verlag Heinz Heise, 1991, ISSN 0724-8679, S. 24 (Heft-Archiv [abgerufen am 20. Mai 2026] Download hinter Paywall).
- ↑ Barry Simon: Nine Memory Managers Open Up New Frontiers. In: PC Magazine. Band 11, Nr. 3. Ziff Davis, 11. Februar 1992, S. 248, MS-DOS 5.0 Upgrade Kit (englisch, eingeschränkte Vorschau in der Google-Buchsuche): “Should you be satisfied with the memory management services DOS provides for free, or should you get a specialized memory manager like QEMM-386 or 386MAX? Unless you really feel that you have a need for more sophisticated memory management, sticking with DOS by itself can take care of many of your basic memory management problems.”