Funções básicas da gerência de memória;Alocação: Quando o programa requisita um
bloco de memória, o gerenciador o disponibiliza para a alocação.Reciclagem: Quando
um bloco de memória foi alocado, mas os dados não foram requisitados por um determinado número de ciclos ou não há nenhum tipo de referência a este bloco pelo programa, esse bloco é liberado e pode ser reutilizado para outra requisição. Diferença entre mapeamento lógico e físico;Endereço gerado pela CPU → Lógico. Endereço na memória → Físico Função de uma MMU;Traduz endereços virtuais em endereços físicos, é geralmente implementada como parte da Unidade Central de Processamento ou CPU (Central Processing Unit), mas pode também estar na forma de um circuito integrado separado. Partição alocada utilizando First-fit, Best-fit e Worst-fit;First-fit: 20Kb, 10Kb e 18Kb -> Best-fit: 12Kb, 10Kb e 9Kb -> Worst-fit: 20Kb, 18Kb e 15Kb. Swapping e sua utilização;Swapping é uma técnica aplicada à gerência de memória, onde o sistema escolhe um programa residente que é levado da memória para o disco (swap out), retornando posteriormente para a memória principal como se nada tivesse ocorrido. Quando o programa tiver que ser executado novamente, então ele é novamente carregado para a memória principal (swap in). Esta operação pode até causar o swap out de um outro programa. Benefícios e funcionamento da memória virtual;Os principais benefícios da técnica de memória virtual são possibilitar que programas e dados sejam armazenados independente do tamanho da memória principal, permitir um número maior de processos compartilhando a memória principal e minimizar o problema da fragmentação. O que possibilita que um programa e seus dados ultrapassem os limites da memória principal é a técnica de gerência de memória virtual que combina as memórias principal e secundária, estendendo o espaço de endereçamento dos processos. Tradução de endereço virtual para endereço real;No momento da execução de uma instrução, o endereço virtual referenciado é traduzido para um endereço físico, pois o processador manipula apenas posições da memória principal. O mecanismo de tradução do endereço virtual para endereço físico é denominado mapeamento. Diferença entre sistemas de paginação e segmentação;A principal diferença entre os dois sistemas está relacionada a forma como o espaço de endereçamento virtual está dividido logicamente. Na paginação, o espaço de endereçamento está dividido em blocos com o mesmo número de endereços virtuais (páginas), enquanto que na segmentação o tamanho dos blocos pode variar (segmentos). Função do bit de associação nas tabelas de página;Para indicar se a página ou o segmento em questão encontra-se na memória principal. Função do bit de modificação nas tabelas de páginas;Para indicar se a página ou segmento foi modificado desde o momento em que foi carregado pela última vez na memória principal. Principais algoritmos de substituição de páginas;Algoritmo FIFO, Algoritmo Ótimo, Algoritmo LRU, Algoritmo Segunda Chance, Algoritmo NRU. Funcionamento do algoritmo de substituição de páginas NRU;NRU (Not Recently Used - não usada recentemente). Usa dois bits de status: bit R (referenciado) e bit M (modificado). Quando o processo inicia, suas páginas ainda não estão presentes na memória. Assim que uma delas é referenciada, o bit R é colocado em 1. Em seguida, se esta página é modificada, o bit M é colocado em 1. Ao ocorrer uma page fault o sistema operacional separa todas as páginas em quatro categorias: - Classe 0: não referenciada, não modificada. - Classe 1: não referenciada, modificada. - Classe 2: referenciada, não modificada. - Classe 3: referenciada, modificada. O NRU então remove uma página aleatória da classe mais baixa que não esteja vazia. Entre as vantagens está a baixa complexidade de entendimento e implementação e a boa aproximação para o algoritmo ótimo.