A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Gerência de Memória no Linux

Apresentações semelhantes


Apresentação em tema: "Gerência de Memória no Linux"— Transcrição da apresentação:

1 Gerência de Memória no Linux
Algumas características do sistema de memória no Linux Tamanho da página Linux no Alpha AXP: 8Kb Linux no Intel x86: 4Kb Swapping Algoritmo de swap: LRU com aging Layout de Memória para um programa Modo de endereçamento físico e virtual Já imaginou o SO rodando em endereçamento virtual? Ele teria que ter uma tabela de páginas para si mesmo! 1

2 Gerência de Memória no Linux
Controle de Acesso Abaixo, a Page Table Entry (PTE) ou Entrada da tabela de página Legenda (algumas flags): V – Valid: se a entrada é valida FOR – Fault on read: falta de página na leitura FOW – o mesmo acima, mas para escrita FOE – o mesmo acima, mas para execução KRE – código executando em modo kernel pode ler esta página PFN – page frame number: se V estiver setado, PFN terá o endereço físico da entrada 2

3 Gerência de Memória no Linux
Cache Buffer Cache Page Cache Swap Cache Hardware Caches Tabela de Página do Linux O modelo ao lado é tão bem sucedido que ele é usado tanto para o processador Alpha que tem os três níveis quanto para o x86 que só tem dois níveis. 3

4 Gerência de Memória no Linux
Alocação e Desalocação de páginas Alocação: Algoritmo Buddy-heap Desalocação: combinar os adjacentes se estiverem livres para formar blocos grandes. 4

5 Gerência de Memória no Linux
Memória alta, baixa e zonas de memória Limitação do Kernel Qtd endereçavel: qtd. memória no seu espaço (menos) espaço dedicado ao codigo do kernel = 1Gb Região Alta: memória que o kernel não endereça Região Baixa: memória endereçavel pelo kernel (1Gb) Contorno da limitação: zone_dma: regiões que podem ser usadas para DMA. (molduras abaixo de 16 MB) zone_normal: regiões endereçadas normalmente. (molduras entre 16MB e 896 MB) zone_highmem: regiões mapeadas dinamicamente. (molduras acima de 896 MB) Importante: 128Mb restantes de 1Gb é um espaço onde são mapeadas as molduras de zone_highmem. Isto é, as molduras acima de 896Mb dispõem de 128Mb de espaço para serem mapeadas na zone_normal. 5

6 Gerência de Memória no Linux
Referências Rusling, David A. (1999) “The Linux Kernel”, Gonçalves, A. R.; Luvizotto, D. C. R.; Nascimento, H. A. A.; dos Santos L. G. A.; Martins, L. G. C. (2007) “Sistemas Linux: gerência de memória, sistema de arquivos, entrada e saída e estrutura de redes”, Francisco, D. R.; Póvoa, M. G.; Matsumoto, M. K.; Feniman, P. (2010) “Sistemas Operacionais: Teoria e Prática Estudo de Caso: Gerenciamento de Memória no Linux”,


Carregar ppt "Gerência de Memória no Linux"

Apresentações semelhantes


Anúncios Google