Mind map
Memória Principal
Map content
Memória Principal
Segmentação
- Esquema de gerenciamento de memória
- Visão lógica da memória para o usuário
- Programa como coleção de segmentos (unidades logicas)
- Endereço lógico
- É um par ordenado
- <número-segmento, deslocamento>
- Tabela de segmento
- Mapeamento de endereços físicos bidimensionais
- Cada entrada tem uma base (end. fís. inicial) e limite (tamanho segmento)
- É um par ordenado
- Criação de segmentos
- Criadas pelo compilador e separados em regioes
- Registradores
- Registrador de base da tabela de segmento (STBR)
- Aponta para o local da tabela de segmento na memória
- Registrador de tamanho da tabela de segmento (STLR)
- Indica o número de segmentos usados por um programa
- Número de segmento s é válido se s < STLR
- Registrador de base da tabela de segmento (STBR)
- Problemas
- Algoritmo de substituição
- Mais complexo que paginação
- Fragmentação externa
- Segmentos de tamanhos variáveis
- Algoritmo de substituição
- Esquema de gerenciamento de memória
Paginação
- Esquema de gerência de memória
- Espaço de endereços físicos de um processo seja não-contíguo
- "Divisões"
- Processo em páginas
- MP em quadros/molduras/frames
- Mesmo Tamanho
- Potencia de 2
- Mesmo Tamanho
- Vantagens
- Elimina fragmentação externa
- Processo não precisa estar completamente na MP
- Fragmentação interna pequena
- Endereços gerados dinamicamente
- Em tempo de execução
- Método Básico
- Endereço gerado pela CPU divida em:
- Número de página (p): m - n
- Índice para tabela de páginas
- Localiza o endereço base na mem. fis.
- Deslocamento de página (d): n
- Combinado com o endereço base
- Define o endereço físico final
- Número de página (p): m - n
- Tamanho de Espaço de Endereço Lógico
- Total = 2^m
- Cada página = 2^n
- Como funciona
- 1 - CPU gera um endereço lógico
- 2- Número de página usado para consultar a tabela
- 3 - Deslocamento combinado com o endereço base
- 4 - Endereço físico é gerado e enviado para a memória
- Endereço gerado pela CPU divida em:
- Implementação da tabela de página
- Métodos de Armazenamento
- Máquinas simples
- Registradores dedicado
- Páginas com até 256 entradas
- Computadores modernos
- Páginas maiores
- Tabela na MP
- Máquinas simples
- Tabela de Página em memória
- Registrador Base da Tabela de Página (PTBR)
- Aponta para a tabela de página
- 1º Acesso: Localizar a página usando PTBR e endereço de deslocamento
- Problema: Acesso atrasado por um fator de 2
- 2º Acesso: Formar endereço físico e acessar o dado/instrução
- Registrador Base da Tabela de Página (PTBR)
- Solução do problema dos dois acessos
- Memória Associativa (TLBs)
- Cache especializado
- TLB Hit e TLB Miss
- Com Identificadores de Espaço de Endereço (ASIDs)
- Associada a cada entrada da TLB
- Proteção e compartilhamento entre processos
- Sem ASIDs
- TLB precisa ser esvaziada caso tenha mudança de contexto
- Memória Associativa (TLBs)
- Métodos de Armazenamento
- Proteção de memória
- Bit de proteção (válido-inválido) associado a cada quadro
- Válido
- Página no espaço de endereço lógico do processo
- Inválido
- Válido
- Bit de proteção (válido-inválido) associado a cada quadro
- Páginas Compartilhadas
- Código Compartilhado
- Código somente leitura e reentrante
- Compartilhado entre processos
- Mesmo local no espaço de endereço lógico de todos os processos
- Código e dados privados
- Cada processo mantém uma cópia separada
- Páginas podem ocupar qualquer lugar no espaço de endereço lógico
- Código Compartilhado
- Esquema de gerência de memória
Estrutura da Tabela de Páginas
- Paginação Hierárquica
- Aloca tabela de forma contigua na memória
- Impropria em arquiteturas 64 bits
- Solução
- Dividir essa tabela de página em pedaços menores
- Tabelas de Página com Hash
- Comuns em endereços maiores que 32 bits
- Número da página virtual submetido a uma função hash
- Hash retorna localização na tabela com hash
- Entradas
- Número da página virtual
- Quadro de página mapeado
- Ponteiro para próximo elemento
- Tabelas de Página Invertidas
- Uma tabela para o sistema todo
- Apenas uma entrada para cada pagina
- Cada entrada na tabela corresponde a uma pagina na memoria
- Com informações sobre o processo que possui a página
- Diminui a memória para armazenar cada tabela
- Aumenta o tempo de pesquisa quando ocorre referencia
- Tabela ordenada por endereço físico
- Pesquisa ocorre por endereço virtual.
- Uso de tabela de hash para limitar a busca
- Uma tabela para o sistema todo
- Paginação Hierárquica