Memória DOS, por vezes referida como memória convencional, refere-se ao esquema de endereçamento de memória usado no IBM original e PCs compatíveis. Estes vieram com apenas um sistema operacional , o Disk Operating System , e este sistema operacional teve que ser projetado para trabalhar com o microprocessador do PC , o Intel 8088. Devido às limitações de engenharia do 8088, os endereços de armazenamento ou memória foram limitados a um máximo de um megabyte . (Mais tarde, é claro, os PCs vieram com 2, 4, 8, e os atuais 16 e 32 megabytes comuns de RAM). Na época, porém, um megabyte era considerado uma quantidade bastante grande de memória para poder acessar.
Uma certa quantidade de memória de acesso aleatório era reservada como um lugar para carregar no sistema básico de entrada/saída ou programa de inicialização, outro espaço era reservado para áreas de buffer para dados de exibição, e outro espaço para dados de interrupção, e assim por diante. Os 640 kilobytes de memória restantes podiam ser usados pelo sistema operacional DOS (que era relativamente pequeno) e programas aplicativos.
A razão de tudo isso não ser acadêmico é que, como novos microprocessadores e sistemas operacionais foram desenvolvidos, muitos programas antigos escritos com a memória original endereçando limitações precisam continuar rodando nos sistemas mais novos. Isto significa que os sistemas mais novos tiveram que acomodar os programas mais antigos para que eles possam rodar no limite original de 640 kilobytes de endereço contíguo. Um programa que é executado com esta restrição é descrito como executando em modo protegido . (Programas rodando sem esta restrição são descritos como rodando em modo protegido .)
Com os sucessores dos microprocessadores 8088, 80286 e 80386, a memória disponível aumentou consideravelmente, com até 15 megabytes possíveis em um 286 e até quase 4 gigabytes de RAM possíveis em um 386. Esta memória extra acima do megabyte original que o DOS foi projetado para endereçar se chama memória estendida . Ser capaz de endereçar memória estendida significa correr em modo protegido.
Em geral, as aplicações DOS só podem correr em modo real uma vez que o próprio DOS requer a restrição de memória. No entanto, alguns programas foram desenvolvidos chamados Extensores de DOS que podem ser compilados com a aplicação e fornecer uma capacidade de gerenciamento de memória integrada. Para que múltiplos programas DOS com extensores de memória possam ser executados simultaneamente, foi necessária alguma abordagem comum para que os programas pudessem compartilhar a memória estendida de forma eficaz. Vários padrões desenvolvidos para gerenciar esse compartilhamento: XMS (Extended Memory Specification), VCPI (Virtual Control Program Interface), e DOS Protected Mode Interface (DOS Protected Mode Interface).