Sistemas operacionais
Gerência de Memória
GERÊNCIA DE MEMÓRIA
• memória = vetor de palavras (ou bytes), cada uma com endereço próprio
• a memória é usada para armazenar os diversos programas em execução, bem como os dados sobre a execução dos programas
• na multiprogramação diversos processos são colocados na memória ao mesmo tempo para que o chaveamento entre eles seja o mais rápido possível
• o SO deve permitir que os processos compartilhem a memória de forma segura e eficiente, usando os recursos disponíveis no hardware
1
Sistemas Operacionais
Gerência de Memória
MEMÓRIA LÓGICA E FÍSICA (1)
• memória lógica é aquela que o processo enxerga, ou seja, aquela que o processo é capaz de acessar
– os endereços manipulados pelo programa são lógicos
– em geral capa processo possui uma memória lógica independente da memória lógica dos outros processos
• memória física é aquela que é efetivamente acessada pelo circuito integrado de memória
– dois processos podem ter espaços de endereçamento iguais que correspondem a áreas diferentes do espaço de endereçamento físico • a unidade de gerência de memória (MMU):
– provê mecanismos de gerência de memória para o SO
– converte/mapeia endereços lógicos em físicos
2
Sistemas Operacionais
Gerência de Memória
MEMÓRIA LÓGICA E FÍSICA (2)
• quando os endereços lógicos coincidem com os endereços físicos, pode-se implementar proteção de memória usando dois registradores de limite
– os endereços do programa são gerados a partir de 0 e devem ser ajustados por um carregador realocador durante a carga
– relocação em tempo de carga
3
Sistemas Operacionais
Gerência de Memória
MEMÓRIA LÓGICA E FÍSICA (3)
• quando os endereços lógicos não coincidem com os físicos, pode-se trabalhar com um registrador de limite e outro de base
– os endereços são gerados a partir de 0, mas não é necessária nenhuma alteração de endereço
– o carregador é chamado de absoluto
– relocação