Respostas
B. Piropo
Anteriores:
< Windows/DOS >
Volte de onde veio
27/01/97
< Uso da memória expandida em Windows.>

P: OWindows95 não está reconhecendo toda a memória de minha máquina. Durante o boot, o teste de memória reconhece os 64 Mb, mas nem o Emm386 nem Windows conseguem usá-los. Quando a linha "DEVICE=EMM386.EXE RAM=65.536" que coloquei no Config.Sys é executada, aparece uma mensagem informando que os parâmetros da memória expandida estão sendo ajustados e logo o valor é corrigido para 32.768. Cheguei à conclusão de que o sistema não gerencia memória RAM maior que 32.768. De qualquer forma, não consigo explicar o sumiço de meus 32Mb.
R: Sua conclusão está errada. Memoria expandida é um recurso usado nos tempos do DOS para contornar o limite de 640K para programas e pouco tem a ver com a capacidade da memoria RAM instalada. Não confunda memória expandida com memória estendida. Uma nada tem a ver com a outra e nem Windows nem os programas modernos usam mais memória expandida. Informe-se sobre a diferença baixando o arquivo tz91.Zip que você encontrará em Escritos e leia a série sobre memórias publicada de 22/7/91 até 9/9/91. O driver Emm386.Exe, entre outras funções, gerencia a memória expandida, e o parâmetro RAM=65.536 que você usou em seu Config.Sys tenta fazê-lo reservar todos os 64Mb de RAM para a memória expandida. Como, felizmente, o máximo suportado pela versão corrente (LIM EMS 4.0) da especificação de memória expandida é 32Mb, o Emm386 faz o ajuste para este valor. O Windows, por sua vez, somente pode usar o que sobrou, por acaso também exatos 32Mb (por isto você tem a impressão de que 32Mb desapareceram). Para recuperar toda a sua memória, altere a linha de seu Config.Sys que carrega o Emm386.Exe para: "DEVICE = EMM386.EXE NOEMS". O parâmetro NOEMS dispensa o uso da memoria expandida (da qual provavelmente você não precisa, a não ser que use algum velho programa DOS que a exija) e coloca toda a memória RAM à disposição de Windows. (27/01/97)