DOS extender

Tenberry Software's DOS/4GW startup banner

A DOS extender is a computer software program running under DOS that enables software to run in 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 DOS.

DOS extender operation

A DOS extender is a program that "extends" DOS so that programs running in protected mode can transparently interface with the underlying 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 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 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's (formerly Rational Systems) 386 extender DOS/4GW that brought protected mode DOS programs to a mass market. 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. 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 as Daggerfall 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-bit Assembly apps. Includes source code.
  • all Microsoft Windows versions since 1990, except NT branch, include both a DPMI server and DOS extender.[6]
  • HX DOS Extender provides limited Win32 support to allow Windows console (like Far Manager) and some Win32 GUI applications to run under DOS. It contains both 16-bit and 32-bit DPMI 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 DOS DJGPP programs.
  • QDPMI by Quarterdeck Office Systems, was a DPMI host included with QEMM.
  • GO32, used in older (pre-v2) versions of DJGPP, and Free Pascal
  • D3X is an DPMI sever written entirely in Assembly. 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 by Digital 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

References

  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". Retrieved 2023-12-13.

Read other articles:

1842 French legislative election ← 1839 9 July 1842 1846 →   First party Second party   Leader François Guizot Adolphe Thiers Party Resistance Party Opposition Seats won 266 193 Prime Minister before election Jean-de-Dieu Soult Resistance Party Elected Prime Minister Jean-de-Dieu Soult Resistance Party Legislative elections were held in France on 9 July 1842. Only citizens paying taxes were eligible to vote. Results 193266PartyVotes%SeatsResistance Party2...

 

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (يونيو 2018) ميكلوس فارغا   معلومات شخصية الميلاد 26 أغسطس 1987 (36 سنة)  دبرتسن  الطول 170 سنتيمتر  الجنسية المجر  الوزن 60 كيلوغرام  الحياة العملية المهنة ملاكم&#...

 

село Каменний Брод рос. Каменный Бродерз. Каменный Брод Країна  Росія Суб'єкт Російської Федерації Мордовія Муніципальний район Єльниківський район Поселення Єльниківське Код ЗКАТУ: 89218825003 Код ЗКТМО: 89618425106 Основні дані Населення 67 осіб (2010[1]) Поштовий індекс 431370 Ге

Claudette Mukasakindi representing Rwanda in the women's marathon at the 2012 Summer Olympics in London Medical personnel attending to an injured runner during the Kigali Peace Marathon In Rwanda, sport is supported by the government's Sports Development Policy of October 2012. This argues that sport has a number of benefits, including bringing people together, improving national pride and unity, and improving health. The policy identifies challenges to the development of sport in the country...

 

Bali HaiProdusenBali Hai Brewery IndonesiaNegara asalIndonesiaInternasional (hanya ekspor)Diperkenalkan1975VarianBali Hai Premium, Draft Beer, El Diablo Original, Panther BlackSitus webBali Hai Bali Hai Brewery Indonesia adalah sebuah perusahaan peracik merek bir di Indonesia yang berdiri sejak tahun 1975. Di Indonesia, Perusahaan ini memasarkan empat jenis varian bir, yaitu Bali Hai Premium, Draft Beer, El Diablo Original, dan Panther Black.[1] Nama Bali Hai diinspirasi oleh nama seb...

 

新店溪橋火燒車事故详情日期1948年5月28日时间14:58(中原標準時間)發車後地点臺灣新店溪橋(現今華翠大橋位置)国家或地区 中華民國运营商 交通部臺灣鐵路管理局事件类型行車中著火起因乘客攜帶危險品上車,引發火警统计死亡64(死亡和推定死亡)受伤76(輕傷和重傷)损失多件乘客行李和包裹、部分鐵軌枕木以及4節車廂  此章節的時間以東八區時間(UTC+8)為

Nizami Cinema Center The Nizami Cinema Center is a multiscreen cinema in Baku, Azerbaijan. It was built in 1940 and re-opened in 2011. History and performance Built in 1940, this is one of the oldest cinemas of the country. The cinema center was named after the poet Nizami Ganjavi. In Soviet times, this cinema hosted film festivals and premieres of new works of domestic and foreign filmmaking.[1] During the difficult period of the late 1980s and early 1990s, the interest in going to t...

 

1915 American filmThe Bachelor's RomanceUnicorn Film Service poster for the filmDirected byJohn EmersonWritten byMartha MortonProduced byDaniel FrohmanStarringJohn EmersonLorraine HulingGeorge LeGuereRobert CainSybilla PopeMaggie FisherCinematographyDal ClawsonProductioncompanyFamous Players Film CompanyDistributed byParamount PicturesRelease date February 11, 1915 (1915-02-11) CountryUnited StatesLanguageEnglish The Bachelor's Romance is a 1915 American comedy silent film dire...

 

Protein-coding gene in the species Homo sapiens RELBAvailable structuresPDBOrtholog search: PDBe RCSB List of PDB id codes1ZK9, 1ZKA, 2V2T, 3DO7, 3JSS, 3JUZ, 3JV0, 3JV4, 3JV6, 4JGM, 4JHBIdentifiersAliasesRELB, I-REL, IREL, REL-B, RELB proto-oncogene, NF-kB subunit, IMD53External IDsOMIM: 604758 MGI: 103289 HomoloGene: 4747 GeneCards: RELB Gene location (Human)Chr.Chromosome 19 (human)[1]Band19q13.32Start45,001,449 bp[1]End45,038,198 bp[1]Gene location (Mouse)Chr.Chromo...

Życie польск. Życie Специализация иллюстрированный, литература, культура, общество Периодичность еженедельно, позже раз в 2 недели, затем ежемесячник Язык польский Адрес редакции Краков, Львов Главный редактор Людвиг ЩепаньскийСтанислав Пшибышевский Страна  Австро-Венг...

 

Beer company of Tirana, AlbaniaThis article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Birra Tirana – news · newspapers · books · scholar · JSTOR (July 2022) (Learn how and when to remove this template message)Birra TiranaLocationTirana, AlbaniaOpened1960Key peopleCEO: Luan BregasiRevenue6.81 million $Owned byIndivi...

 

Town in Colorado, United States For the Pagosa thermal mineral springs, see Pagosa hot springs. Town in State of Colorado, United StatesPagosa Springs, ColoradoTownTower at Pagosa SpringsLocation of Pagosa Springs in Archuleta County, Colorado.Coordinates: 37°15′54″N 107°00′30″W / 37.26500°N 107.00833°W / 37.26500; -107.00833Country United StatesState State of ColoradoCounty[1]Archuleta County SeatIncorporated (town)March 18, 1891[2 ...

Citrus fruit The New Zealand grapefruit, also known as the Poorman, Poorman orange,[1] poorman's orange, poor man's orange, and goldfruit,[2] is a type of citrus fruit grown in New Zealand. Despite its name, it is not genetically a true grapefruit, but rather is believed to be a hybrid between a pomelo and a mandarin or tangelo. Origin The New Zealand grapefruit is thought to have originated in East Asia,[1][3] and is said to have been brought to Australia from...

 

1886 book by Friedrich NietzscheThis article is about the book by Friedrich Nietzsche. For other uses, see Beyond Good and Evil (disambiguation). Not to be confused with Beyond Freedom and Dignity. This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article possibly contains original research. Please improve it by verifying the claims made and adding inline citations. Statements consisti...

 

American politician (1904–1982) For the lawyer and politician in Ontario, Canada, see Clifford Case (Canadian politician). Clifford P. CaseUnited States Senatorfrom New JerseyIn officeJanuary 3, 1955 – January 3, 1979Preceded byRobert C. HendricksonSucceeded byBill BradleyMember of the U.S. House of Representativesfrom New Jersey's 6th districtIn officeJanuary 3, 1945 – August 16, 1953Preceded byDonald H. McLeanSucceeded byHarrison A. WilliamsMember of the New Jersey...

For the MBTA station, see Morton Street (MBTA station). United States historic placeMorton Street, Metropolitan Park System of Greater BostonU.S. National Register of Historic PlacesU.S. Historic district Show map of MassachusettsShow map of the United StatesLocationMorton St. between Arborway and Gallivan Boulevard, Boston, MassachusettsArea13 acres (5.3 ha)Built1930 (1930)Built byCity of Boston Dept. of Public WorksMPSMetropolitan Park System of Greater Boston MPSNRHP referen...

 

Voce principale: Associazione Sportiva Avellino 1912. Questa voce o sezione sull'argomento stagioni delle società calcistiche italiane non cita le fonti necessarie o quelle presenti sono insufficienti. Puoi migliorare questa voce aggiungendo citazioni da fonti attendibili secondo le linee guida sull'uso delle fonti. Segui i suggerimenti del progetto di riferimento. Unione Sportiva AvellinoStagione 1997-1998Sport calcio Squadra Avellino Allenatore Roberto Morinini, poi Aldo Cerantol...

 

Clothing worn in auto racing For other uses, see Racing suit (disambiguation). The 2007 racing suit of Formula One driver Fernando Alonso (left), and the 1990s suit of NASCAR driver Dale Earnhardt (right). A racing suit or racing overalls, often referred to as a fire suit due to its fire retardant properties, is clothing such as overalls worn in various forms of auto racing by racing drivers, crew members who work on the vehicles during races, track safety workers or marshals, and in some ser...

Wilayah kegubernuran Timur Raya, Hindia Belanda. Pada masa kini, kawasan ini dikenal sebagai Indonesia Timur. Groote Oost (Timur Raya) adalah sebuah kegubernuran di Hindia Belanda yang berdiri pada tahun 1938 sampai 1946. Kegubernuran ini terdiri dari semua pulau di sebelah timur Kalimantan (Sulawesi, Maluku, dan Nugini Barat, beserta pulau-pulau lepas pantainya) dan Jawa (Bali dan Nusa Tenggara). Ibu kotanya adalah Makassar yang terletak di Sulawesi.[butuh rujukan] Groote Oost dibent...

 

Radio station in Fort Moore, GeorgiaWKCNFort Moore, GeorgiaBroadcast areaColumbus, GeorgiaFrequency99.3 MHz (HD Radio)BrandingKissin' 99.3ProgrammingFormatCountrySubchannelsHD1: WKCN analogHD2: 106.9 Rocks (Active rock)HD3: Hip Hop 106.5 (Classic hip hop)HD4: Radio by Grace (Christian)OwnershipOwnerPMB BroadcastingSister stationsWCGQ, WRCG, WLTCHistoryFirst air date1992Technical informationFacility ID54670ClassC2ERP29,000 wattsHAAT166.9 meters (548 ft)Transmitter coordinates32°15′24...

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!