Upload
matheus-pinto
View
67
Download
0
Embed Size (px)
Citation preview
5/17/2018 Mem ria Virtual - slidepdf.com
http://slidepdf.com/reader/full/memoria-virtual-55ab598996260 1/4
Memória Virtual
A Memória Principal (DRAM) tem tamanho limitado (máx, 1GB à 8GB) e
o tempo de acesso é da ordem de nanossegundos. Já a Memória Secundária
(disco magnético) tem Grande capacidade de armazenamento (tipicamente,
80GB à 1TB), porém o tempo de latência é da ordem de milissegundos(
muito maior que o da memória principal).
Pode não ser possível manter um programa inteiro na memória principal.
Pior: deseja-se rodar vários programas “ao mesmo tempo”. A Solução:
manter apenas as partes ativas do(s) programa(s).
Memória Virtual é a técnica que dá ao programador a ilusão de poderacessar rapidamente um grande espaço de endereçamento. Ou seja, dá a
ilusão que a memória principal é muito maior do que realmente é. Um
computador com arquitetura de 32 bits pode acessar 232
= 4GB de
endereços de memória, mesmo que a RAM tenha apenas 1GB de tamanho.
A técnica de memória virtual permite que o tamanho de um único
programa exceda a quantidade total de memória real disponível para sua
execução. O processador sempre gera um endereço virtual, que é traduzido
para um endereço real por meio da MMU (memory management unit ), queé um sistema HW+SW.
A memoria virtual usa relocação que mapeia os endereços virtuais usados
por um determinado programa em endereços físicos (antes de tais
5/17/2018 Mem ria Virtual - slidepdf.com
http://slidepdf.com/reader/full/memoria-virtual-55ab598996260 2/4
endereços serem usados para acessar a memória). A técnica de relocação
permite que partes de um programa sejam carregados em qualquer posição
da memória principal. Todos os sistemas de memória virtual atuais relocam
os programas por meio de blocos de tamanho fixo, as páginas.
No endereço virtual os bits mais significativos servem para o mecanismo
de tradução achar o endereço fisico da página.
A ocorrência de uma falta de página, que é quando um endereço virtual não
se encontra na memória principal, consome milhões de ciclos de relógio.
Esse é o tempo para acessar a página correspondente no HD.
Para melhorar o acesso a memória virtual faz-se:
As páginas devem ser grandes o suficiente para amortizar o
tempo de acesso muito grande (atualmente, de 16KB a 64KB);
Uma técnica de colocação totalmente associativa tende a
proporcionar uma baixa taxa de falta de página(assim como na
cache);
As faltas de página podem ser tratadas por software, em
função de que algoritmos rápidos de software são melhoresquando comparados ao tempo de acesso ao disco ;
Os sistemas de memória virtual usam write-back.
(Writethrough não funciona bem porque as escritas são muito
demoradas.).
Tabela de Páginas
Permite a localização das páginas. Indexa totalmente a memória principal eé armazenada na memória principal e indexada com o número da página
5/17/2018 Mem ria Virtual - slidepdf.com
http://slidepdf.com/reader/full/memoria-virtual-55ab598996260 3/4
extraído do endereço virtual e contém o número da página física
correspondente.
Cada programa possui sua própria tabela de páginas. Um Registrador da
tabela de páginas, aponta para a posição inicial da tabela de páginas namemória principal.
Quando Bit de residência = 0 indica falta de página e o Sistema operacional
assume o controle, por meio do mecanismo de exceção. O sistema
operacional precisa encontrar a página faltante no nível hierárquico inferior
(geralmente, no HD) e decidir em que lugar da memória principal deve ser
colocada a página requisitada. O endereço virtual, por si só, não informa
em que posição do HD está a página que gerou a falta de página.
O SO cria espaço em disco para todas as páginas virtuais de um processo,quando da criação do processo. Neste momento, o SO também cria uma
estrutura de dados para controlar onde cada página virtual está guardada no
disco.