GERENCIA DE MEMÓRIA




         Aluno: Arthur Henrique Guimarães
                         Matricula: 080124
O que é o OpenSolaris?
O OpenSolaris é
●   O OpenSolaris é a versão open source do
    Solaris.
●    O Solaris foi lançado originalmente pela Sun...
O OpenSolaris ...


●   ~41k arquivos, ~11m de linhas de código.
●   sistemas de janelas (Xorg): GNOME, CDE,
    KDE*
●   ...
Mas e a memória???
Antes algumas ressalvas!
Quais são os objetivos do
       gerenciamento de memória?


●   Eliminar restrições de tamanho de processos
    que estão...
O controle da memória


●   O kernel do OpenSolaris tem acesso completo
    à memória do sistema.
●   É ele quem deve dar ...
E como o Kernel gerencia a
        memória?
Utilizando métodos conhecidos!

●   Paginação
●   Swapping
●   Cyclical page cache??????
Paginação


●   A memória física é dividida em páginas.
●   Toda pagina ativa (não livre) é um mapeamento
    entre um arq...
Paginação
●   O par vnode/offeset também mapeia o arquivo em
    swap ou para cache de arquivo.
●   O mapeamento entre pag...
Paginação
Paginação
●   A paginação feita pelo sistema é chamada de
    paginação por demanda.
●   Um processo não precisar ser reti...
Swapping

●   Consiste na escolha de um programa residente
    na memoria para ser transferido para o disco
    com o fim ...
Swapping

●   Processos não sofrem swapping caso:
    ●   Estejam sendo executados e sejam interrompidos
        por um si...
Soft swapping
●   Se a memória disponível do sistema se
    encontra abaixo de um nível mínimo de
    memória livre, por u...
Hard Swapping
●   Acontece se há mais de um processo na fila de
    processos ativos.
●   E a atividade de paginação ultra...
Para um sistema com 128MB de
             memória


Quando o
espaço livre da     O marcador é:            O algoritmo faz:...
Alguns marcadores
●   physmem: contagem total de páginas na
    memória física.
●   lotsfree: a troca de páginas inicia qu...
E então?
●   O soft swapping ocorre quando a memória fica
    em média por 30 segundos abaixo do marcador
    desfree.
●  ...
Cyclical page cache
●   Solaris 8 usa um algoritmo diferente para fazer a remoção de
    paginas da memória chamada de cyc...
The End
Próximos SlideShares
Carregando em…5
×

Gerencia de Memória Opensolaris

1.983 visualizações

Publicada em

Publicada em: Educação, Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Gerencia de Memória Opensolaris

  1. 1. GERENCIA DE MEMÓRIA Aluno: Arthur Henrique Guimarães Matricula: 080124
  2. 2. O que é o OpenSolaris?
  3. 3. O OpenSolaris é ● O OpenSolaris é a versão open source do Solaris. ● O Solaris foi lançado originalmente pela Sun em 1991. ● O projeto de desenvolvimento do OpenSolaris começou em 2004. ● As primeiras versões (ainda com o nome de SunOS) foram baseadas no BSD.
  4. 4. O OpenSolaris ... ● ~41k arquivos, ~11m de linhas de código. ● sistemas de janelas (Xorg): GNOME, CDE, KDE* ● sistemas de arquivos: UFS, ZFS, ...
  5. 5. Mas e a memória???
  6. 6. Antes algumas ressalvas!
  7. 7. Quais são os objetivos do gerenciamento de memória? ● Eliminar restrições de tamanho de processos que estão na memoria física. ● Possibilitar um nível alto de multiprogramação.
  8. 8. O controle da memória ● O kernel do OpenSolaris tem acesso completo à memória do sistema. ● É ele quem deve dar permissão para que os programas do espaço do usuário tenham acesso seguro à memória quando requisitada.
  9. 9. E como o Kernel gerencia a memória?
  10. 10. Utilizando métodos conhecidos! ● Paginação ● Swapping ● Cyclical page cache??????
  11. 11. Paginação ● A memória física é dividida em páginas. ● Toda pagina ativa (não livre) é um mapeamento entre um arquivo (vnode) e a memoria. ● Paginas são identificadas partir do vnode e de um offset (par vnode/offset).
  12. 12. Paginação ● O par vnode/offeset também mapeia o arquivo em swap ou para cache de arquivo. ● O mapeamento entre pagina física e seu espaço virtual e feito pelo HAT ● Uma lista hash global de paginas contem ponteiros para listas de paginas e é indexada por uma função hash(vnode/offset)
  13. 13. Paginação
  14. 14. Paginação ● A paginação feita pelo sistema é chamada de paginação por demanda. ● Um processo não precisar ser retirado totalmente da memória para dar espaço a outro, para isso basta substituir uma ou mais páginas desse processo. ● Essa politica não interfere na execução dos processos que não percebem a troca uma vez que alteramos apenas a referencia do endereço lógico.
  15. 15. Swapping ● Consiste na escolha de um programa residente na memoria para ser transferido para o disco com o fim de liberar espaço na memória. ● É possível classificar em dois tipos o swap realizado pelo OpenSolaris, chamado de soft swapping e hard swapping.
  16. 16. Swapping ● Processos não sofrem swapping caso: ● Estejam sendo executados e sejam interrompidos por um sinal. ● “Exiting”. ● “Zombie” ● Sejam uma thread do sistema. ● Estejam bloqueando uma thread com prioridade mais alta.
  17. 17. Soft swapping ● Se a memória disponível do sistema se encontra abaixo de um nível mínimo de memória livre, por um determinado período de tempo, o escalonador de memória começa a fazer a troca de processos. ● Inicialmente o escalonador irá procura por processos que estão inativos por mais tempo (com um mínimo de tempo definido por maxslp), ou seja o que está na memoria mais tempo sem ser referenciado. (LRU)
  18. 18. Hard Swapping ● Acontece se há mais de um processo na fila de processos ativos. ● E a atividade de paginação ultrapassa um valor pré definido ● então o núcleo descarrega todos os módulos e cache do sistema que não estão ativos e começa a fazer a troca de processos sequencialmente até que exista memória livre disponível.
  19. 19. Para um sistema com 128MB de memória Quando o espaço livre da O marcador é: O algoritmo faz: memória 2 MB principal lotfree Começa a procurar por páginas na atinge: memória que não tenham sido usadas recentemente. Então, as move para a 1 MB desfree “free list”¹. a conservação da memoria Promove utilizada pelo Kernel. 512 KB minfree Não mais aloca memoria para programas de usuário e operações de leitura do sistema. 1. O conteudo da “free list” e posteriormente transferido para o disco. 2. Após a versão 7 do Solaris foi introduzido o marcador cachefree.
  20. 20. Alguns marcadores ● physmem: contagem total de páginas na memória física. ● lotsfree: a troca de páginas inicia quando a memória está abaixo do lostfree. ● minfree: Entre o lostfree e o minfree a taxa de troca aumenta linearmente. ● maxpgio: limita a taxa de I/O na fila do dispositivo de swap. ● Cachefree: utilizado como parametro para o cyclical page cache a partir do Solaris 8.
  21. 21. E então? ● O soft swapping ocorre quando a memória fica em média por 30 segundos abaixo do marcador desfree. ● O hard swapping ocorre quando o seguinte é verdade: ● Pelo menos 2 processos estão na fila esperando pela CPU. ● A memória livre fica em média abaixo do marcador desfree por mais de 30 segundos. ● Paginação excessiva (acontece quando page- out+page-in é maior que o definido em maxpgio)
  22. 22. Cyclical page cache ● Solaris 8 usa um algoritmo diferente para fazer a remoção de paginas da memória chamada de cyclical page cache. ● Ela foi projetada para remover os problemas do cache do sistema de arquivos com a memoria virtual. ● Esse novo sistema substitui paginação por demanda existente nas versões anteriores. ● Utiliza uma lista para fazer apenas o cache dos dados do sistema de arquivos. Qualquer outro objeto da memória é tratado em listas diferentes(binários, bibliotécas... ● Dessa maneira o sistema de arquivos só compete com ele mesmo por memória.
  23. 23. The End

×