Memória virtual - paginação e segmentação
Antigamente os programadores lidavam com programas maiores que a memó¬ria disponível, a solução era dividir o programa em módulos, denominados overlays (módulos de sobreposição), os overlays eram mantidos em disco e carregados na memória pelo sistema operacional, à medi¬da que se tornavam necessários. Apesar da troca destes módulos serem feitos pelo sistema, a divisão do programa tinha de ser feita pelo programador. Em programas robustos, esta divisão dava muito trabalho, assim não demorou muito para se pensar em atri¬buir essa tarefa ao computador. Para isso foi concebido um método (Fotheringham, 1961) que ficou conhecido como memória virtual, que utiliza uma técnica sofisticada de gerência de memória, onde as memórias principal e secundária são combinadas, dando a ilusão de existir uma memória maior que a memória principal. Ou seja, a memória virtual é uma técnica que utiliza parte do HD como se fosse uma memória RAM, assim o sistema operacional executa aplicações mesmo que os programas em execução supere a capacidade da memória. O sistema operacional trabalha movendo para o disco o conteúdo da memória principal que ainda não foi utilizado, liberando espaço para novas aplicações e deixando os dados que foram movidos em modo de espera, para que sejam utilizados posteriormente quando necessário. É preciso salientar que quando o usuário faz uso da memória virtual, o desempenho do computador tende a cair e ficar mais brando, pois o acesso ao HD é mais lento que o da memória principal. Apesar de tudo, a virtualização de memória não é utilizada constantemente como em alguns anos atrás, devido ao grande aumento da capacidade da memória RAM, que atualmente pode ultrapassar 8 Gbs, excluindo praticamente qualquer necessidade de memória virtual, mas em alguns casos ela ainda é utilizada.
Paginação
A paginação é um processo da gerência de memória onde o espaço de endereçamento virtual e o espaço de