FUNDAMENTOS DE SISTEMAS OPERACIONAIS MÓDULO 12 Índice 1. Gerenciamento de Memória ....................................... 3 1.1. Conceituação .............................................................. 3 1.2. Swapping ................................................................... 3 1.3. Memória Virtual........................................................... 3 1.4. Segmentação .............................................................. 4 2 Fundamentos de Sistemas Operacionais - Módulo 12 1. GERENCIAMENTO DE MEMÓRIA 1.1. CONCEITUAÇÃO O gerenciamento de memória estabelece a estratégia de otimização da memória diante da carga que esta sofrerá, e é normalmente realizado via software ou hardware. Dessa forma, o gerenciamento de memória é um recurso importante do sistema operacional, pois estabelece como os espaços de memória disponíveis serão alocados para os processos e como atender as requisições de memória de um processador. 1.2. SWAPPING Compreende um esquema de troca no qual os processos não permanecem na memória principal até o final de sua execução. Sendo assim, enquanto o processo aguarda uma E/S, é substituído por outro processo na memória, para retornar assim que a ação de E/S estiver concluída. Quando ocorre a retirada do processo da memória, o sistema armazena o processo num armazenamento temporário (swap out). Assim que o sistema recuperar o processo (swap in) do armazenamento secundário, ocorre a continuação do processamento. O sistema operacional normalmente realiza o swap out e o swap in muitas vezes antes de terminar a execução do processo. 1.3. MEMÓRIA VIRTUAL Os sistemas de memória virtual dão aos processos a impressão de que há mais memória disponível do que de fato existe instalada. Para o propósito deste tópico, o aluno deve saber que há dois tipos de endereços nos sistemas de memória virtual: os propostos pelos próprios processos (endereço virtual) e os disponíveis na memória principal (endereço real). Toda vez que um processo acessar um endereço virtual, o sistema operacional o converterá para um endereço real. O propósito desse recurso é aperfeiçoar o uso da memória, porque memórias principais são rápidas, mas muito caras. Por isso, construir um sistema totalmente pensado para se alojar na memória principal é inviável, dada a limitação de tamanho que esse sistema necessariamente teria. Portanto, uma opção interessante é criar a ilusão de que há mais memória utilizando-se o espaço do armazenamento secundário. 3 Fundamentos de Sistemas Operacionais - Módulo 12 1.4. SEGMENTAÇÃO Na segmentação de memória física, os dados e instruções de um programa são divididos em blocos, denominados segmentos. Cada segmento pode conter um fragmento do conteúdo que deve ser armazenado, sem a obrigação de que os blocos tenham o mesmo tamanho, conforme figura 16. 4 Fundamentos de Sistemas Operacionais - Módulo 12