DOS extender
Encyclopedia
A DOS extender is a computer software
Computer software
Computer software, or just software, is a collection of computer programs and related data that provide the instructions for telling a computer what to do and how to do it....

 program which enables software to run under a protected mode
Protected mode
In computing, protected mode, also called protected virtual address mode, is an operational mode of x86-compatible central processing units...

 environment even though the host operating system is only capable of operating in real mode
Real mode
Real mode, also called real address mode, is an operating mode of 80286 and later x86-compatible CPUs. Real mode is characterized by a 20 bit segmented memory address space and unlimited direct software access to all memory, I/O addresses and peripheral hardware...

.

DOS extenders were initially developed in the 1980s following the introduction of the Intel 80286
Intel 80286
The Intel 80286 , introduced on 1 February 1982, was a 16-bit x86 microprocessor with 134,000 transistors. Like its contemporary simpler cousin, the 80186, it could correctly execute most software written for the earlier Intel 8086 and 8088...

 processor (and later expanded upon with the Intel 80386
Intel 80386
The Intel 80386, also known as the i386, or just 386, was a 32-bit microprocessor introduced by Intel in 1985. The first versions had 275,000 transistors and were used as the central processing unit of many workstations and high-end personal computers of the time...

), to cope with the memory limitations of MS-DOS
MS-DOS
MS-DOS is an operating system for x86-based personal computers. It was the most commonly used member of the DOS family of operating systems, and was the main operating system for IBM PC compatible personal computers during the 1980s to the mid 1990s, until it was gradually superseded by operating...

 and its derivatives.

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
MS-DOS API
The MS-DOS API is an API used originally in MS-DOS/PC-DOS, and later by other DOS systems. Most calls to the DOS API invoke software interrupt 21h . By calling INT 21h with a subfunction number in the AH processor register and other parameters in other registers, one invokes various DOS services...

. 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
Conventional memory
In DOS memory management, conventional memory, also called base memory, is the first 640 kilobytes of the memory on IBM PC or compatible systems. It is the read-write memory usable by the operating system and application programs...

. 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
Global Descriptor Table
The Global Descriptor Table or GDT is a data structure used by Intel x86-family processors starting with the 80286 in order to define the characteristics of the various memory areas used during program execution, including the base address, the size and access privileges like executability and...

 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
Virtual 8086 mode
In the 80386 microprocessor and later, virtual 8086 mode allows the execution of real mode applications that are incapable of running directly in protected mode while the processor is running a protected mode operating system.VM86 mode uses a segmentation scheme identical to that of real mode In...

) 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
Buffer (computer science)
In computer science, a buffer is a region of a physical memory storage used to temporarily hold data while it is being moved from one place to another. Typically, the data is stored in a buffer as it is retrieved from an input device or just before it is sent to an output device...

 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
Real-time clock
A real-time clock is a computer clock that keeps track of the current time. Although the term often refers to the devices in personal computers, servers and embedded systems, RTCs are present in almost any electronic device which needs to keep accurate time.-Terminology:The term is used to avoid...

 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

The DOS extender was arguably invented by Phar Lap
Phar Lap (company)
Phar Lap was a software company specializing in software development tools for DOS operating systems. They were most noted for their software allowing developers to access memory beyond the 640 KiB limit of DOS and were an author of the VCPI standard.Phar Lap Software, Inc. was founded in April...

, but it was Tenberry Software
Tenberry Software
Tenberry Software is a software company that developed the DOS/16M and DOS/4G DOS extenders....

, Inc.'s (formerly Rational Systems) 386 extender DOS/4GW
DOS/4GW
DOS/4G is a 32-bit DOS extender developed by Rational Systems . It allows DOS programs to eliminate the 640 KB conventional memory limit by addressing up to 64 MB of extended memory on Intel 80386 and above machines....

 that brought protected mode DOS programs to the masses. Included with Watcom
Watcom
Watcom International Corporation was founded in 1981 by three former employees of the Computer Systems Group at the University of Waterloo, in Waterloo, Ontario, Canada...

'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
Id Software
Id Software is an American video game development company with its headquarters in Richardson, Texas. The company was founded in 1991 by four members of the computer company Softdisk: programmers John Carmack and John Romero, game designer Tom Hall, and artist Adrian Carmack...

's successful DOOM
Doom
Doom may refer to:* dōm, the Anglo-Saxon word meaning "judgment", "law"** Doom book the Laws of King Aelfred, Legal Code of Alfred the Great, Code of Alfred 893* Doom , a painting that depicts the Last Judgment...

.

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
Virtual Control Program Interface
In computing, the Virtual Control Program Interface is a specification published in 1989 by Phar Lap Software that allows a DOS program to run in protected mode, granting access to many features of the processor not available in real mode...

 (VCPI), but this was rapidly overshadowed by the DOS Protected Mode Interface
DOS Protected Mode Interface
In computing, the DOS Protected Mode Interface is a specification introduced in 1989 which allows a DOS program to run in protected mode, giving access to many features of the processor not available in real mode...

 (DPMI) specification, which grew from the Windows 3.0 development. 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
    Phar Lap (company)
    Phar Lap was a software company specializing in software development tools for DOS operating systems. They were most noted for their software allowing developers to access memory beyond the 640 KiB limit of DOS and were an author of the VCPI standard.Phar Lap Software, Inc. was founded in April...

  • PROT by Al Williams, a 32-bit DOS extender published in Dr. Dobb's Journal and in two books. This extender had the virtue of running DOS and BIOS calls in emulated mode instead of switching back to real mode.
  • PMODE
    PMODE
    PMODE is a DOS extender used in several IBM PC compatible DOS applications in the mid and late 1990s. It was created by Thomas "Tran" Pytel, and the first version became publicly available in 1994. The original PMODE was written to be used with programs written in x86 assembler, specifically using...

     and PMODE/W by Thomas Pytel
    Thomas Pytel
    Tomasz Pytel is a Polish-American programmer, better known as Tran / Renaissance in the demoscene. He is notable for creating the Timeless demo in 1994, and for co-creating the PMODE DOS extender with Charles Scheffold . He was also the designer of the PC game Zone 66. After that, he went to 3D...

     and Charles Sheffold. The latter was for Watcom C as an alternative to DOS/4GW, and was quite popular with demoscene
    Demoscene
    The demoscene is a computer art subculture that specializes in producing demos, which are non-interactive audio-visual presentations that run in real-time on a computer...

     programmers
  • Ergo (formerly Eclipse, formerly A. I. Architects) OS/286 and OS/386 extenders, and DPM16 and DPM32 servers
  • Microsoft Windows
    Microsoft Windows
    Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

     (DOS based versions) included both a DPMI server and DOS extender.
  • HX DOS Extender
    HX DOS Extender
    The 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 goal, but goes some steps further...

     provides limited Win32 support
  • DosWin32
    DosWin32
    DosWin32 is a DOS extender aiming to provide a Win32 API emulation layer. Limited DPMI support is also available.Author is Yury Haron ....

     provides limited Win32 support
  • CWSDPMI
    CWSDPMI
    CWSDPMI is a DPMI host written by Charles W Sandmann from 1996 to present, currently at r7. It is loosely based upon prior GO32 code used in DJGPP v1. It can provide DPMI 0.90+ services for programs compiled with latest versions of DJGPP etc. compilers. Since r5, it can also be used for programs...

     by Charles W. Sandmann, a DPMI server for use with 32-bit protected mode DOS DJGPP
    DJGPP
    DJGPP is a development suite for 386+ IBM PC compatibles which supports DOS-enabled operating systems. It is guided by DJ Delorie, who began the project in 1989. It is a port of the popular GCC compiler, as well as mostly GNU utilities such as bash, find, tar, ls, awk, sed, and ld to DPMI...

     programs
  • GO32, used in older (pre-v2) versions of DJGPP
    DJGPP
    DJGPP is a development suite for 386+ IBM PC compatibles which supports DOS-enabled operating systems. It is guided by DJ Delorie, who began the project in 1989. It is a port of the popular GCC compiler, as well as mostly GNU utilities such as bash, find, tar, ls, awk, sed, and ld to DPMI...

    , and Free Pascal
    Free Pascal
    Free Pascal Compiler is a free Pascal and Object Pascal compiler.In addition to its own Object Pascal dialect, Free Pascal supports, to varying degrees, the dialects of several other compilers, including those of Turbo Pascal, Delphi, and some historical Macintosh compilers...

  • DBOS by Salford Software, a 32-bit protected mode DOS extender used primarily by their FTN77 (Fortran Compiler)
  • DOS/32
    DOS/32
    DOS/32 is an advanced 32-bit DOS extender created for replacing DOS/4GW extender and compatibles. This extender can be used in various environments, from embedded systems to DOS emulators, by both developers and end users alike.- Compatibility :...

     as an alternative to DOS/4GW by Narech K.

Notable DOS extended applications

  • Adobe Acrobat Reader 1.0 (uses an early version of DOS/4GW professional)
  • AutoCAD
    AutoCAD
    AutoCAD is a software application for computer-aided design and drafting in both 2D and 3D. It is developed and sold by Autodesk, Inc. First released in December 1982, AutoCAD was one of the first CAD programs to run on personal computers, notably the IBM PC...

     11 (PharLap 386)
  • Lotus 1-2-3
    Lotus 1-2-3
    Lotus 1-2-3 is a spreadsheet program from Lotus Software . It was the IBM PC's first "killer application"; its huge popularity in the mid-1980s contributed significantly to the success of the IBM PC in the corporate environment.-Beginnings:...

     Release 3 (Rational Systems DOS/16M)
  • Oracle
    Oracle Corporation
    Oracle Corporation is an American multinational computer technology corporation that specializes in developing and marketing hardware systems and enterprise software products – particularly database management systems...

     Professional
  • IBM
    IBM
    International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...

     Interleaf
    Interleaf
    Founded in 1981, Interleaf was a company that created software products for the technical publishing creation and distribution process. Its initial product was the first commercial document processor that integrated text and graphics editing, producing WYSIWYG output at near-typeset quality...

  • Major BBS
    Major BBS
    The Major BBS was bulletin board software developed between 1986 and 1999 by Galacticomm. In 1995 it was renamed Worldgroup Server and bundled with a user client interface program named Worldgroup Manager for Microsoft Windows...

    , a 1980s BBS
    Bulletin board system
    A Bulletin Board System, or BBS, is a computer system running software that allows users to connect and log in to the system using a terminal program. Once logged in, a user can perform functions such as uploading and downloading software and data, reading news and bulletins, and exchanging...

     software package that utilized the Phar Lap
    Phar Lap (company)
    Phar Lap was a software company specializing in software development tools for DOS operating systems. They were most noted for their software allowing developers to access memory beyond the 640 KiB limit of DOS and were an author of the VCPI standard.Phar Lap Software, Inc. was founded in April...

     DOS extender.
  • Quarterdeck
    Quarterdeck Office Systems
    Quarterdeck Office Systems, later Quarterdeck Corporation , was an American computer software company. It was founded by Therese Myers and Gary Pope in 1981and incorporated in 1982...

     DESQview
    DESQview
    DESQview was a text mode multitasking program developed by Quarterdeck Office Systems which enjoyed modest popularity in the late 1980s and early 1990s...

     and DESQview/X multitasking software
  • Watcom
    Watcom
    Watcom International Corporation was founded in 1981 by three former employees of the Computer Systems Group at the University of Waterloo, in Waterloo, Ontario, Canada...

    's C
    C (programming language)
    C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

    , C++
    C++
    C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

     and Fortran
    Fortran
    Fortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...

     compiler
    Compiler
    A compiler is a computer program that transforms source code written in a programming language into another computer language...

    s for the x86
  • Countless DOS games from the early to mid 1990s, mostly using DOS/4GW, including:
    • id Software
      Id Software
      Id Software is an American video game development company with its headquarters in Richardson, Texas. The company was founded in 1991 by four members of the computer company Softdisk: programmers John Carmack and John Romero, game designer Tom Hall, and artist Adrian Carmack...

      's DOOM
      Doom
      Doom may refer to:* dōm, the Anglo-Saxon word meaning "judgment", "law"** Doom book the Laws of King Aelfred, Legal Code of Alfred the Great, Code of Alfred 893* Doom , a painting that depicts the Last Judgment...

       and its sequels, as well as Quake (built with DJGPP
      DJGPP
      DJGPP is a development suite for 386+ IBM PC compatibles which supports DOS-enabled operating systems. It is guided by DJ Delorie, who began the project in 1989. It is a port of the popular GCC compiler, as well as mostly GNU utilities such as bash, find, tar, ls, awk, sed, and ld to DPMI...

      )
    • Looking Glass Studios
      Looking Glass Studios
      Looking Glass Studios was a computer game development company during the 1990s.The company originally formed as Looking Glass Technologies, when Blue Sky Productions and Lerner Research merged....

      ' System Shock
      System Shock
      System Shock is a first-person action-adventure video game developed by Looking Glass Technologies and published by Origin Systems. Released in 1994, the game is set aboard the fictional Citadel Station in a cyberpunk vision of 2072...

      ,
    • Parallax Software
      Parallax Software
      Parallax Software was a video game developer best known for creating the Descent series of computer games. Parallax Software was started in 1993 by Matt Toschlog and Mike Kulas. After the release of Descent II in 1997, the company was split to form Volition, Inc. in Champaign, Illinois, and...

      's Descent
      Descent (video game)
      Descent is a 3D first-person shooter video game developed by Parallax Software and released by Interplay Entertainment Corp. in 1995. The game features six degrees of freedom gameplay and garnered several expansion packs...

    • Crack dot com's Abuse
      Abuse (computer game)
      Abuse is a run and gun video game developed by Crack dot Com and published by Origin Systems/Electronic Arts. It was released in , and originally ran on MS-DOS and Linux operating systems. An improved port of the game was released for Mac OS by Bungie Studios and for the Acorn Archimedes by R-Comp...

    • Blizzard Entertainment
      Blizzard Entertainment
      Blizzard Entertainment, Inc. is an American video game developer and publisher founded on February 8, 1991 under the name Silicon & Synapse by three graduates of UCLA, Michael Morhaime, Allen Adham and Frank Pearce and currently owned by French company Activision Blizzard...

      's Warcraft: Orcs & Humans and Warcraft II: Tides of Darkness
      Warcraft II: Tides of Darkness
      Warcraft II: Tides of Darkness is a fantasy-themed real-time strategy game published by Blizzard Entertainment and first released for DOS in 1995 and for Mac OS in 1996...

    • 3D Realms
      3D Realms
      3D Realms is a current video game publisher and former video game developer based in Garland, Texas, United States, established in 1987...

      ' Duke Nukem 3D
      Duke Nukem 3D
      Duke Nukem 3D is a first-person shooter computer game developed by 3D Realms and published by GT Interactive Software. The full version was released for the PC . It is a sequel to the platform games Duke Nukem and Duke Nukem II published by Apogee...

    • Midway
      Midway Games
      Midway Games, Inc. is an American company that was formerly a major video game publisher. Following a bankruptcy filing in 2009, it is no longer active and is in the process of liquidating all of its assets. Midway's titles included Mortal Kombat, Ms.Pac-Man, Spy Hunter, Tron, Rampage, the...

      's Mortal Kombat
      Mortal Kombat (video game)
      Mortal Kombat is a 1992 fighting-game developed and published by Midway for arcades. In 1993, home versions were released by Acclaim Entertainment. Released in the Fall of 1994, the Microsoft Windows 3.1x version was released by Activision Interactive. It is the first title in the Mortal Kombat...

    • Westwood Studios
      Westwood Studios
      Westwood Studios was a computer and video game developer, based in Las Vegas, Nevada. It was founded by Brett Sperry and Louis Castle in as Westwood Associates, and renamed to Westwood Studios when it merged with Virgin Interactive in...

      ' Command & Conquer and Command & Conquer: Red Alert
      Command & Conquer: Red Alert
      Command & Conquer: Red Alert is a real-time strategy computer game of the Command & Conquer franchise, produced by Westwood Studios and released by Virgin Interactive in...

    • DMA Design (now Rockstar North)'s Grand Theft Auto
      Grand Theft Auto (video game)
      Grand Theft Auto is a 1997 action-adventure video game created by British games developer DMA Design and published by BMG Interactive. The game allows the player to take on the role of a criminal who can roam freely around a big city. Various missions are set for completion, such as bank...

      . Later versions of the game were ported to Windows in order to make it more compatible with modern computers.
    • Comanche: Maximum Overkill
      Comanche series
      Comanche is a series of simulation games published by NovaLogic. The goal of each of these games is to fly military missions in a RAH-66 Comanche attack helicopter, which was in development and prototyping at the time of release....

       by NovaLogic
      NovaLogic
      NovaLogic is a software developer and publisher established in 1985 and based in Calabasas, California. The company was founded by current CEO John A. Garcia....

       used a custom Unreal mode
      Unreal mode
      In x86 computing, unreal mode, also big real mode, huge real mode, or flat real mode, is a variant of real mode , in which one or more data segment registers have been loaded with 32-bit addresses and limits. Contrary to its name, it is not a separate addressing mode that the x86-32 and x86-64...

       memory manager which required a 80386 processor and was incompatible with memory managers
      DOS memory management
      In IBM PC compatible computing, DOS memory management refers to software and techniques employed to give applications access to more than 640K of "conventional memory". The 640kB limit was specific to the IBM PC and close compatibles; other machines running MS-DOS had different limits, for example...

       and virtual DOS boxes
      Virtual DOS machine
      Virtual DOS machine is Microsoft's technology that allows running legacy DOS and 16-bit Windows programs on Intel 80386 or higher computers when there is already another operating system running and controlling the hardware.-Overview:...

      , requiring a complicated DOS boot menu configuration in the CONFIG.SYS. Later revisions included a DOS extender which solved the problem.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK