Search icone
Permuta de Trabalhos Acadêmicos
Garantias
Leia mais sobre as nossas garantias.

Sistemas operacionais - escalonamento de CPU

Informações sobre o autor

 
Nível
Avançado
Estudo seguido
informática
Faculdade
UCG

Informações do trabalho

Lazaro A.
Data de Publicação
Idioma
português
Formato
.ppt
Tipo
estudo
Número de páginas
87 diapositivo
Nível
avançado
Consultado
11 vez(es)
Validado por
Comitê Facilitaja
2 Avaliaçao cliente
4
escrever um comentário
  1. Conceitos Básicos
  2. Seqüência Alternada de Surtos de CPU e I/O
  3. Histograma de Tempo de Surtos de CPU
  4. Escalonador de CPU
  5. Critérios de Otimização
  6. Primeiro a chegar é servido (FCFS)
  7. Escalonamento job mais curto primeiro (SJR)
  8. Exemplo de SJF Não-preemptivo
  9. Exemplo de SJF preemptivo
  10. Determinando o Tamanho do Próximo Surto de CPU
  11. Exemplos de Média Exponencial
  12. Escalonamento por prioridade
  13. Round Robin (RR)
  14. Exemplo: RR com Quantum = 20
  15. Como um Quantum de Tempo menor aumenta as trocas de contexto
  16. Tempo de Retorno varia com o Tempo de Quantum
  17. Filas Múltiplas
    1. Escalonamento em Filas Múltiplas
    2. Filas Múltiplas com Realimentação
    3. Exemplo de Filas Múltiplas com Realimentação
  18. Escalonamento de Threads
  19. Avaliação de Algoritmos
  20. Avaliação de Escalonadores por Simulação
  21. Sincronização de Processos
  22. Background
  23. Buffer Limitado
  24. Métodos enter( ) e remove( )
  25. Execução Concorrente
  26. Solução para o Problema da Seção Crítica
  27. Thread ?Worker?
  28. Método run() do Thread Worker
  29. Classe Abstrata ?MutualExclusion?
  30. Programa Teste para os Algoritmos
  31. Algoritmo 1
  32. Algoritmo 2
  33. Algoritmo 3
  34. Hardware de Sincronização
  35. Instrução Test-and-Set (Java)
  36. Thread usando Test-and-Set
  37. Instrução Swap
  38. Semáforos
  39. Sincr. De Vários Threads - Thread Worker
  40. Sincronização de múltiplos Threads
  41. Semáforo com Eliminação da Espera Ocupada
  42. Deadlock e Starvation
  43. Construtor
  44. Métodos enter( ) e remove( )
  45. Thread Produtor
  46. Thread Consumidor
  47. Leitor
  48. Escritor
  49. Classe DataBase
  50. Método startRead( )
  51. Métodos endRead, stratWrite, ndWrite
  52. Problemas Clássicos de Sincronização Problema do Jantar dos Filósofos
  53. Problema do Jantar dos Filósofos
  54. Monitores
  55. Variáveis Condition
  56. Procedimentos pickUp( )e putDown( )
  57. Procedimento test( )
  58. Deadlocks
  59. O Problema de Deadlock
  60. Exemplo da Travessia da Ponte
  61. Modelo do Sistema
  62. Caracterização do Deadlock
  63. Grafo de Alocação de Recursos
  64. Grafo de Alocação de Recursos com Deadlock
  65. Grafo com Ciclo sem Deadlock
  66. MétoDeadlocksdos para Tratar
  67. Conclusão
  68. Bibliografia

A utilização máxima de CPU é obtida através de multiprogramação. Com um só processador, nunca haverá mais de um processo em execução. Ciclos de surtos de CPU?I/O ? A execução de um processo consiste na alternância entre um ciclo de execução de CPU e um ciclo de espera de I/O. Uma distribuição de surtos de CPU pode ser observada.

[...] Qualquer solução para o problema deve garantir que um filósofo não morra de fome Monitores Um monitor é uma abstração de alto nível que provê a segurança de threads através de encapsulamento de dados Apenas um thread pode estar ativo dentro do monitor de cada vez. A sincronização está incorporada na estrutura de dados monitor monitor-name { declaração de variáveis public entry p1( ) { . } public entry p2( ) { . } } Variáveis Condition condition Um thread que invoca x.wait fica suspenso até outro thread invocar x.signal x.signal retorna exatamente um thread. [...]


[...] count private volatile int count; } Métodos enter( ) e remove( ) public void enter(Object item) { produtor chama este método while (count BUFFER_SIZE); não faça nada ++count; adicione um item ao buffer buffer[in] = item; in = (in + % BUFFER_SIZE; } public Object remove() { consumidor chama este método Object item; while (count ; não faça nada --count; remova um item do buffer item = buffer[out]; out = (out + % BUFFER_SIZE; return item; } Execução Concorrente Solução para o Problema da Seção Crítica Seção crítica - segmento de código onde o thread pode alterar variáveis comuns 1. [...]


[...] Decisões de escalonamento de CPU ocorrerem quando o processo: 1. Muda do estado de execução para espera Muda do estado de execução para pronto Muda do estado de espera para pronto Termina. O escalonamento nos casos 1 e 4 são chamados não-preemptivos. Os demais são chamados preemptivos. Dispatcher O módulo de dispatcher (executor) dá o controle da CPU ao processo selecionado pelo escalonador de curto prazo. Isto envolve: a mudança do contexto a mudança para o modo usuário pular para a posição adequada no programa do usuário e reiniciar este programa Latência de dispatch tempo necessário ao dispatcher para interromper um processo e iniciar a próxima execução. [...]

Mais Vendidos informática

Projeto Integrado Multidisciplinar

 Engenharia e tecnologias   |  Informática   |  Estudo   |  04/06/2013   |  BR   |   .doc   |   7 páginas

Últimos trabalhos informática

Projeto Integrado Multidisciplinar

 Engenharia e tecnologias   |  Informática   |  Estudo   |  04/06/2013   |  BR   |   .doc   |   7 páginas

A Utilização de Software Livre em Empresa - Banco do Brasil

 Engenharia e tecnologias   |  Informática   |  Estudo   |  02/12/2012   |  BR   |   .doc   |   13 páginas