DOS Protected Mode Interface
# DOS Protected Mode Interface

DPMI (DOS Protected Mode Interface) è un'interfaccia che permette ad un programma DOS di funzionare nella modalità protetta e di accedere alla memoria estesa in un sistema operativo multitasking come Microsoft Windows. Quasi tutti gli extender DOS sono basati su DPMI e permettono di accedere a tutta la memoria disponibile nel PC e di funzionare nella modalità protetta.

Il servizio può funzionare a 16, 32 bit, o entrambi ("universal") ed è chiamato kernel DPMI, host DPMI o server DPMI. Viene fornito direttamente dal sistema operativo (host DPMI virtuale) o da un extender DOS (host DPMI reale). Il kernel DPMI può essere parte di un extender DOS come DOS4GW, DOS/32A, o separatamente, come CWSDPMI o HDPMI.

La prima specifica DPMI fu pubblicata nel 1989. La versione 0.9 fu pubblicata nel 1990 dal comitato DPMI e fu estesa nel 1991 con la versione 1.0. Le specifiche DPMI sono disponibili dai libri della Intel e online. La versione 1.0 non fu mai implementata in Windows, per questo molti extender DOS si basano sulla 0.9. Attualmente DPMIONE è l'unico che rispetta completamente le specifiche DPMI.

## VCPI

VCPI (Virtual Control Program Interface) era un metodo più vecchio e incompatibile per fare le stesse cose di DPMI ed era limitato al modo a 32 bit. VCPI era fornito dai gestori di memoria espansa in DOS: CEMM, QEMM e più tardi EMM386. Fu eclissato dal DPMI, e non era supportato dai programmi DOS eseguiti nella modalità protetta di Windows 3.0 (modalità 386 avanzata). I programmi VCPI venivano eseguiti nel Ring 0, che rendeva la protezione della memoria inutilizzabile. Non funzionava neanche sotto OS/2 2.0 e successivi. Windows 3.x supportavano VCPI solamente nella modalità Standard e Reale. Windows/386 2.1 e precedenti non erano compatibili con nessun DOS extender.

