Você está na página 1de 4

Memria Virtual

A Memria Principal (DRAM) tem tamanho limitado (mx, 1GB 8GB) e o tempo de acesso da ordem de nanossegundos. J a Memria Secundria (disco magntico) tem Grande capacidade de armazenamento (tipicamente, 80GB 1TB), porm o tempo de latncia da ordem de milissegundos( muito maior que o da memria principal). Pode no ser possvel manter um programa inteiro na memria principal. Pior: deseja-se rodar vrios programas ao mesmo tempo. A Soluo: manter apenas as partes ativas do(s) programa(s). Memria Virtual a tcnica que d ao programador a iluso de poder acessar rapidamente um grande espao de endereamento. Ou seja, d a iluso que a memria principal muito maior do que realmente . Um computador com arquitetura de 32 bits pode acessar 232 = 4GB de endereos de memria, mesmo que a RAM tenha apenas 1GB de tamanho. A tcnica de memria virtual permite que o tamanho de um nico programa exceda a quantidade total de memria real disponvel para sua execuo. O processador sempre gera um endereo virtual, que traduzido para um endereo real por meio da MMU (memory management unit), que um sistema HW+SW.

A memoria virtual usa relocao que mapeia os endereos virtuais usados por um determinado programa em endereos fsicos (antes de tais

endereos serem usados para acessar a memria). A tcnica de relocao permite que partes de um programa sejam carregados em qualquer posio da memria principal. Todos os sistemas de memria virtual atuais relocam os programas por meio de blocos de tamanho fixo, as pginas. No endereo virtual os bits mais significativos servem para o mecanismo de traduo achar o endereo fisico da pgina.

A ocorrncia de uma falta de pgina, que quando um endereo virtual no se encontra na memria principal, consome milhes de ciclos de relgio. Esse o tempo para acessar a pgina correspondente no HD. Para melhorar o acesso a memria virtual faz-se: As pginas devem ser grandes o suficiente para amortizar o tempo de acesso muito grande (atualmente, de 16KB a 64KB); Uma tcnica de colocao totalmente associativa tende a proporcionar uma baixa taxa de falta de pgina(assim como na cache); As faltas de pgina podem ser tratadas por software, em funo de que algoritmos rpidos de software so melhores quando comparados ao tempo de acesso ao disco ; Os sistemas de memria virtual usam write-back. (Writethrough no funciona bem porque as escritas so muito demoradas.).

Tabela de Pginas
Permite a localizao das pginas. Indexa totalmente a memria principal e armazenada na memria principal e indexada com o nmero da pgina

extrado do endereo virtual e contm o nmero da pgina fsica correspondente. Cada programa possui sua prpria tabela de pginas. Um Registrador da tabela de pginas, aponta para a posio inicial da tabela de pginas na memria principal.

Quando Bit de residncia = 0 indica falta de pgina e o Sistema operacional assume o controle, por meio do mecanismo de exceo. O sistema operacional precisa encontrar a pgina faltante no nvel hierrquico inferior (geralmente, no HD) e decidir em que lugar da memria principal deve ser colocada a pgina requisitada. O endereo virtual, por si s, no informa em que posio do HD est a pgina que gerou a falta de pgina. O SO cria espao em disco para todas as pginas virtuais de um processo, quando da criao do processo. Neste momento, o SO tambm cria uma estrutura de dados para controlar onde cada pgina virtual est guardada no disco.