Você está na página 1de 15

Sistemas Operacionais

Gerenciamento de Memória

Sistemas Operacionais I
Dionisio Gava Junior
Reynaldo G. de Oliveira – Reynaldg@brfree.com.br
Gerenciamento da Memória FATEC - Sistemas Operacionais I

Gerenciamento da Memória

• Funções Básicas.
• Memória Contínua Única.
• Gerenciamento de Memória com Multiprogramação.
• Partições Fixas.
• Particionada Relocável.
• Regiões Variáveis.
• Alocação das Regiões
• Memória Paginada.
• Controle da Memória Paginada
Gerenciamento da Memória FATEC - Sistemas Operacionais I

Funções Básicas

É realizado por módulos do Sistema Operacional, tendo como funções básicas:

• Acompanhar o estado de cada localização de memória, tendo o controle do que está


alocado, quem está alocando e o que está livre.
• Determinar o método de alocação, decidindo para quem ser alocado, o quanto ser alocado,
por quanto tempo e onde.
• Alocar a memória ou seja, selecionar as localizações específicas e atualizar as
informações da alocação.
• Desalocar a memória, ou seja, após o término do processo, ou mediante solicitação de
liberação parcial de memória alocada, proceder a desalocação, atualizando as informações
de estado.

A flexibilidade do gerenciador diretamente proporcional ao custo de implementação e grau


de complexidade.
Gerenciamento da Memória FATEC - Sistemas Operacionais I

Contínua e Única

Hardware
Simplicidade, baixo custo.
Utilização registradores, contendo os limites de endereçamento.

Vantagens
Simplicidade na utilização.
Módulos pequenos no Sistema Operacional.
SO A
Desvantagens
Subutilização da memória.
Baixa utilização da CPU.
Programas limitados a única partição.
Área livre
porém não
utilizada
Características
Acompanhamento do estado : Alocado ou não alocado
Determina o método de alocação: o programa A alocar tudo.
Alocação : alocado para o programa A.
Desalocação: ao final do programa A, a memória fica livre.
Gerenciamento da Memória FATEC - Sistemas Operacionais I

Gerenciamento de Memória com Multiprogramação

A ineficiência associada ao gerenciamento com memória contínua e única consiste


basicamente em balancear um número fixo de recursos disponíveis com uma demanda
variável de recursos.

Cada programa tem características de uso de recursos específicos: tempo de CPU,


tamanho da memória, periféricos, etc. Forçar os programadores a desenvolver aplicações
com idênticos requisitos de recursos é impraticável. Desta forma, torna-se mais eficiente
executar vários serviços concorrentemente, distribuirndo-se os recursos entre os mesmos.

A colocação de vários programas na memória, todos concorrendo pelos recursos


disponíveis denominada MULTIPROGRAMAÇÃO.

SO A B C N

memória
Gerenciamento da Memória FATEC - Sistemas Operacionais I

Partições Fixas

É uma forma de gerenciamento cuja técnica empregada pouco complexa. A memória é


dividida em regiões fixas denominadas partições. Cada partição acomoda um serviço com
seu próprio espaço de endereçamento.

As partições são especificadas antes da execução dos serviços através de parâmetros


fornecidos ao sistema operacional. O sistema operacional, com base nos parâmetros
fornecidos estruturar a tabela de partições, contendo basicamente:

P1 P2 P3 P4 P5 P6 P7

• PX - Identificação da partição.
• TAM - Tamanho da partição.
• .LOC - Localização da partição na memória. SO
• ESTADO - Estado da partição (em uso, livre).
• PGM – Processo em uso.

A mudança de tamanho e quantidade de partições normalmente pode ser alterada pelo


operador do computador, porém, nenhum serviço poder estar sendo executado.
Gerenciamento da Memória FATEC - Sistemas Operacionais I

Partições Fixas.

Desvantagens
O gerenciamento com partições fixas implica quase sempre em desperdício de memória,
pois, a divisão das partições feita a partir dos tamanhos de medidas dos programas, porém,
a frequência de execução e os tamanhos específicos não são normalmente conhecidos ou
de difícil gerenciamento.

Vantagens
Baixo custo.
Simplicidade no uso.
Gerenciamento da Memória FATEC - Sistemas Operacionais I

Regiões Variáveis

A alocação de memória feita para cada serviço no momento anterior a carga do programa.
É também chamada PARTIÇÃO DINÂMICA.

Muitos sistemas algorítmicos são possíveis na alocação de regiões variáveis.


Basicamente no esquema de regiões variáveis, tabelas deverão ser inicializadas, as quais
conterão entradas para cada região alocada e para cada área livre. Cada entrada, contém
o tamanho, a localização e o estado.

Um possível esquema utilizado contem duas tabelas não necessariamente ocupadas, o


campo de estado, se a entrada correspondente estiver em uso, ou seja, representa uma
área alocada ou livre, ou não está em uso, sendo somente uma entrada vazia na tabela.
O tamanho da região especificado através de parâmetros no momento da execução, e
com base nos parâmetros, o sistema operacional processa a alocação.
Gerenciamento da Memória FATEC - Sistemas Operacionais I

Regiões Variáveis – Alocação da região

A alocação de memória feita para cada serviço no momento anterior a carga do programa.
É também chamada PARTIÇÃO DINÂMICA.

Muitos sistemas algorítmicos são possíveis na alocação de regiões variáveis.


Basicamente no esquema de regiões variáveis, tabelas deverão ser inicializadas, as quais
conterão entradas para cada região alocada e para cada área livre. Cada entrada, contém
o tamanho, a localização e o estado.

Um possível esquema utilizado contem duas tabelas não necessariamente ocupadas, o


campo de estado, se a entrada correspondente estiver em uso, ou seja, representa uma
área alocada ou livre, ou não está em uso, sendo somente uma entrada vazia na tabela.
O tamanho da região especificado através de parâmetros no momento da execução, e
com base nos parâmetros, o sistema operacional processa a alocação.
Gerenciamento da Memória FATEC - Sistemas Operacionais I

Particionada Relocável

A cada termino de um processo a sistema estará relocando as partições tornando-as


adjacentes. Ao torná-las adjacentes, libera-se incodicionalmente um espaço contínuo de
memória, permitindo alocações com melhor aproiveitamento contínuo o espaço.

Vantagens
Elimina fragmentação (embora o programa deva ser alocado continuamente).
Aumenta o grau de Multiprogramação (aumenta a utilização de CPU).

Desvantagens
Aumento no custo do hardware.
Tempo de alocação pode ser substancial (OVERHEAD).
Informações nunca usadas permanecem na memória.
Gerenciamento da Memória FATEC - Sistemas Operacionais I

Memória Paginada

Cada programa tem o seu espaço endereçável dividido em pedaços iguais, denominados
páginas. Da mesma forma, a memória física dividida em pedaços do mesmo tamanho
chamado BLOCOS.

Qualquer página pode residir em qualquer bloco. Quando o programa carregado criada
uma tabela, denominada TABELA DE PÁGINAS, contendo as páginas e os blocos
correspondentes.

Quando o programa executado, o sistema consulta a tabela específica do programa que


contém as páginas e os blocos correspondentes, tornando transparente ao programa.

As páginas as quais constituem uma visão lógica do programa, são alocadas


continuamente, mas os blocos correspondentes não são necessariamente contínuos na
memória.
Gerenciamento da Memória FATEC - Sistemas Operacionais I

Gerenciamento paginado de memória soluciona o problema de fragmentação, uma vez que


o programa visto continuamente através da alocação de suas páginas.

Controle da Memória Paginada

O sistema exerce controle da memória utilizando basicamente duas tabelas:

Tabela de Páginas: Uma para cada espaço de endereçamento, e contém uma entrada
para cada página. Cada espaço de endereçamento ser mapeado totalmente. Nesta tabela a
qual contém os blocos correspondentes a cada página.

Vantagens
- Elimina fragmentação
-Não há overhead (relocação)

Desvantagens
-Custo aumentado
-Tempo de processamento diminuído (aumento do tempo de pesquisa na tabela do mapa).
-Tabela deve ser alocada para tabela de páginas (overhead).
Gerenciamento da Memória FATEC - Sistemas Operacionais I

Sistemas não Virtuais

Em todos os esquemas vistos previamente, o serviço não executaria caso não existisse
memória suficiente para a carga do programa inteiro. Esta restrição frequentemente
resulta em áreas livres e serviços esperando para ser carregado e executado.

Mais do que isso, os programadores quando pressionados a manter o espaço de


endereçamento do programa pequeno, diminuem a produtividade bem com a qualidade
da programação.

Muitos estudos realizados tem mostrado que um programa quando restrito em termos de
espaço de memória, implicará em um custo crescente de programação ao longo de sua
manutenção.
Gerenciamento da Memória FATEC - Sistemas Operacionais I

Necessidades da Memória Virtual

O tamanho da memória de um computador não deve influir na programação, ou mesmo


na estruturação aplicativa.

Se o programa for muito grande em relação a memória disponível, o sistema operacional,


não o programador, deverá alocá-lo adequadamente na memória.

O programa dever utilizar somente a memória necessária durante a sua execução.

O sistema operacional não deve permitir que a memória torne-se fragmentada ou


qualquer outra situação de sub-utilização.

O sistema deverá se adaptar a demanda das atividades aplicativas, alocando,


desalocando ou adicionando quando necessário, de forma transparente e automática.
 http://www.scribd.com/doc/32700658/SO-101

 http://www.scribd.com/doc/5565650/09GERENC
IA-DE-MEMORIA-VIRTUAL

Você também pode gostar