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 poder acessar 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 2 32 = 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

Memória Virtual

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.

5/17/2018 Mem ria Virtual - slidepdf.com

http://slidepdf.com/reader/full/memoria-virtual-55ab598996260 4/4