DPMI (DOS Protected Mode Interface) este un protocol de acces la memorie prin care un program DOS poate folosi memoria suplimentară a unui computer personal cu adrese de peste 1 MB, care nu este disponibilă atunci când procesorul 80x86 rulează în modul real . Aproape toate extensiile DOS se bazează pe DPMI și permit programelor DOS să acceseze toată memoria computerului și să ruleze în modul protejat .
Protocolul a fost dezvoltat pentru prima dată de Microsoft pentru Windows 3.0 în 1989, iar ulterior munca la proiect a fost transferată unui comitet special cu apartenență deschisă. [1] În 1990, a lansat versiunea 0.9, iar în 1991 , versiunea 1.0. O caracteristică suplimentară numită „True DPMI” a fost propusă în versiunea 0.9, dar nu a fost inclusă în versiunea oficială. Cu toate acestea, este prezent în unele produse. În timp ce Windows 3.0 a inclus suport pentru DPMI 0.9 [2] , versiunea 1.0 nu a fost niciodată inclusă cu Microsoft Windows , atât de multe programe și extensii DOS au fost scrise exclusiv pentru versiunea 0.9. Cel mai cunoscut nucleu DPMI autonom este CWSDPMI, dar chiar și acesta acceptă doar versiunea 0.9 și nu are „traducere API DOS”. În prezent, singura gazdă DPMI autonomă care acceptă pe deplin DPMI 1.0 este DPMIONE .
Un serviciu DPMI poate fi pe 16 biți , pe 32 de biți sau „universal” și poate fi numit nucleu DPMI, gazdă sau server. Este furnizat fie de sistemul de operare (gazdă DPMI virtuală), fie de un extender DOS (gazdă DPMI reală). Nucleul DPMI poate face parte dintr-un extender DOS, cum ar fi DOS/4GW sau DOS/32A , sau poate veni separat ca CWSDPMI sau HDPMI .