1 / 6

Gerência de Memória no Linux

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. Modo de endereçamento físico e virtual Já imaginou o SO rodando em endereçamento virtual?

Télécharger la présentation

Gerência de Memória no Linux

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. 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 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! Layout de Memória para um programa

  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

  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.

  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.

  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.

  6. Gerência de Memória no Linux Referências Rusling, David A. (1999) “The Linux Kernel”, http://tldp.org/LDP/tlk/mm/memory.html 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”, http://www.dca.fee.unicamp.br/~andreric/arquivos/sistemas_linux.pdf 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”, http://www.lsd.ic.unicamp.br/mc514/?q=node/94

More Related