Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

DOS extender

From Wikipedia, the free encyclopedia
Type of computer software program
icon
This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "DOS extender" – news ·newspapers ·books ·scholar ·JSTOR
(March 2011) (Learn how and when to remove this message)
Tenberry Software's DOS/4GW startup banner

ADOS extender is acomputer software program running underDOS that enables software to run in aprotected mode environment even though the host operating system is only capable of operating inreal mode.

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

DOS extender operation

[edit]

A DOS extender is a program that "extends" DOS so that programs running in protected mode can transparently interface with the underlyingDOS API. This was necessary because many of the functions provided by DOS require 16-bit segment and offset addresses pointing to memory locations within thefirst 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 theGlobal 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 (orV86) 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 maintainsbuffers allocated below the 1 MB 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 usesinterrupts extensively for communication between the operating system and user level software, DOS extenders intercept many of the common hardware (e.g. thereal-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

[edit]
Tenberry Software's DOS/4G product logo

The DOS extender was arguably invented byPhar Lap, but it wasTenberry Software's (formerly Rational Systems) 386 extenderDOS/4GW that brought protected mode DOS programs to a mass market. Included withWatcom's C, C++, and Fortran compilers for 386 class processors, it soon became a ubiquitous mainstay of PC applications and games such asid Software's successfulDoom.

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 theVirtual Control Program Interface (VCPI), but this was rapidly overshadowed by theDOS 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

[edit]
  • DOS/4G and DOS/4GW andDOS/16M by Tenberry Software, Inc.
  • 286|DOS Extender and 386|DOS Extender byPhar Lap. Later superseded by the TNT Dos Extender.
  • 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.
  • CauseWay was a formerly proprietary extender that competed with DOS4G. As of 2000 it has been released as open source. A few rare games such asDaggerfall use it.
  • DOS/32 as an alternative to DOS/4G by Narech K.
  • Ergo (formerly Eclipse, formerly A. I. Architects) OS/286 and OS/386 extenders, and DPM16 and DPM32 servers
  • 386Power 32-bit DOS Extender is an extender for 32-bitAssembly apps. Includessource code.
  • allMicrosoft Windows versions since 1990, exceptNT branch,include both a DPMI server and DOS extender.[6]
  • HX DOS Extender provides limited Win32 support to allow Windows console (likeFar Manager) and some Win32 GUI applications to run under DOS. It contains both 16-bit and 32-bitDPMI servers (HDPMI16/HDPMI32) for use with protected mode DOS programs[7]
  • DosWin32 provides limited Win32 support
  • WDosX was an early implementation of limited Win32 support, used by the TMT Pascal compiler.
  • Borland Power Pack was an extender included with some of their development suites that could access a limited portion of the Win32 API.
  • TASM, again from Borland, included 32RTM with DPMI32VM and RTM with DPMI16BI, two DPMI hosts.
  • CWSDPMI by Charles W. Sandmann, a DPMI server for use with 32-bit protected mode DOSDJGPP programs.
  • QDPMI byQuarterdeck Office Systems, was a DPMI host included withQEMM.
  • GO32, used in older (pre-v2) versions ofDJGPP, andFree Pascal
  • D3X is an DPMI sever written entirely inAssembly. Still in alpha state, but discontinued before completion.
  • DPMIONE is another DPMI sever. Originally developed for 32 bit programs generated by Borland C++ and Delphi.
  • DBOS by Salford Software, a 32-bit protected mode DOS extender used primarily by their FTN77 Fortran Compiler[8]
  • X32 and X32VM by FlashTek and supported as a target byDigital Mars compilers
  • BLINKER by Blink Inc Version 3 and above provided a 286 DOS Extender for several 16 bit DOS compilers including CA-Clipper, Microsoft C/C++, PASCAL, FORTRAN and Borland C/C++. Supported unique 'Dual Mode' executables capable of running in either real or protected mode depending on the run time environment.
  • EMX
  • PMODE/W, a 32-bit Protected DOS extender for Watcom C/C++ compiler, recently made open-sourced since July 2023.[9]

Notable DOS extended applications

[edit]
icon
This sectiondoes notcite anysources. Please helpimprove this section byadding citations to reliable sources. Unsourced material may be challenged andremoved.(March 2011) (Learn how and when to remove this message)

References

[edit]
  1. ^Duncan, Ray;Petzold, Charles; Schulman, Andrew; Baker, M. Steven; Nelson, Ross P.; Davis, Stephen R.;Moote, Robert (1992).Extending DOS: A Programmer's Guide to Protected-Mode DOS (2nd ed.).Addison-Wesley Publishing Company, Inc. pp. 433–462.ISBN 0-201-56798-9.
  2. ^Williams, Al (October 1990). "Roll your own DOS extender: Part I".Dr. Dobb's Journal.15 (10).CMP Technology:16–18, 20, 24.ISSN 1044-789X.
  3. ^Williams, Al (November 1990). "Roll Your Own DOS Extender: Part II".Dr. Dobb's Journal.15 (11).CMP Technology: 74, 76, 80,81–83, 85,122–128, 130.ISSN 1044-789X.
  4. ^Williams, Al (1991).DOS 5: A Developer's Guide. Redwood City, California, USA:Markt&Technik.ISBN 1-55851-177-6.
  5. ^Williams, Al (1993).DOS 6: A Developer's Guide. Markt&Technik.ISBN 1-55851-309-4.
  6. ^Williams, Al (1993).DOS and Windows Protected Mode: Programming with DOS Extenders in C.Addison-Wesley. p. 30.ISBN 0-201-63218-7.
  7. ^"HX DOS Extender".
  8. ^FTN77 Fortran Compiler
  9. ^Charles Scheffold, Tomasz Pytel."PMODE/W". Retrieved2023-12-13.

External links

[edit]
MS-DOS, IBM PC DOS,
compatible systems
Otherx86
Other platforms
Retrieved from "https://en.wikipedia.org/w/index.php?title=DOS_extender&oldid=1300689109"
Category:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp