SISTEMAS OPERACIONAIS
4.3 Memória Virtual
É necessária, quando o total de memória necessária para um
conjunto de processos excede o tamanho da memória física.
-- Também aqui, usa-se parte do disco como extensão da
memória RAM.
A grande maioria dos SO’s (exceto alguns para tempo real),
implementam Memória Virtual.
MV usa a técnica de paginação: a paginação da memória do
computador é um processo de virtualização da memória que
consiste na subdivisão da memória física em pequenas partições (frames), para permitir uma
utilização mais eficiente da mesma.
As frames da memória física correspondem a páginas de
memória virtual.
A alocação de memória é requisitada por páginas, a menor
unidade deste método.
Cada página é mapeada numa frame de memória através de um
processo que chama paginação.
•? Memória física e espaço de endereçamento lógico de cada processo são divididos em partições de mesmo tamanho:
•? Espaço do processo é dividido em páginas
•? Memória é dividida em quadros de página
•? Em vez de fazer o swap in/out de uma imagem inteira de processo, cada página pode ser movida do disco para a memória e vice-versa.
Troca de página
acontece quando
– O processo solicita uma página que não existe na memória
física, falta de página.
– Não existe frames livres disponíveis na memória física, o
SO precisa escolher uma página a ser removida para liberar
espaço;
O hardware cria uma cilada para o núcleo, salvando o
contador do programa na pilha.
Uma rotina em código é iniciada para salvar o contedo dos
registradores de uso geral;
((• O sistema operacional descobre a ocorrência de uma
falta de página e tenta descobrir qual página virtual é
necessária.))
• Uma vez conhecido o endereço virtual que causou a falta
da página, o sistema verifica se esse endereço é válido e
se a proteção é consistente com