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)