1 / 14

Debian

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 imediatamente após o encerramento da execução; Agilidade na execução; Quando não há mais espaço suficiente: Swapping;

vina
Télécharger la présentation

Debian

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Debian Gerência de Memória

  2. 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;

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

  4. 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).

  5. 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.

  6. Algoritmo Companheiro

  7. Algoritmo Companheiro • Vantagens: • 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.

  8. 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.

  9. 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)

  10. 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

  11. 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.

  12. 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.

  13. Paginação Sob Demanda O bit de válido/inválido indica se a página já está presente na memória ou se ainda está no disco Um processo é dividido em uma série de páginas. Isto informa onde estão as páginas do processo.

  14. 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/

More Related