Gerenciamento de Memória

Memory-Management Unit (MMU)

Dispositivo de hardware que, em tempo de execução, mapeia (traduz) endereços virtuais para endereços físicos

Vinculação no tempo de execução ocorre quando é feita uma referência a uma posição na memória

Registrador base, nesse caso, chamado de registrador de relocação

Segmentação

Swapping

Registradores Base e Limite

Espaço de endereçamento Lógico x Físico

Em sistemas multitarefa, vários programas residem na memória, geralmente em posições diferentes do endereço 0000

Programas prontos para serem trazidos para a memória formam uma fila de entrada (input queue)

Em sistemas monotarefa, são carregados no endereço 0000

Um par de registradores de base e limite define o espaço de endereços lógicos

CPU deve checar cada acesso à memória gerado em modo usuário para certificar que está entre base e limite do usuário

Apenas o SO pode carregar tais registradores, através de instruções privilegiadas

Percepção do programador sobre a memória

Diferentes partes do programa são tratadas como segmentos independentes

Hardware mapeia segmentos lógicos para locais na memória física

Paginação

Mapeamento de páginas virtuais para páginas físicas

Determina a granularidade da memória virtual

Alocação Contígua

Mecanismo de transferência de processos entre a memória principal e o armazenamento secundário para liberar espaço na RAM.

Permite que processos inativos sejam movidos para o disco, liberando espaço para processos ativos.

Método de alocação de memória onde um processo é alocado em um bloco contíguo de memória.

Pode levar à fragmentação interna e externa, impactando a eficiência da memória.