Memória virtual e tradução
Relocação, fragmentação, segmentação, páginas, tabelas e TLB.
Modelo
A MMU traduz com o mapa do processo e verifica permissões. Virtuais iguais podem dar físicos distintos; espaço virtual não é RAM.
- Cache guarda conteúdo; TLB guarda traduções. Miss de um não prova falta do outro.
- Base , limite : válido se ; físico . Limite exclusivo.
- Contígua: first-fit (primeiro), best-fit (menor), worst-fit (maior); atualiza buracos a cada pedido. Externa: sem região contígua. Interna: capacidade atribuída sem uso.
- Segmento: base, limite e permissões por região de tamanho variável.
Paginação
Páginas e molduras com bytes. Para o virtual , com página , deslocamento , moldura e endereço físico :
O deslocamento passa intacto. Com , 0x1A3F5 dá página 0x1A, deslocamento 0x3F5; na moldura 7, 0x073F5 ().
Tabela usada: página 0 → moldura 3; 1 → 0; 2 → 5; 3 → 1; 4 → 7; 5 → 2; 6 → 6; 7 → 4. Só as primeiras 64/P entradas pertencem ao espaço virtual.
- Região de bytes alinhada: páginas; sobra .
- Tabela linear de 32 bits com 4 KiB e 4 B/entrada: entradas, 4 MiB.
- Multinível: 10 bits exteriores, 10 interiores, 12 de deslocamento. Só cria interiores para regiões mapeadas.
TLB e proteção
para tabela de um nível, sem caches nem faltas. Aqui é o acesso ao TLB, o acesso à memória e a taxa de acerto, com . Com duas tabelas no miss: . Não somes custos já incluídos no enunciado.
- Miss do TLB não é falta de página.
valid/presentvariam por modelo: lê o enunciado. - Alcance aproximado: entradas vezes tamanho de página. Partilha de código é só leitura; COW copia à escrita.