É possível que você nunca tenha ouvido falar nessa história, mas há uma novela antiga sobre problemas relacionados à instalação de 4 GB de memória RAM em sistemas operacionais de 32 bits. Aliás, nessa história também entra a problemática dos programas e processadores compatíveis apenas com 32 bits de dados.
Se você está entre os felizardos que usam o Windows 7, Vista ou XP de 32 bits, já pode ter passado por esse tipo de situação. Todavia, quem sabe você nem se preocupou em investigar o porquê de tal “falha” ocorrer, afinal, os 3 GB de memória que o sistema detectou já seriam mais do que suficientes para sua máquina.
Acontece que não é bem assim. Como consumidor, você deve concordar que ao adquirir 4 GB de memória RAM, fica evidente que você deseja usufruir de tudo que possui. No entanto, por mais que você faça um escândalo, não vai conseguir utilizar todos os 4 GB de memória. Por quê? Isso é o que veremos no artigo de hoje.
Endereços
Os computadores possuem estruturas organizadas. Para que o sistema operacional possa se comunicar com os itens de hardware, ele utiliza endereços numéricos. Cada item do PC possui um endereço físico, ou seja, um código que possibilita ao Windows identificar que determinado componente é a placa de vídeo, outro é a memória RAM e assim por diante.
Aliás, o endereçamento dos componentes não é só uma característica que o sistema adota, mas também que os demais itens de hardware aproveitam. Os processadores também vêm prontos para trabalhar com endereços. E no caso das CPUs de 32 bits, o limite para o endereçamento da memória é de 4 GB (explicaremos mais à frente o porquê de tal valor).
O endereçamento de memória que o processador possibilita é chamado de Espaço de Endereço Virtual (VAS). Nesse espaço, serão endereçadas a memória RAM, a memória da placa de vídeo e a memória de outros componentes (que nem sempre utilizam grande quantidade).
Seja como for, é esse VAS que também limita o sistema operacional, porque o Windows se vê obrigado a reservar apenas 4 GB de endereços para todos os componentes. Assim, se forem instalados 4 GB de memória RAM, o sistema não conseguirá utilizá-los, pois deve reservar parte do VAS para outros itens de hardware.
E se você está pensando que no seu PC não deveria acontecer isso, só porque sua placa de vídeo é offboard, você está enganado. O VAS deve reservar endereços para todos os componentes, incluindo a placa de vídeo. Assim, seja sua placa gráfica onboard ou offboard, os endereços no VAS por ela ocupados serão os mesmos.
O problema está nos bits do sistema
Como você já deve ter lido aqui no Tecmundo, um bit é uma unidade que pode assumir apenas dois valores. E considerando os sistemas de 32 bits, fica fácil compreender a quantidade de memória que o sistema consegue acessar no barramento de endereços. Basta pegarmos o número 2 e elevarmos à potência 32 – uma matemática relativamente simples.
Ao efetuarmos o cálculo obtemos o resultado 4.294.967.296, ou seja, 4 GB. Sendo assim, temos a certeza definitiva de que o Windows de 32 bits consegue sim endereçar 4 GB de memória. Entretanto, essa quantidade de endereçamento não pode ser dedicada apenas à memória RAM, como já explicamos nos parágrafos acima.
(Fonte da imagem: Reprodução/MSDN)
E se eu trocar meu processador? Adquirir uma CPU que trabalhe com 64 bits é uma ideia sensacional, pois ela vem preparada para endereçar mais do que 4 GB as diversas memórias do computador. Acontece que só trocar de processador não resolve o problema. Como citamos, o limite de 4 GB é imposto tanto pelo sistema de 32 bits quanto pela CPU.
Segundo o site da Microsoft, o Windows Vista, por exemplo, pode utilizar até 3,12 GB de memória RAM. Entretanto, a página que contém tal informação não especifica quais componentes podem estar instalados na máquina. Em teoria, se o usuário possui uma placa de vídeo com 1 GB de memória, a quantidade de memória RAM que pode ser utilizada cai abaixo de 3 GB. E se forem duas placas de vídeo com essa quantidade, esse valor será inferior a 2 GB.
A solução
Para conseguir utilizar todos os 4 GB de memória RAM (e até mais) é preciso dispor tanto de um processador de 64 bits quanto de um sistema de 64 bits. O Windows 7 e o Vista de 64 bits já conseguem mapear mais do que 4 GB de memória, apesar de ainda possuírem limitações. Entretanto, a quantidade máxima para instalação nesses sistemas pode chegar a até 192 GB (no caso do Windows 7 Ultimate, Professional e Enterprise).
Após adotar essa solução, você poderá utilizar 8 GB de memória RAM ou mais. Todavia, ainda podem ocorrer limitações. Para contornar tais problemas é possível ativar o Memory Hoisting ou o Memory Hole Remapping.
Esses dois recursos estão presentes na BIOS de algumas placas-mãe e possibilitam que, antes que o sistema comece a operar, o mapeamento de memória seja alterado (empurrando parte do VAS para um espaço que não gere conflitos). Apesar de possibilitar usar plenamente toda a memória instalada, o uso dessas opções não é recomendado, visto que elas podem gerar instabilidade.
Outra função que pode ajudar a complementar a memória inutilizada é a memória swap. O Windows, por exemplo, utiliza um arquivo do HD para armazenar dados temporários. O uso da memória swap é comum no Windows, sendo que você nem precisa ativá-la. Apesar de possibilitar expandir muito a quantidade de memória, devemos lembrar que a memória swap é bem lenta e de maneira alguma equivale ao 1 GB que o sistema não consegue usar da memória RAM.
As limitações dos softwares
Agora que você já compreendeu basicamente o problema, podemos salientar que mesmo em sistemas de 64 bits poderão ocorrer limitações. Não necessariamente no sistema ou no processador, mas nos programas. Ocorre que nem todos os softwares executados no Windows Vista e 7 de 64 bits são aplicativos nativos. Isso quer dizer que muitos aplicativos são de 32 bits, o que significa que eles terão limitações.
Em teoria, um programa de 32 bits está limitado a usar até 2 GB de memória RAM. Sendo assim, caso você use um sistema operacional de 64 bits e algum programa chegue a atingir tal valor, é possível que ele trave e seja encerrado sem apresentar qualquer mensagem específica. Isso ocorre porque o Windows gerencia o VAS da seguinte forma: 2 GB reservados para os processos e 2 GB reservados para o sistema.
Falando no Windows 64 bits, os aplicativos de 32 bits se obrigam a usar os primeiros 4 GB de memória. Isso porque eles apresentam certa incompatibilidade ao acessar o VAS que ultrapassa tal valor. Já com os aplicativos de 64 bits não existem problemas dessa natureza.
Você já passou por esse problema previamente? Conhecia as limitações dos softwares e dos itens de hardware? Deixe seu comentário.
Categorias