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.