Cursos / Automação Industrial / Sistemas Operacionais / Aula

arrow_back Aula 11 - Gerenciamento de Memória

Memória virtual

Quando a memória disponível não é suficiente para executar um processo realmente grande, o sistema operacional estabelece uma estratégia de manter partes do programa na memória e partes no disco. Esse método gerou o conceito de memória virtual, dado que aumenta a capacidade de gerenciamento para um tamanho maior que a memória existente.

Muitos esquemas de memória virtual utilizam a técnica de paginação, então, iremos demonstrar como ela funciona como um possível exemplo de memória virtual.

Paginação

Nos computadores que se utilizam de memória virtual, existe um componente de hardware especial chamado de MMU (Memory Management Unit, em português, Unidade de Gerenciamento de Memória) que mapeia áreas do disco para a memória principal expandindo a capacidade da memória. De acordo com a Figura 9, podemos observar que se trechos do programa que não estejam presentes na memória real forem acessados, eles precisam ser copiados do disco para a memória através de uma troca de páginas.

Esquema de paginação da memória virtual

Vale lembrar que os dados dos segmentos da memória serão guardados no HD para preservar a integridade completa do processo. As partições da memória física (memória real) são conhecidas como molduras de páginas e os trechos do processo no HD são conhecidos como páginas. De acordo com o exemplo da Figura 9, temos um processo (Processo A), constituído de 4 páginas e apenas 2 delas estão mapeadas na memória física. Vale destacar que o processo de mapeamento entre páginas residentes no disco para molduras de páginas é feito de forma totalmente escondida dos usuários envolvendo ações integradas do hardware (MMU) e do sistema operacional.

Há diversas estratégias para realizar as trocas de páginas quando trechos referenciados de programas não estiverem presentes na memória principal. Mas, devido à complexidade dessas abordagens, gostaríamos apenas de motivar você para no futuro investigar melhor todo esse processo. Por enquanto, procure se convencer de que usando essa técnica, os sistemas operacionais conseguem colocar para executar programas maiores de que a memória disponível.

Versão 5.3 - Todos os Direitos reservados