DOS extender

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

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

DOS extendery existují 16-bitové (pro procesory od 80286, nikdy nebyly příliš populární, dnes zcela bezvýznamné) a 32-bitové (od 80386, byly velmi populární 19921995, 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[editovat | editovat zdroj]

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 32-bitové extendery)). Potom testuje, jestli už je k dispozici DPMI, 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 („exceptions“ v 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[editovat | editovat zdroj]

16bitové[editovat | editovat zdroj]

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

32bitové[editovat | editovat zdroj]

  • 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[editovat | editovat zdroj]

Externí odkazy[editovat | editovat zdroj]