memorias
Memoria virtual é uma tecnica sofisticada e poderosa de gerencia da memoria, ela consiste basicamente em combinar as memorias primarias e secudarias, dando a ilusão ao usuário de existir uma memoria maior que a capacidade real da memoria principal. O conceito de memoria virtual é fundamentado em não vincular o endereçamento feito pelo Sistema Operacional no endereço fisico da memoria principal, assim os programas e as estruturas de dados deixam de estar limitadas ao tamanho fisico da memória fisica disponivel, tornando disponivel os endereços da memoria secundaria ao programa.
Outra vantagem da técnica de memória virtual é permitir um maior número de processos que compartilham a memória principal, por que apenas parte dos processos estaram fixos, levando a utilização mais efeciente do processador. Essa tecnica tambem possibilita minimizar o problema da fragmentação da memória principal.
A primeira vez que implementaram a memória virtual foi no inicio da deca de 1960, no sistema Atlas , que foi desenvolvido pela Universidade de Manchester, no ano de 1972 a IBM introduziu este conceito comercialmente na familia System/370. Atualmente com exeção de alguns sistemas operacionais de Mainframe, todos os sistemas operacionais utiliza a memoria virtual.
Existe um relacionamento forte entre a gerência de memória virtual e a arquitetura de hardware do sistema computacional, devido ao desempenho e muito comum que algumas das funções da gerência de memória virtual seja implementada diretamente no hardware.
Nas proximas paginas nos iremos apresentar os conceitos de memória viltual e as principais tecnicas que permitem sua utilização: paginação, segmentação e segmentação com paginação.
1. Espaço de Endereçamento Virtual
O conceito de memória virtual se aproxima muito da ideia de vetor que existe nas linguagens de alto nível, quando o programa faz referencia a um elemento do vetor ele não se preocupa com a posição de memória daquele dado, a responsabilidade