O que é DPMI
Assim como o 286, o 386 possui os dois modos de operação. A diferença é que no 386 é possível alternar entre o modo real e o modo protegido livremente.
Os programas que rodavam sobre DOS podiam chavear o processador para o modo protegido, para se beneficiarem de suas vantagens e voltarem ao modo real sempre que precisavam usar alguma sub-rotina do DOS, de maneira transparente ao usuário. Nesse caso, era usado um programa de DPMI ("DOS Protected Mode Interface", ou "interface DOS de modo protegido") para fazer o chaveamento entre os dois modos.
Toda vez que o programa precisava usar alguma sub-rotina do DOS, ele passava o comando ao chaveador e ficava esperando. O chaveador, por sua vez, colocava o processador em modo real, executava o comando, chaveava o processador para o modo protegido e entregava o resultado ao aplicativo, que continuava trabalhando como se nada tivesse acontecido. Um bom exemplo de programa de DPMI é o DOS4GW, que é usado por muitos jogos antigos que rodam sobre o MS-DOS, como o DOOM, Sim City 2000 e vários emuladores de videogames.
O esquema de chaveamento também era utilizado pelo Windows 3.x, que incluía todas as rotinas necessárias, dispensando qualquer programa de DPMI. O Windows 95/98 também pode chavear para o modo real caso precise carregar algum driver de dispositivo de modo real. No Windows XP os programas DOS passaram a ser executados dentro de um emulador (ao invés de nativamente), o que reduziu a compatibilidade do sistema com os aplicativos MS-DOS.
Fonte: hardware.com.br
