DPMI
DPMI (DOS Protected Mode Interface) — протокол доступа к памяти, с помощью которого DOS-программа может использовать дополнительную память персонального компьютера с адресами выше 1 Мбайта, недоступную при работе процессора 80x86 в реальном режиме. Практически все DOS-расширители основаны на DPMI и позволяют программам DOS обращаться ко всей памяти компьютера и работать в защищённом режиме.
История
Впервые протокол был разработан компанией Microsoft для Windows 3.0 в 1989 году, впоследствии работа над проектом была передана специальному комитету с открытым членством.[1] В 1990 году им была выпущена версия 0.9, а в 1991 — версия 1.0. Дополнительная функция под названием «True DPMI» была предложена в версии 0.9, но она не вошла в официальный релиз. Тем не менее, она присутствует в некоторых продуктах. В то время как Windows 3.0 включала поддержку DPMI 0.9[2], версия 1.0 никогда не была включена в Microsoft Windows, поэтому многие программы и расширители DOS были написаны исключительно под версию 0.9. Самым известным отдельным ядром DPMI является CWSDPMI, но даже он поддерживает только версию 0.9 и в нём отсутствует «DOS API translation». В настоящее время единственным отдельным DPMI-хостом, полностью поддерживающим DPMI 1.0, является DPMIONE.
Технические характеристики
Сервис DPMI может быть 16-битным, 32-битным или «универсальным» и может называться DPMI-ядром, хостом или сервером. Он предоставляется либо операционной системой (виртуальный DPMI-хост), либо расширителем DOS (реальный DPMI-хост). Ядро DPMI может быть частью DOS-расширителя, такого как DOS/4GW или DOS/32A, либо идти отдельно, как CWSDPMI или HDPMI.
Примечания
- Duncan, Ray. Extending DOS: A Programmer's Guide to Protected-Mode DOS (англ.). — 2-е изд.. — Addison-Wesley, 1992. — P. 433—436. (англ.)
- FILE: Windows Int 21h and NetBIOS Support for DPMI (MSKB65128) . База знаний. Microsoft (4 августа 2004). Дата обращения: 5 октября 2008. Архивировано 1 марта 2012 года. (англ.)
Ссылки
- DPMI Спецификации версии 0.9 (англ.)
- DPMI Спецификации версии 1.0 (англ.)
- CWSDPMI
- HX расширитель DOS, содержащий HDPMI (HXRT.ZIP) (англ.)
- Документация по DPMIONE (англ.)