Memória estendida - Extended memory

A memória estendida está localizada acima de 1 MB.

Na gestão de memória DOS , memória estendida refere-se a memória acima do primeiro megabyte (2 20 bytes) do espaço de endereço em um IBM PC ou compatível com um 80.286 ou mais tarde processador . O termo é usado principalmente nos sistemas operacionais DOS e Windows . Os programas DOS, em execução no modo real ou no modo x86 virtual , não podem acessar diretamente essa memória, mas podem fazê-lo por meio de uma interface de programação de aplicativo chamada Extended Memory Specification (XMS). Esta API é implementada por um driver (como o HIMEM.SYS ) ou pelo sistema operacional, que cuida do gerenciamento da memória e da cópia da memória entre a memória convencional e estendida, alternando temporariamente o processador para o modo protegido . Nesse contexto, o termo "memória estendida" pode se referir a toda a memória estendida ou apenas à parte disponível por meio desta API.

A memória estendida também pode ser acessada diretamente por programas DOS em execução no modo protegido usando VCPI ou DPMI , dois métodos (diferentes e incompatíveis) de usar o modo protegido no DOS.

Memória estendida não deve ser confundida com memória expandida (EMS), um método anterior para expandir a capacidade de memória do IBM PC além de 640 kB (655.360 bytes) usando um cartão de expansão com módulos de memória comutados por banco . Por causa do suporte disponível para memória expandida em aplicativos populares, foram desenvolvidos drivers de dispositivo que emulavam a memória expandida usando memória estendida. Mais tarde, dois métodos adicionais foram desenvolvidos, permitindo o acesso direto a uma pequena parte da memória estendida do modo real. Essas áreas de memória são chamadas de área de memória alta (HMA) e área de memória alta (UMA; também chamada de blocos de memória alta ou UMBs).

Visão geral

Em PCs baseados em x86 , a memória estendida está disponível apenas com um processador Intel 80286 ou superior. Apenas esses chips podem endereçar mais de 1 megabyte de RAM . Os anteriores 8086 / 8088 processadores pode fazer uso de mais de 1 MB de RAM se emprega hardware especial para fazer peças selecionáveis dela aparecer nos endereços abaixo de 1 MB.

Em um PC de 286 ou melhor equipado com mais de 640 kB de RAM, a memória adicional geralmente seria mapeada novamente acima do limite de 1 MB, uma vez que a arquitetura do IBM PC reserva endereços entre 640 kB e 1 MB para ROM do sistema e periféricos.

A memória estendida não está acessível no modo real (exceto por uma pequena parte chamada área de alta memória ). Somente os aplicativos em execução no modo protegido podem usar a memória estendida diretamente. Um sistema operacional de supervisão de modo protegido , como o Microsoft Windows, gerencia o acesso dos programas aplicativos à memória. O processador disponibiliza essa memória por meio da Tabela Descritor Global (GDT) e uma ou mais Tabelas Descritoras Locais (LDTs). A memória é "protegida" no sentido de que segmentos de memória atribuídos a um descritor local não podem ser acessados ​​por outro programa porque esse programa usa um LDT diferente, e segmentos de memória atribuídos a um descritor global podem ter seus direitos de acesso restritos, causando uma exceção de processador (por exemplo , uma falha de proteção geral ou GPF) na violação. Isso evita que os programas em execução no modo protegido interfiram na memória uns dos outros.

Um sistema operacional de modo protegido, como o Microsoft Windows, também pode executar programas em modo real e fornecer memória expandida para eles. O DOS Protected Mode Interface (DPMI) é o método prescrito pela Microsoft para um programa DOS acessar a memória estendida em um ambiente multitarefa .

Especificação de memória estendida (XMS)

A Extended Memory Specification ( XMS ) é a especificação que descreve o uso da memória estendida do IBM PC em modo real para armazenar dados (mas não para executar código executável nela). A memória é disponibilizada por software gerenciador de memória estendida ( XMM ), como HIMEM.SYS . As funções XMM são acessíveis através da função 2Fh 4310h de interrupção de software .

O XMS versão 2.0, lançado em julho de 1988, permitia até 64 MB de memória, com o XMS versão 3.0, isso aumentou para 4 GB (2 32 bytes). Para diferenciar entre a quantidade de memória possivelmente diferente que pode estar disponível para os aplicativos, dependendo da versão da especificação para a qual foram desenvolvidos, a última pode ser chamada de memória superestendida ( SXMS ).

O gerenciador de memória estendida também é responsável por gerenciar as alocações na área de memória alta (HMA) e na área de memória superior (UMA; também conhecida como blocos de memória superior ou UMBs). Na prática, a área de memória superior será fornecida pelo gerenciador de memória expandida (EMM), após o qual o DOS tentará alocá-los e gerenciá-los por conta própria.

Veja também

Referências

Especificações
Base de Conhecimento Microsoft
  • "Um tutorial geral sobre as várias formas de memória" . Suporte . Microsoft .
  • "Visão geral da funcionalidade de gerenciamento de memória no MS-DOS" . Suporte . Microsoft .
  • "Utilitário de diagnóstico da Microsoft: definição de SXMS" . Suporte . Microsoft .

links externos