Please enable JavaScript.
Coggle requires JavaScript to display documents.
Memória Principal, Lucas Codeco Mapa Mental 8 SO 2023/1 - Coggle Diagram
Memória Principal
Swapping ("Permuta entre processos")
Aumento do grau de multiprogramação
Aumento do grau de multiprogramação
Troca temporária de processos entre memória
principal e secundária
Permuta-Padrão
não é usada nos SO's modernos
Permuta em Sistemas Móveis
Sistemas móveis geralmente não suportam permuta de processos
Motivos
tamanho limitado de armazenamento
memória flash com ciclos de escrita limitados e
velocidade mais lenta
Paginação
Esquema de gerenciamento de memória que permite espaço de endereços físicos não-contíguos
Memória é dividida em páginas e quadros de mesmo tamanho
Tamanho das páginas/molduras é potência de 2
Tabela de páginas mapeia endereços físicos e
contém base de cada página
Implementação da tabela de página
pode ser feita na memória principal
com uso de TLBs (Translation Look-aside Buffers)
Vinculação Dinâmica e Bibliotecas Compartilhadas
Vinculação de bibliotecas do
sistema
Durante a execução do programa
Uso de stubs
Finalidade
localizar e carregar bibliotecas dinamicamente
Suporte do SO para bibliotecas compartilhadas
Exemplo
DLL’s (Dynamic-link library)
Alguns SO's suportam apenas a vinculação estática
Segmentação
o que é?
Esquema de gerenciamento de memória que
admite visão da memória pelo usuário
Tabela de segmento
Mapeia endereços físicos e contém base e limite de cada segmento
Hardware de segmentação inclui registradores de
base e limite.
Endereço lógico possui número de segmento e
deslocamento
Alocação de Memória Contígua
Alocação implementada nos primeiros sistemas e
em sistemas monoprogramáveis
Memória principal dividida em duas partições
Memória principal dividida em duas partições
Memória principal dividida em duas partições
Possibilidade de alocação de múltiplas partições
usando buracos de memória
Fragmentação
externa
Possibilidade de alocação de múltiplas partições
usando buracos de memória
interna
Possibilidade de alocação de múltiplas partições
usando buracos de memória
Antecedentes
A memória é um array de bytes com
endereços individuais
A CPU lê instruções e dados da memória
Ciclo de execução típico da CPU
Espaço de Endereçamento Lógico X Físico
MMU para tradução de endereços virtuais em
físicos
MMU (Memory Management Unit)
endereços físicos (vistos pela memória)
O programa é vinculado a endereços lógicos
depois
Mapeado para endereços físicos durante a
execução
Vinculação em tempo
de carga
de execução
de compilação
Vinculação de Endereço
MMU para mapeamento de endereços virtuais para
físicos
endereços físicos (vistos pela memória)
lógicos (gerados pela CPU)
Hardware Básico
A MP e os registradores são os espaços de
armazenamento acessíveis diretamente pela CPU
Registradores = acesso mais rápido do que a MP
Uso de cache para melhorar o desempenho
Proteção de Memória
Uso de registradores de base e limite
objetivo
definir o espaço de endereçamento lógico de um
processo
Mecanismos de hardware e
software
objetivo
garantir a operação correta da memória compartilhada entre
processos
Carga Dinâmica
Carregamento de partes do programa na memória
sob demanda
Uso de rotinas relocáveis para carregar apenas o
código necessário
Lucas Codeco Mapa Mental 8 SO 2023/1