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.


Примечания[править | править вики-текст]

  1. Duncan Ray Extending DOS: A Programmer's Guide to Protected-Mode DOS. — 2-е изд.. — Addison-Wesley, 1992. — P. 433-436. — ISBN ISBN 0-201-56798-9 (англ.)
  2. FILE: Windows Int 21h and NetBIOS Support for DPMI (MSKB65128). База знаний. Microsoft (August 4 2004). Проверено 5 октября 2008. Архивировано из первоисточника 1 марта 2012. (англ.)

Ссылки[править | править вики-текст]