DOS extender
DOS extender is the name invented in the 1980s for a technology to allow programs started from MS-DOS, which ran in Real mode, to actually run in protected mode. DOS extenders could be either 16-bit, which requires an Intel 80286 or better CPU, or they could be 32-bit, which requires an Intel 80386.
Related Topics:
1980s - MS-DOS - Real mode - Protected mode - Intel 80286 - Intel 80386
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
The idea behind running in protected mode was that it allowed access to more than 640 kilobytes of memory, without relying on tricks like expanded memory.
Related Topics:
Kilobyte - Expanded memory
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
Strictly speaking, DOS extenders were a tool provided by certain compilers to allow programs to be generated which could interact with a memory manager and thus use XMS or Extended memory to store executable code. The resulting application was termed a DOS-extended program; for example, this expression is used in QEMM documentation from 1991.
Related Topics:
Compiler - Memory manager - XMS - Extended memory - QEMM
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
The DOS extender was arguably invented by Phar Lap but the DOS4GW extender, included in Watcom's popular C compiler, was also widely used, for example in id Software's massively successful game Doom.
Related Topics:
Phar Lap - Watcom - Id Software - Doom
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
Famous DOS-extended applications were Autocad 11 and Microsoft Windows, starting from the Windows/386 2.1 release. (Windows/286 2.1 was not a DOS extender, it just made use of the High Memory Area and of expanded memory.) The first 16-bit DOS extender in the Windows series was Windows 3.0 when running in "standard" mode. In the "386 enhanced" mode the kernel was 32-bit, but the applications were protected 16-bit mode, giving a hybrid nature to the system.
Related Topics:
Autocad - Microsoft Windows - Windows/386 2.1 - High Memory Area - Windows 3.0
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
All DOS extenders needed to invoke DOS in order to access the DOS APIs for disk services, networking etc. On Intel 80386 CPUs this was easy, because DOS could be left running inside a virtual 8086 mode task which either 16-bit or 32-bit code could invoke. However, on Intel 80286 CPUs, invoking DOS was considerably trickier, as the 286 only had an instruction to switch from Real mode to Protected mode, not back again. Work-arounds included a CPU reset through the keyboard controller or the undocumented LOADALL machine instruction, or a BIOS function which used one of these methods internally.
Related Topics:
API - Virtual 8086 mode - LOADALL - BIOS
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
Initially, DOS extenders performed the switch into protected mode and managed protected mode and extended memory all by themselves. Later, when it became common to use a protect-mode memory manager such as CEMM or QEMM on 80386 machines to emulate expanded memory using extended memory, it became necessary to create a way for subsequent programs to enter protected mode as well, so an API called the Virtual Control Program Interface was devised. However, this was difficult to reconcile with multitasking operating systems and was not supported by Microsoft, whose alternative, the DOS Protected Mode Interface, became more widely used.
Related Topics:
CEMM - Virtual Control Program Interface - Microsoft
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
~ Table of Content ~
| ► | Introduction |
| ► | Notable DOS-extended applications |
~ What's Hot ~
~ Community ~
| ► | History Forum Come and discuss about History, Civilizations, Historical Events and Figures |
| ► | History Web-Ring A community of sites, blogs and forums dedicated to History. Do not hesitate to submit your site. |
and are licensed under the GNU Free Documentation License.
Lexicon - Privacy Policy - Spiritus-Temporis.com ©2005.