Memória expandida (EM) é um termo abrangente ou guarda-chuva para diversas variantes de tecnologia que não necessariamente funcionam entre si ou estão diretamente relacionadas umas às outras. Sabendo disso, entenda o que é e como funciona a memória expandida no artigo a seguir.
O que significa memória expandida?
Essas tecnologias foram criadas para resolver o mesmo problema, o limite de 640 KB de memória utilizável para programas no sistema operacional DOS. A variante de memória expandida mais usada foi a Expanded Memory Specification (EMS) ou LIM EMS.
A Techopedia explica a memória expandida
A memória expandida refere-se a vários métodos para permitir o uso de mais do que o limite padrão de 640 KB imposto pelo sistema operacional DOS.
O sistema de memória expandida mais amplamente utilizado foi a especificação desenvolvida em conjunto pela Lotus Software, Intel e Microsoft, chamada simplesmente de Especificação de Memória Expandida. Mas, para diferenciá-la das outras, às vezes era chamada de LIM EMS para indicar os desenvolvedores. A primeira versão amplamente utilizada foi a EMS 3.2, que era capaz de suportar até 8 MB de memória expandida.
Outra tecnologia de memória expandida foi desenvolvida pela AST Research, Ashton-Tate e Quadram, a Extended EMS (EEMS), e competia diretamente com a LIM EMS 3.x. A EEMS permitia que qualquer região de 16 KB na RAM inferior fosse mapeada para a memória expandida, desde que não estivesse diretamente associada a interrupções da CPU ou à memória de E/S dedicada usada por placas de vídeo e de rede.
Isso significava que os programas podiam ser alternados para dentro e para fora da RAM extra. Entretanto, praticamente todos os recursos do EEMS foram incorporados ao LIM EMS.
A IBM também tinha sua própria especificação de memória expandida, chamada de XMA (Expanded Memory Adapter, adaptador de memória expandida). Eles usavam placas de expansão que podiam ser endereçadas por um modelo de memória expandida ou memória estendida.
Essas placas não funcionavam com o EMS imediatamente e o driver do IBM DOS usado para elas era o XMAEM.SYS, mas um driver posterior chamado XMA2EMS.SYS proporcionou emulação EMS às placas XMA.