Senai sistemas operacionais gerenciamento memoria

2,653 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,653
On SlideShare
0
From Embeds
0
Number of Embeds
710
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Senai sistemas operacionais gerenciamento memoria

  1. 1. Sistemas OperacionaisGerenciamento de memória Prof. Carlos Melo
  2. 2. Sem abstração de memória
  3. 3. Múltiplos programas sem abstração dememória
  4. 4. Registrador-base e limite
  5. 5. Troca
  6. 6. Gerenciamento de memória com mapa debits
  7. 7. Gerenciamento de memória com listasencadeadas
  8. 8. Memória virtual - paginação
  9. 9. Estrutura de uma entrada de uma tabela depáginas
  10. 10. Acelerando a paginação Problemas na implementação da paginação: • O mapeamento do endereço virtual para o endereço físico deve ser rápido. • Se o espaço virtual for grande, a tabela de páginas será grande.
  11. 11. Buffers para tradução de endereços
  12. 12. Tabelas de páginas multinível
  13. 13. Tabelas de páginas invertidas
  14. 14. Algoritmo de substituição de páginas• Algoritmo ótimo de substituição de página.• Algoritmo de substituição de página não usado recentemente.• Algoritmo de substituição de página primeiro a entrar, primeiro a sair.• Algoritmo de substituição de página segunda chance.• Algoritmo de substituição de página de relógio.• Algoritmo de substituição de página usado menos recentemente.• Algoritmo de substituição de página de conjunto de trabalho.• Algoritmo de substituição de página WSClock.
  15. 15. Algoritmo segunda chance
  16. 16. Algoritmo de substituição de página derelógio
  17. 17. Algoritmo de substituição de página LRU
  18. 18. Simulando LRU em software
  19. 19. Algoritmo de substituição de página deconjunto de trabalho
  20. 20. Algoritmo de substituição de página WSClock (Continua)
  21. 21. Algoritmo de substituição de página WSClock(Continuação)
  22. 22. Resumo dos algoritmos de substituição depágina
  23. 23. Política de alocação local versus global
  24. 24. Espaços separados de instrução de dados
  25. 25. Páginas compartilhadas
  26. 26. Bibliotecas compartilhadas
  27. 27. Tratamento da falta de página• O hardware cria uma interrupção, salvando o contador do programa na pilha.• Uma rotina em código é iniciada para salvar o conteúdo dos registradores de uso geral e outras informações voláteis.• O sistema operacional descobre a ocorrência de uma falta de página e tenta descobrir qual página virtual é necessária.• Uma vez conhecido o endereço virtual que causou a falta da página, o sistema verifica se esse endereço é válido e se a proteção é consistente com o acesso.
  28. 28. • Se a moldura da página selecionada estiver suja, a página é escalonada para ser transferida para o disco e será realizado um chaveamento de contexto.• Quando a moldura da página estiver limpa, o sistema operacional buscará o endereço em disco onde está a página virtual solicitada e escalonará uma operação para trazê-la.• Quando a interrupção de disco indicar que a página chegou na memória, as tabelas de páginas serão atualizadas para refletir sua posição, e será indicado que a moldura de página está normal.
  29. 29. • A instrução que estava faltando é recuperada para o estado em que se encontrava quando começou, e o contador de programa é reiniciado a fim de apontar para aquela instrução.• O processo em falta é escalonado, o sistema operacional retorna para a rotina, em linguagem de máquina, que o chamou.• Esta rotina recarrega os registradores e outras informações de estado e retorna ao espaço de usuário para continuar a execução como se nada tivesse ocorrido.
  30. 30. Backup de instrução
  31. 31. Memória secundária
  32. 32. Separação da política e mecanismoSistema de gerenciamento de memória é dividido em três partes:• Um manipulador de MMU de baixo nível.• Um manipulador de falta de página que faz parte do núcleo.• Um paginador externo executado no espaço do usuário.
  33. 33. SegmentaçãoUm compilador tem muitas tabelas que são construídas conforme a compilação ocorre, possivelmente incluindo:• O código-fonte sendo salvo para impressão (em sistema em lotes).• A tabela de símbolos – os nomes e atributos das variáveis.• A tabela com todas as constantes usadas, inteiras e em ponto flutuante.• A árvore sintática, a análise sintática do programa.• A pilha usada pelas chamadas de rotina dentro do compilador.
  34. 34. Implementação da segmentação pura
  35. 35. Segmentação com paginação: MULTICS
  36. 36. Quando ocorre uma referência à memória, o seguinte algoritmo é executado:• O número de segmento é usado para encontrar o descritor desse segmento.• Realiza-se uma verificação para ver se a tabela de páginas do segmento está na memória. – Se não estiver, ocorre uma falta do segmento. – Se houver uma violação na proteção, uma falta ocorre.
  37. 37. • A entrada da tabela de páginas para a página virtual requerida é examinada. – Se a página não estiver na memória, ocorre uma falta de página. – Se estiver na memória, o endereço da memória principal do início da página é extraído da entrada da tabela de páginas.• O deslocamento é adicionado à página de origem para gerar o endereço da memória principal onde a palavra está localizada.• A leitura ou registro podem ser realizados.
  38. 38. Segmentação com paginação: o Pentium

×