DOS extender

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

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 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

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. +moreEXE). 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. +more * 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

[url=https://web. archive. +moreorg/web/20180715032145/http://www. openwatcom. org/]Projekt Open Watcom C/C++ (anglicky)[/url] * [url=http://www. delorie. com/]DJ Delorie's site (anglicky)[/url] * [url=https://web. archive. org/web/20070219042626/http://www. dosextender. com/]X-32 VM DOS extender (anglicky)[/url] * [url=http://dos32a. narechk. net/index_en. html]DOS/32 Advanced DOS Extender (anglicky)[/url] * [url=http://tippach. business. t-online. de/wdosx/]Wuschel's DOS eXtender (anglicky)[/url] * [url=https://web. archive. org/web/20141013114801/http://www. japheth. de/HX. html]HX DOS Extender (anglicky)[/url] * [url=http://www. thefreecountry. com/programming/dosextenders. shtml]Free DOS Extenders and DPMI Hosts (anglicky)[/url] * [url=http://www. bttr-software. de/forum/forum. php]Forum pro DOSové extendery (anglicky)[/url].

Kategorie:DOS Kategorie:Architektura x86

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top