DOS extender

DOS extender je technologie programování, umožňující DOSovým programům efektivně využívat všechnu operační paměť počítače (místo 640 KB) u procesorů 80286 a novějších a navíc 32bitové adresování a instrukce u 80386 a vyšších.

DOS extendery existují 16bitové (pro procesory od 80286, nikdy nebyly příliš populární, dnes zcela bezvýznamné) a 32bitové (od 80386, byly velmi populární v letech 1992 až 1995, po příchodu Windows 95 popularita DOSu a tím i DOSových extenderů výrazně poklesla, přesto jsou některé dodnes vyvíjeny).

Funkce DOSového extenderu

Před načtením vlastního programu do paměti se načítá a spouští extender, umístěný na začátku programového souboru. Některé extendery jsou tam umístěny celé, nebo tam může být pouze část a zbytek je hledán v separátním souboru (nejznámější: DOS4GW.EXE). Extender nejdříve ověřuje systémové předpoklady (verze DOSu, a procesor (80386 pro 32bitové extendery)). Potom testuje, jestli už je k dispozici DPMI (DOS Protected Mode Interface - chráněný režim), pokud ne, aktivuje vlastní. Pro vlastní DPMI testuje, jaké „memory managers“ (HIMEM/XMS nebo EMM386/EMS/VCPI) jsou aktivní a podle toho se zařídí. Dobrý extender žádné nevyžaduje, ale pokud jsou aktivní, tak s nimi kooperuje. Vlastní program je načítán do „DPMI memory“, většinou nad 1 MB, a tam vykonáván v chráněném režimu. Pro přístup ke službám DOSu a BIOSu extender přepíná do reálného režimu (pokud je aktivní EMM386, tak do „V86 mode“). Pro přístup do „low memory“ poskytuje přenosové buffery. Po skončení programu DOS extender po sobě „uklidí“ a vrátí se do DOSu. Navíc se musí starat o korektní obsloužení přerušení (klávesnice, myš, …), chyb (výjimek procesoru, nedostatek paměti, …) a umožňovat spouštění jednoho programu z druhého, a to i různých typů (programy používající DOS extender nebo klasické programy pro reálný režim).

Některé známé DOSové extendery

16bitové

  • Pharlap 286 Extender (první vůbec)
  • Rational's DOS/16M
  • Borland Ergo-DPMI / RTM / DPMI16BI.OVL

32bitové

  • Pharlap 386 Extender
  • Borland Powerpack / RTM32 (pouze experimentální, nikdy nebyl příliš populární)
  • Rational's DOS4/GW (byl slavný, vývoj ukončen 1995)
  • PMODE/W
  • CauseWay (vývoj ukončen 2000, Public Domain)
  • DOS/32A (jeden z nejlepších, poslední verze z roku 2006)
  • GO32V1 / DJGPPV1
  • GO32V2 / DJGPPV2 / CWSDPMI
  • PMODE/DJ
  • WDOSX
  • HX-DOS extender

Některé programy používající DOSové extendery

  • AutoCAD 11 (PharLap 386)
  • Adobe Acrobat Reader 1.0 (DOS/4GW)
  • Lotus 1-2-3 Release 3
  • Oracle Professional
  • IBM Interleaf
  • Major BBS, BBS software používající Phar Lap DOS extender.
  • Quarterdeck DESQview a DESQview/X
  • Watcom C, C++ a Fortran compiler pro procesory x86
  • id Software DOOM a jeho pokračování
  • Crack dot com's Abuse
  • Mnoho DOSových her z let 1991–1995 (DOS/4GW, např. Duke Nukem 3D, Warcraft, Warcraft 2, Abuse, …)
  • MPXPLAY audio player (audiopřehrávač) (DOS/32A & DOS4G)
  • NDN file manager (DOS/32A)
  • QuickView video player (DOS/32A)
  • „Display“ video player (CWSDPMI/GO32V2)
  • F-PROT Antivirus for DOS (CauseWay)
  • Norton Ghost (pouze malá část programu, běžící v DOSu) (CWSDPMI/GO32V2)

Externí odkazy

  • Projekt Open Watcom C/C++ (anglicky)
  • DJ Delorie's site (anglicky)
  • X-32 VM DOS extender (anglicky)
  • DOS/32 Advanced DOS Extender (anglicky) Archivováno 5. 10. 2007 na Wayback Machine.
  • Wuschel's DOS eXtender (anglicky)
  • HX DOS Extender (anglicky)
  • Free DOS Extenders and DPMI Hosts (anglicky)
  • Forum pro DOSové extendery (anglicky)