quarta-feira, 2 de abril de 2014

Gerenciamento da Memória

RICARDO DE MAGALHÃES SIMÕES - Sobre o Autor
Doutorando em Engenharia Elétrica, Mestre em Informática (2006) e Bacharel em Ciência da Computação (2003), todos pela Universidade Federal do Espírito Santo. Atualmente, Professor Substituto de Informática no CEFET-ES, Professor de Programação I no Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas à Distância no CEFET- ES, professor de Sistemas Operacionais pela ESAB. Tem experiência na área de Ciência da Computação, com ênfase em Desenvolvimento de Algorítmos, Educação de Informática para estudantes do Ensino Médio, atuando principalmente nos seguintes temas: Informática Básica, Programação nas linguagem C/C++/C#, Java, Pascal.
Página pessoal:
Curriculo Lattes::

UNIDADE 11

Objetivo: Aprender como é feito o Gerenciamento da Memória do computador, e entender a importância de seu funcionamento correto.

1. Introdução

Basicamente, o gerenciamento da memória é a ferramenta utilizada para permitir aos programas em execução no computador utilizarem a memória do computador para armazenar as instruções e dados que serão manipulados. Os principais objetivos a serem alcançados no gerenciamento da memória são:

Oferecer uma área de armazenamento para os processos serem executados;
Proteger a execução dos processos contra eventuais falhas causadas por erro em um determinado processo;
Criar um ambiente de execução com desempenho satisfatório aos usuários;
Além dessas características, adicionalmente deseja-se de um bom gerenciador:
Compartilhamento da memória entre os processos (em sistemas avançados);
Permitir aos programadores desenvolverem programas que tenham um acesso transparente à memória do computador.

Nos sistemas operacionais modernos, o gerenciamento da memória realizará essas tarefas
através da Proteção da Memória.

2. Proteção da Memória

A Proteção da Memória é a estratégia utilizada pelos sistemas operacionais para controlar a memória em utilização no computador. A principal função da proteção da memória é a separação dos processos e suas informações, e impedir que um processo acesse uma área de memória que não foi reservada para ele. Para realizar a proteção da memória, uma das seguintes medidas pode ser escolhida: Segmentação da Memória ou a Paginação da Memória.

Na Paginação da Memória, a memória é dividida em páginas, com tamanho fixo. Com a utilização de um outro mecanismo chamado Memória Virtual, cada página pode ser armazenada em qualquer lugar da memória do computador. A Segmentação da Memória é a divisão da memória do computador em segmentos de dados. Quando um programa vai acessar uma área de memória, ele deve informar também o número do segmento de memória.

3. Compartilhamento da Memória

Uma memória é chamada de “memória compartilhada” quando vários processos podem acessá-la simultaneamente. Dependo do processador utilizado no computador, vários processos podem ser executados ao mesmo tempo, e a comunicação entre os processos pode ser feita utilizando-se uma área da memória que seja acessível a todos os processos. A memória compartilhada pode ser criada de duas maneiras:

Eletronicamente (Hardware): o compartilhamento é feito em uma grande área de memória RAM que pode ser acessada por vários processadores, geralmente utilizada em supercomputadores;

Logicamente (Software): aqui o compartilhamento é feito utilizando-se estruturas de dados especiais nos programas, para que possam realizar a troca de informação durante a sua execução.

4. Organização da Memória

A memória geralmente é dividida em três partes:

Memória Cache: esta memória fica dentro do processador, é muito menor que a Memória Principal, mas possui uma importância muito grande, pois é utilizada para acelerar a obtenção de informações para o processador;

Memória Principal: também chamada de Memória RAM, é ela que armazena os programas e informações que estão em uso no computador;

Memória Secundária: Nesta memória ficam os dados temporariamente não utilizados, para liberar espaço na Memória Principal, e aqui também ficam armazenados os arquivos do usuário.

5. Coletor de Lixo

Uma última tarefa sob responsabilidade do Gerenciador de Memória é fazer a “coleta de lixo”. Esta tarefa consiste em coletar os dados não mais utilizados na memória, e liberar espaço, para poder ser utilizar-se de outros programas. Os sistemas operacionais modernos, como o MacOS X e MS-Windows XP, possuem esse mecanismo. Versões anteriores desses sistemas que não possuíam o Coletor de Lixo não realizavam a limpeza automática da memória. Se um programa não limpasse a área da memória que ele mesmo utilizou o sistema operacional não iria detectar que a memória poderia ser utilizada, o que acarretava na perda de recurso durante a utilização do computador (dependendo do tempo de uso contínuo do computador, nitidamente percebia-se uma queda no seu desempenho).

Um comentário: