Interfaccia in modalità protetta DOS (DPMI)

DPMI (DOS Protected Mode Interface) è un'interfaccia di programma che consente a un programma applicativo in esecuzione con il sistema operativo del disco (DOS) di sfruttare un DUE si estendono , che consente al programma di indirizzare un intervallo di memoria ad accesso casuale (RAM) più ampio rispetto ai 640 kilobyte a cui sono sostanzialmente vincolati i programmi per PC. Per utilizzare l'extender, il programma deve essere in "modalità protetta", una modalità che garantisce che alle richieste del programma non sia consentito l'accesso a determinate porzioni di memoria "protetta". (I programmi in esecuzione nella "modalità reale" alternativa hanno accesso a tutte le porzioni di memoria, inclusi i dati di sistema.)

Il primo sistema operativo ampiamente distribuito per personal computer, DOS è stato progettato per funzionare sul microprocessore Intel 8088. L'8088 forniva un megabyte di RAM che poteva essere indirizzato da un'istruzione di programma (ovvero, lo spazio di archiviazione totale per archiviare e ottenere dati avanti e indietro tra il microprocessore e la RAM era di un milione di byte). Poiché un certo spazio doveva essere riservato per l'uso del "sistema" (tenendo traccia delle applicazioni, dello stato del sistema e così via), solo 640 kilobyte erano disponibili per un programma applicativo. Questi byte erano contigui nella memoria (cioè, continuamente adiacenti l'uno all'altro e non divisi in parti diverse della RAM) e per eseguire e mantenere i dati all'interno di questo spazio di 640 kilobyte erano necessari programmi applicativi. Infatti, un'istruzione che violasse lo spazio di 640 kilobyte non verrebbe eseguita (proteggendo così lo spazio di sistema nella RAM). Un programma eseguito in "modalità reale" potrebbe indirizzare l'intero 1 megabyte di RAM compresi i dati di sistema, ma con il rischio di scrivere i dati nel posto sbagliato.

Poiché i nuovi microprocessori come l'80286 hanno seguito l'8088, il DOS ha continuato a preservare la limitazione di indirizzamento di 640 kilobyte in modo che i programmi applicativi scritti di recente potessero continuare a funzionare sia sui vecchi che sui nuovi microprocessori. Il programma di estensione DOS ha consentito ai programmi applicativi scritti per DOS di essere liberati dal vincolo 640K inserendo il codice di gestione della memoria nell'applicazione. Microsoft ha sviluppato il DPMI per l'utilizzo su Windows 3.0 (che era a sua volta un'applicazione DOS) e in seguito ha fornito lo standard a un'organizzazione del settore, il Comitato DPMI.

I personal computer odierni, che utilizzano microprocessori successivi all'8088, in genere contengono otto o più megabyte di RAM. I sistemi operativi odierni (comprese le ultime versioni DOS) sono dotati di una gestione estesa della memoria che libera il programmatore dai vincoli di indirizzamento originali.

Oltre all'interfaccia standard DPMI, esistono altre due interfacce di gestione della memoria estesa standard. Extended Memory Specification (XMS) è un programma aggiunto alle versioni più recenti di DOS e Windows quando il sistema viene caricato. Si chiama HIMEM.SYS. Un altro gestore di memoria estesa è la Virtual Control Program Interface (VCPI).