Please enable JavaScript.
Coggle requires JavaScript to display documents.
Memória Principal - Coggle Diagram
Memória Principal
Alocação de Memória Contígua
Uma das primeiras formas de gerenciar a memória
Memória principal é dividida em duas grandes partes
Memória Baixa
Sistema operacional fica residente
Memória Alta
Processos do usuário são carregados
Usados registradores de relocação
Registrador de base
Armazena o menor endereço físico disponível para o processo
Registrador de limite
Define o tamanho máximo do espaço de endereçamento lógico
Problema do Armazenamento Dinâmico
Como encontrar um espaço livre na memória para um novo processo?
First-fit
Aloca o processo no primeiro buraco que encontrar que seja grande o suficiente
Best-fit
Sistema procura o menor buraco que seja grande o suficiente para o processo
Worst-fit
Sistema aloca o processo no maior buraco disponível
Fragmentação
Fragmentação externa
Existe espaço de memória total para satisfazer uma solicitação
Não é contíguo
Fragmentação interna
Memória alocada pode ser ligeiramente maior que a memória requisitada
Reduza a fragmentação externa com a compactação
Segmentação
Esquema de gerenciamento
Admite visão da memória pelo usuário
Um programa é uma coleção de segmentos
Tabela de Segmentos
Mapeia o endereço lógico para o físico
Armazena
Base
Limite
Problema
Sofre de fragmentação externa
Os segmentos têm tamanhos variáveis
Vinculação Dinâmica e Bibliotecas Compartilhadas
Técnica que conecta programas a bibliotecas de sistema
Apenas no momento da execução
Similar à carga dinâmica
Vínculo é adiado
Vantagens
Correções fáceis
Economia de memória
Exemplo
DLLs do Windows
Swapping
Técnica que um processo, para ser executado, deve estar na memória principal
Permuta Padrão
Move temporariamente processos entre a memória principal
E uma memória secundária de apoio
Memória secundária precisa ser muito rápida
Sistema mantém uma fila de prontos
Inclui todos os processos que podem ser executados
Não é usada nos sistemas operacionais modernos
Permuta em Sistemas Móveis
Sistemas móveis geralmente não suportam swapping
Estratégias adotadas
iOS
Solicita que os aplicativos liberem memória voluntariamente
Android
Encerrar processos se não houver memória livre suficiente