Gerência de Memória Virtual: Paginação e Conceitos Essenciais
Classificado em Computação
Escrito em em português com um tamanho de 3,86 KB
Gerência de Memória Virtual por Paginação
Mapeamento de Endereços Virtuais para Físicos
Qual endereço físico está associado ao endereço virtual 4613?
O endereço virtual 4613 encontra-se na página virtual 9 (4613/512), que inicia no endereço virtual 4608. Como o deslocamento dentro do endereço virtual é 5, o endereço físico é a soma deste mesmo deslocamento ao endereço inicial do frame 2048, ou seja, 2053.
Exercício de Mapeamento com Tabela de Páginas
Um sistema operacional implementa gerência de memória virtual por paginação, com frames de 2KB. A partir da tabela abaixo, que representa o mapeamento de páginas de um processo em um determinado instante de tempo, responda:
Tabela de Mapeamento de Páginas:
- Página 0: 8KB (Frame 4)
- Página 1: 4KB (Frame 2)
- Página 2: 24KB (Frame 12)
- Página 3: 0KB (Frame 0)
- Página 4: 16KB (Frame 8)
- Página 5: 12KB (Frame 6)
- Página 9: 20KB (Frame 10)
- Página 11: 28KB (Frame 14)
a) Qual o endereço físico de uma variável que ocupa o último byte da página 3?
Página 3 está mapeada no frame 0KB (Frame 0). O último byte do frame 0 é (0 * 2KB) + (2KB - 1) = 2047.
b) Qual o endereço físico de uma variável que ocupe o primeiro byte da página 2?
Página 2 está mapeada no frame 24KB (Frame 12). O primeiro byte do frame 12 é (12 * 2KB) = 24576.
c) Qual o endereço físico de uma variável que tenha deslocamento 10 na página 3?
Página 3 está mapeada no frame 0KB (Frame 0). O primeiro endereço da página 3 é (0 * 2KB) = 0. Somando ao deslocamento 10, o endereço físico é 10.
d) Quais páginas do processo estarão na memória?
As páginas do processo que estão na memória, conforme a tabela, são: 0, 1, 2, 3, 4, 5, 9 e 11.
Conceitos Essenciais em Memória Virtual
Page Faults e Programas Não Estruturados
Por que programas não estruturados estão sujeitos a uma alta taxa de page faults?
Porque o princípio da localidade não se faz presente em códigos desestruturados.
Impacto do Tamanho da Página na Paginação
Explique por que páginas pequenas podem aumentar a taxa de paginação.
Existe uma relação entre o tamanho da página e o número de operações de E/S que o sistema deverá executar para carregar as páginas da memória secundária para a memória principal. Quanto menor o tamanho da página, maior o número de operações de E/S, aumentando a taxa de paginação. Por outro lado, páginas pequenas oferecem menor fragmentação interna.
Endereçamento Virtual e Tabelas de Páginas de Dois Níveis
Um sistema computacional com espaço de endereçamento de 32 bits utiliza uma tabela de páginas de dois níveis. Os endereços virtuais são divididos em um campo de 9 bits para o primeiro nível da tabela, outro de 11 bits para o segundo nível e um último campo para o deslocamento. Qual o tamanho das páginas? Quantas páginas podem existir no espaço de endereçamento virtual (Tanenbaum, 1992)?
Como existem 12 bits para o deslocamento, temos 212 endereços, ou seja, páginas de 4KB. Como existem 20 bits para o endereçamento de páginas virtuais, temos 220 páginas possíveis.
O Fenômeno do Thrashing em Memória Virtual
O que é o thrashing em sistemas que implementam memória virtual?
Thrashing é consequência da excessiva paginação/segmentação em sistemas que implementam memória virtual, levando o sistema a dedicar mais tempo com operações relacionadas à gerência da memória do que no processamento das aplicações dos usuários.