DOS extender

DOS extender
Tenberry Software's DOS/4GW startup banner

A DOS extender is a computer software program which enables software to run under a protected mode environment even though the host operating system is only capable of operating in real mode.

DOS extenders were initially developed in the 1980s following the introduction of the Intel 80286 processor (and later expanded upon with the Intel 80386), to cope with the memory limitations of MS-DOS and its derivatives.

Contents

DOS extender operation

Extending Memory Beyond DOS
Real Mode
640K
DOS DOS
Protected Mode 80286 DOS Extender
Access to 16-bit
Protected Mode
80386 DOS Extender
Access to 32-bit
Protected Mode
Virtual 8086 Mode

A DOS extender is a program that "extends" DOS so that programs running in protected mode can transparently interface with the underlying MS-DOS API. This was necessary because many of the functions provided by DOS require 16-bit segment and offset addresses pointing to memory locations within the first 640 kilobytes of memory. Protected mode, however, uses an incompatible addressing method where the segment registers (now called selectors) are used to point to an entry in the Global Descriptor Table which describes the characteristics of the segment. The two methods of addressing are mutually exclusive, with the processor having to make costly switches to real (or V86) mode to service non-protected mode requests.

In addition to setting up the environment and loading the actual program to be executed, the DOS extender also provides (amongst other things) a translation layer that maintains buffers allocated below the 1MB real mode memory barrier. These buffers are used to transfer data between the underlying real mode operating system and the protected mode program. Since switching between real/V86 mode and protected mode is a relatively time consuming operation, the extender attempts to minimize the number of switches by duplicating the functionality of many real mode operations within its own protected mode environment. As DOS uses interrupts extensively for communication between the operating system and user level software, DOS extenders intercept many of the common hardware (e.g. the real-time clock and keyboard controller) and software (e.g. DOS itself and the mouse API) interrupts. Some extenders also handle other common interrupt functions, such as video BIOS routines.

Essentially, a DOS extender is like a miniature operating system, handling much of the functionality of the underlying operating system itself.

Development history

Tenberry Software's DOS/4G product logo

The DOS extender was arguably invented by Phar Lap, but it was Tenberry Software, Inc.'s (formerly Rational Systems) 386 extender DOS/4GW that brought protected mode DOS programs to the masses. Included with Watcom's C, C++ and Fortran compilers for 386 class processors, it soon became a ubiquitous mainstay of PC applications and games such as id Software's successful DOOM.

While initially it was the memory hungry business applications that drove the development of DOS extenders, it would be PC games that truly brought them into the spotlight. As a result of the development of DOS extenders, two new software interfaces were created to take care of the many potential conflicts that could arise from the varied methods of memory management that already existed, as well as provide a uniform interface for client programs.

The first of these interfaces was the Virtual Control Program Interface (VCPI), but this was rapidly overshadowed by the DOS Protected Mode Interface (DPMI) specification, which grew from the Windows 3.0 development.[1] They provided an API through which an extended program could interface with real mode software, allocate memory, and handle interrupt services. They also provided an easy method for the extender to set up the switch to protected mode, and allowed multiple protected mode programs to coexist peacefully.

DOS extenders

  • DOS/4G and DOS/4GW and DOS/16M by Tenberry Software, Inc.
  • 286|DOS Extender and 386|DOS Extender by Phar Lap
  • PROT by Al Williams, a 32-bit DOS extender published in Dr. Dobb's Journal[2][3] and in two books.[4][5] This extender had the virtue of running DOS and BIOS calls in emulated mode instead of switching back to real mode.
  • PMODE and PMODE/W by Thomas Pytel and Charles Sheffold. The latter was for Watcom C as an alternative to DOS/4GW, and was quite popular with demoscene programmers
  • Ergo (formerly Eclipse, formerly A. I. Architects) OS/286 and OS/386 extenders, and DPM16 and DPM32 servers
  • Microsoft Windows (DOS based versions) included both a DPMI server and DOS extender.[6]
  • HX DOS Extender provides limited Win32 support
  • DosWin32 provides limited Win32 support
  • CWSDPMI by Charles W. Sandmann, a DPMI server for use with 32-bit protected mode DOS DJGPP programs
  • GO32, used in older (pre-v2) versions of DJGPP, and Free Pascal
  • DBOS by Salford Software, a 32-bit protected mode DOS extender used primarily by their FTN77 (Fortran Compiler)
  • DOS/32 as an alternative to DOS/4GW by Narech K.

Notable DOS extended applications

References

  1. ^ Duncan, Ray (1992). Extending DOS: A Programmer's Guide to Protected-Mode DOS (2nd ed. ed.). Addison-Wesley. pp. 433–462. ISBN 0-201-56798-9. 
  2. ^ Williams, Al (October 1990). "Roll your own DOS extender: Part I". Dr. Dobb's Journal (CMP Technology) 15 (10): 16–18, 20, 24. ISSN 1044-789X. 
  3. ^ Williams, Al (November 1990). "Roll Your Own DOS Extender: Part II". Dr. Dobb's Journal (CMP Technology) 15 (11): 74, 76, 80, 81–83, 85, 122–128, 130. ISSN 1044-789X. 
  4. ^ Williams, Al (1991). DOS 5 A Developer's Guide. MT Books. ISBN 1558511776. 
  5. ^ Williams, Al (1993). DOS 6 A Developer's Guide. MT Books. ISBN 1558513094. 
  6. ^ Williams, Al (1993). DOS and Windows Protected Mode: Programming with DOS Extenders in C. Addison-Wesley. p. 30. ISBN 0-201-63218-7. 

External links


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • DOS-Extender — DOS Protected Mode Interface, kurz DPMI, ist eine API zur Entwicklung von DOS basierten Anwendungen, die mehr als den sogenannten „konventionellen Speicher“ von 640 KB (655.360 Byte, siehe auch UMB) direkt nutzen, ohne Umwege über Bank Switching …   Deutsch Wikipedia

  • DOS-Extender — DOS Extender,   ein Programm zur Erweiterung des auf 640 KByte begrenzten konventionellen Speichers, der unter DOS für Anwendungen verfügbar ist. Ein DOS Extender beansprucht dazu allerdings selber einen Teil des Speichers, der sonst für andere… …   Universal-Lexikon

  • DOS/32 Advanced DOS Extender — Infobox Software name = DOS/32 Advanced DOS Extender caption = developer = Narech K. operating system = DOS, Win32 console latest release version = 9.1.2 latest release date = 2006 April 20 genre = DOS Extender license = freeware open source… …   Wikipedia

  • DOS extender — …   Википедия

  • HX DOS Extender — Тип Расширитель DOS Разработчик Japheth Операционная система DOS Аппаратная платформа x86 Последняя версия 2.16 (16 ноября 2009) Тестовая версия 2.17 …   Википедия

  • HX DOS Extender — Der HX DOS Extender ist ein DPMI basierter 32 Bit DOS Extender, ähnlich wie DOS/4G, CWSDPMI, DOS/32A, WDOSX und weitere. Die fast einzigartige Eigenschaft des HX DOS Extenders ist es, einige für 32 Bit Versionen von Microsoft Windows geschriebene …   Deutsch Wikipedia

  • HX DOS Extender — is a free DOS extender with built in Win32 PE file format support. Usually the purpose of a DOS extender is to make protected mode features, especially large memory and 32 bit addressing, available for DOS applications. HX fully supports this… …   Wikipedia

  • DOS/32 — Developer(s) Narech K. Stable release 9.1.2 / April 20, 2006; 5 years ago (2006 04 20)[1] Operating system …   Wikipedia

  • DOS Protected Mode Interface — DOS Protected Mode Interface, kurz DPMI, ist eine API zur Entwicklung von DOS basierten Anwendungen, die mehr als den sogenannten „konventionellen Speicher“ von 640 KB (655.360 Byte, siehe auch UMB) direkt nutzen, ohne Umwege über Bank… …   Deutsch Wikipedia

  • Extender — may refer to: *Ascender or descender, in typography and graphonomics *DOS extender, a technology for bypassing the limitations of the DOS operating systems family *KC 10 Extender, an air to air tanker aircraft *Media extender *Surimi, known as… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”