14
Debian Gerência de Memória

Debian Gerência de Memória. Utilização de memória e Swapping O kernel Linux sempre utiliza a maior quantidade de memória RAM possível; Dados não são apagados

Embed Size (px)

Citation preview

Page 1: Debian Gerência de Memória. Utilização de memória e Swapping O kernel Linux sempre utiliza a maior quantidade de memória RAM possível; Dados não são apagados

DebianGerência de Memória

Page 2: Debian Gerência de Memória. Utilização de memória e Swapping O kernel Linux sempre utiliza a maior quantidade de memória RAM possível; Dados não são apagados

Utilização de memória e Swapping

• O kernel Linux sempre utiliza a maior quantidade de memória RAM possível;

• Dados não são apagados imediatamente após o encerramento da execução;

• Agilidade na execução;• Quando não há mais espaço suficiente:

Swapping;• Envelhecimento e rejuvenescimento de

informações;

Page 3: Debian Gerência de Memória. Utilização de memória e Swapping O kernel Linux sempre utiliza a maior quantidade de memória RAM possível; Dados não são apagados

Proteção

• O kernel Linux divide e separa os processos carregados na memória RAM como processos do kernel e processos do usuário.

Page 4: Debian Gerência de Memória. Utilização de memória e Swapping O kernel Linux sempre utiliza a maior quantidade de memória RAM possível; Dados não são apagados

Mapeamento de memória• Processos em execução divididos em páginas,

nem todas estão realmente na memória física;• Endereços virtuais agilizam o acesso à memória;• Mapeamento: utilização de endereços virtuais

com endereços reais(físicos);• mm_struct – estrutura de dados com

informações sobre o que está sendo executado e apontamentos para vm_area_structure;

• vm_area_structure – contém a localização exata das informações na memória (Page Frame Numbers).

Page 5: Debian Gerência de Memória. Utilização de memória e Swapping O kernel Linux sempre utiliza a maior quantidade de memória RAM possível; Dados não são apagados

Controle de Alocação

• Algoritmo Companheiro– Mantém lista de blocos;– Cada bloco tem tamanho igual a uma potência de 2;– No início, um único bloco contém toda a memória;– Para alocar:

• Enquanto o tamanho do processo for menor do que a metade do menor bloco divida o bloco em 2 partes

– Para alocar:• Se o vizinho estiver livre, recombine em um único bloco.

Page 6: Debian Gerência de Memória. Utilização de memória e Swapping O kernel Linux sempre utiliza a maior quantidade de memória RAM possível; Dados não são apagados

Algoritmo Companheiro

Page 7: Debian Gerência de Memória. Utilização de memória e Swapping O kernel Linux sempre utiliza a maior quantidade de memória RAM possível; Dados não são apagados

Algoritmo CompanheiroVantagens:◦ Facilita a busca de bloco livre, se for implementada com uma

estrutura de árvore;◦ Blocos sempre começam em endereços determinados.

Desvantagens:◦ Aumenta a fragmentação para processos ligeiramente maiores

do que uma potência de 2.

A fragmentação é resolvida pelo Kernel com um processo de desfragmentação que junta espaços preenchidos de memória que são categoricamente semelhantes.

Page 8: Debian Gerência de Memória. Utilização de memória e Swapping O kernel Linux sempre utiliza a maior quantidade de memória RAM possível; Dados não são apagados

Memória Cache

• Otimizar e agilizar o acesso às informações;• Buffer Cache: operações de E/S;• Page Cache: torna mais rápido o acesso a

vários tipos de informação no disco; • Swap Cache: apenas páginas da memória

modificadas são salvas na memória virtual física.

Page 9: Debian Gerência de Memória. Utilização de memória e Swapping O kernel Linux sempre utiliza a maior quantidade de memória RAM possível; Dados não são apagados

Memória Virtual (Swap)

• Consiste em reservar uma parte do HD para ser uma extensão da memória RAM;

• Memória virtual = RAM + SWAP;• Quando é necessário esvaziar parte da RAM,

os processos mais envelhecidos (swapping) são transferidos para o disco (partição swap)

Page 10: Debian Gerência de Memória. Utilização de memória e Swapping O kernel Linux sempre utiliza a maior quantidade de memória RAM possível; Dados não são apagados

Paginação Sob Demanda

• Traz uma página para a memória somente quando ela é necessária.

– Necessita de menos E/S– Ocupa menos memória– Resposta mais rápida– Permite mais usuários

Page 11: Debian Gerência de Memória. Utilização de memória e Swapping O kernel Linux sempre utiliza a maior quantidade de memória RAM possível; Dados não são apagados

Paginação Sob Demanda

• Similar ao swapping, mas o sistema não traz todo o processo para a memória, apenas as paginas requeridas.

• Pode aumentar o numero de acessos a disco. Um processo pode precisar de várias páginas durante sua execução.

• Quando uma página não é encontrada na memória principal, uma exceção chamada de falta de página é capturada.

Page 12: Debian Gerência de Memória. Utilização de memória e Swapping O kernel Linux sempre utiliza a maior quantidade de memória RAM possível; Dados não são apagados

Paginação Sob Demanda

• O tratador de falta de página, no kernel realiza as seguintes tarefas:– Localizar a página no disco;– Escolher o frame para armazenar a memória

física;– Atualiza a tabela de páginas;– Reinicia a execução do programa.

Page 13: Debian Gerência de Memória. Utilização de memória e Swapping O kernel Linux sempre utiliza a maior quantidade de memória RAM possível; Dados não são apagados

Paginação Sob Demanda

Um processo é dividido em uma série de páginas.

Isto informa onde estão as páginas do processo.

O bit de válido/inválido indica se a página já está presente na memória ou se ainda está no disco

Page 14: Debian Gerência de Memória. Utilização de memória e Swapping O kernel Linux sempre utiliza a maior quantidade de memória RAM possível; Dados não são apagados

Referências bibliográficas

• http://www.dbit.com.br/blog/2008/09/24/a-estrutura-basica-do-kernel-linux/

• http://www2.prudente.unesp.br/posti/download/solinux2.pdf

• http://www.vivaolinux.com.br/artigo/Estudo-sobre-os-tipos-de-gerenciamento-do-SO-Linux?pagina=2

• http://www.inf.ufsc.br/~fernando/ine5412/