Please enable JavaScript.
Coggle requires JavaScript to display documents.
MEMÓRIA PRINCIPAL - Coggle Diagram
MEMÓRIA PRINCIPAL
CONCEITOS BÁSICOS
Antecedentes
Memória = array de bytes endereçáveis
CPU busca e executa instruções da memória
Ciclo
Busca
Decodificação
Execução
Armazenamento
Hardware Básico
Acesso direto
CPU → Registradores + MP
Cache
Gerenciado pelo hardware
Proteção
Registradores base/limite
Vinculação de Endereços
Compilação
Código absoluto
Carga
Código relocável
Execução
Relocação dinâmica (MMU)
Espaços de Endereçamento
Lógico
Gerado pela CPU
Físico
Visto pela memória
MMU
Faz tradução entre espaços
Técnicas Avançadas
Carga Dinâmica
Rotinas carregadas sob demanda
Vinculação Dinâmica
Bibliotecas compartilhadas (DLLs)
SEGMENTAÇÃO
Conceito
Divisão lógica do programa (código, dados, pilha...)
Endereço lógico
<segmento, deslocamento>>
Implementação
Tabela de segmentos
Base + limite por segmento
STBR
Aponta para tabela
STLR
Número de segmentos
Problemas
Fragmentação externa
Algoritmos complexos para tamanhos variáveis
SWAPPING
Permuta-Padrão
Processos trocados entre MP e memória secundária
Aumenta grau de multiprogramação
Tempo proporcional a memória transferida
Sistemas Móveis
Geralmente não suportam swapping
Estratégias alternativas
iOS
Solicita liberação voluntária de memória
Android
Termina processos e salva estado
ALOCAÇÃO CONTÍGUA
Múltiplas Partições
Buracos
Blocos livres de memória
Algoritmos
First-fit
Primeiro buraco que serve
Best-fit
Menor buraco que serve
Worst-fit
Maior buraco disponível
Fragmentação
Externa
Espaço total suficiente mas não contíguo
Interna
Memória alocada > memória requisitada
Soluções
Compactação
Paginação
Segmentação