Aula 02-processos-e-threads-tanenbaum-parte-2

3,561
-1

Published on

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,561
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
219
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Aula 02-processos-e-threads-tanenbaum-parte-2

  1. 1. Cristiano  Pires  Martins Parte 2terça-feira, 13 de março de 12
  2. 2. Exclusão  Mútua  com  Espera   Ociosa — Desabilitando  Interrupções; — Variáveis  de  Impedimento; — Alternância  Obrigatória; — Solução  de  Peterson; — A  instrução  TSL;terça-feira, 13 de março de 12
  3. 3. Desabilitando  Interrupções — É  a  solução  mais  simples:  cada  processo  desabilita   todas  as  interrupções  logo  depois  de  entrar  na   região  crítica  e  reabilita-­‐se  imediatamente  antes   de  sair  dela; — Não  é  interessante  porque  não  é  prudente  dar  aos   processos  dos  usuários  o  poder  de  desligar   interrupções; — É  uma  técnica  bastante  útil  dentro  do  próprio  SO,   mas  inadequada  como  um  mecanismo  geral  de   exclusão  mútua  para  processos  de  usuário.terça-feira, 13 de março de 12
  4. 4. Variáveis  de  Impedimento — Solução  de  Software; — Há  uma  única  variável  compartilhada  entre  os   dois  processos  (lock),  contendo  o  valor  0; — Se  lock  for  0,  o  processo  altera  essa  variável  para  1   e  entra  na  região; — Se  lock  já  estiver  com  o  valor  1,  o  processo   simplesmente  aguardará  até  que  ela  se  torne  0; — Só  que  essa  técnica  apresenta  uma  falha  como   diretório  de  spool.terça-feira, 13 de março de 12
  5. 5. Alternância  Obrigatória — Contém  uma  variável  inteira,  inicialmente  com  0,   serve  para  controlar  a  vez  de  quem  entra  na  região   crítica  e  verifica  ou  atualiza  a  memória   compartilhada; — Testar  continuamente  um  variável  até  que  um   valor  apareça  é  chamado  de  espera  ociosa.  Isso   deveria  ser  evitado  (gasta  tempo  de  CPU); — A  variável  de  impedimento  que  usa  espera  ociosa   é  chamada  de  spin  lock.terça-feira, 13 de março de 12
  6. 6. Alternância Obrigatória Solução proposta para o problema da região crítica (a) Processo 0. (b) Processo 1. 33terça-feira, 13 de março de 12
  7. 7. Alternância  Obrigatória — Alternar  a  vez  não  é  uma  boa  idéia  quando  um  dos   processos  for    muito  mais  lento  que  o  outro; — Essa  situação  viola  a  condição  3:  o  processo  0  está   sendo  bloqueado  por  um  processo  que  não  está  na  sua   região  crítica.terça-feira, 13 de março de 12
  8. 8. Solução de Peterson Solução de Peterson para implementar exclusão mútua 35terça-feira, 13 de março de 12
  9. 9. Instrução  TSL — Requer  um  pequeno  auxílio  do  hardware; — TSL  (Test  and  Set  Lock):  teste  e  atualize  variável  de   impedimento; — As  operações  de  leitura  e  armazenamento  de  uma   palavra  são  seguramente  indivisíveis; — A  CPU  impede  o  acesso  ao  barramento  de  memória.terça-feira, 13 de março de 12
  10. 10. Instrução TSL Entrando e saindo de uma região crítica usando a instrução TSL 37terça-feira, 13 de março de 12
  11. 11. Dormir e Acordar Problema do produtor-consumidor com uma condição de disputa fatal 38terça-feira, 13 de março de 12
  12. 12. Semáforos O problema do produtor-consumidor usando semáforos 39terça-feira, 13 de março de 12
  13. 13. Mutexes Implementação de mutex_lock e mutex_unlockInstrução TSL 40terça-feira, 13 de março de 12
  14. 14. Monitores (1) Exemplo de um monitor 41terça-feira, 13 de março de 12
  15. 15. Troca de Mensagens O problema do produtor-consumidor com N mensagens 42terça-feira, 13 de março de 12
  16. 16. Barreiras — Uso de uma barreira a) processos se aproximando de uma barreira b) todos os processos, exceto um, bloqueados pela barreira c) último processo chega, todos passam 43terça-feira, 13 de março de 12
  17. 17. Escalonamento Introdução ao Escalonamento (1) — Surtos de uso da CPU alternam-se com períodos de espera por E/S a) um processo orientado à CPU b) um processo orientado à E/S 44terça-feira, 13 de março de 12
  18. 18. Introdução ao Escalonamento (2) Objetivos do algoritmo de escalonamento 45terça-feira, 13 de março de 12
  19. 19. Escalonamento em Sistemas em Lote (1) Um exemplo de escalonamento job mais curto primeiro 46terça-feira, 13 de março de 12
  20. 20. Escalonamento em Sistemas em Lote (2) Escalonamento em três níveis 47terça-feira, 13 de março de 12
  21. 21. Escalonamento emSistemas Interativos (1) — Escalonamento por alternância circular (round- robin) a) lista de processos executáveis b) lista de processos executáveis depois que B usou todo o seu quantum 48terça-feira, 13 de março de 12
  22. 22. Escalonamento emSistemas Interativos (2) Um algoritmo de escalonamento com quatro classes de prioridade 49terça-feira, 13 de março de 12
  23. 23. Próximo  Processo  Mais  Curto 23terça-feira, 13 de março de 12
  24. 24. Escalonamento  GaranHdo 24terça-feira, 13 de março de 12
  25. 25. Escalonamento em Sistemas de Tempo-Real Sistema de tempo-real escalonável •  Dados –  m eventos periódicos –  evento i ocorre dentro do período Pi e requer Ci segundos •  Então a carga poderá ser tratada somente se m Ci ∑ P ≤1 i =1 i Pearson Education Sistemas Operacionais Modernos – 2ª Edição 33 25terça-feira, 13 de março de 12
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×