Sistemas operacionais

865 palavras 4 páginas
Sistemas Operacionais
Processos
Semáforos

Semáforos
Mecanismo de sincronização que não requer espera ocupada Dijkstra propôs usar uma variável inteira para contar o no de WAKEUPs para uso futuro Menos complicado Esta variável, denominada semáforo, pode ter valor 0 (nenhum WAKEUP pendente) ou um valor inteiro positivo Apenas duas operações são definidas sobre estas variáveis: as operações P (Down) e V (Up)

Eduardo Nicola F. Zagari

2

Comunicação e Sincronização

1

(cont.) Semáforos
P(s) (Down) - checa o valor do semáforo. Se o valor é maior que 0 (zero), decrementa e continua. Se for igual a 0, o processo é posto para dormir Ação atômica: é garantido que, uma vez iniciada a operação, nenhum outro processo tem acesso ao semáforo (essencial para resolver problemas de sincronização e evitar condições de corrida) P(s) equivale a: Se s > 0 então s := s - 1 senão bloqueia o processo até s > 0 (= wait(s)) V(s) (Up) - se um ou mais processos estão dormindo no semáforo, um deles é escolhido aleatoriamente pelo SO e continua sua operação Down (o valor zero continua). Se não há ninguém “dormindo” no semáforo, incrementa o valor dele Operação também é indivisível V(s) equivale a: Verifica se existe uma lista com processos bloqueados por causa de s, se existe escolhe um e o “acorda”, deixando-o pronto para seguir sua execução de P(s) (= signal(s)) senão s := s + 1
Eduardo Nicola F. Zagari 3 Comunicação e Sincronização

Semáforos como um mecanismo de Semá sincronização geral sincronizaç
Semáforo Contador – valor inteiro positivo pode variar sem limites Semáforo Binário – valor inteiro só pode variar entre 0 e 1;
Também conhecido como mutex locks

Para fornecer exclusão mútua:
Semaphore S; // initialized to 1 P(S); criticalSection(); V(S);

Eduardo Nicola F. Zagari

4

Comunicação e Sincronização

2

Deadlock e Starvation
Deadlock – dois ou mais processos ficam esperando indefinidamente por um evento que pode ser causado apenas por um dos

Relacionados

  • Sistema operacional
    1575 palavras | 7 páginas
  • Sistemas operacionais
    2051 palavras | 9 páginas
  • sistema operacional
    1400 palavras | 6 páginas
  • Sistemas Operacionais
    1580 palavras | 7 páginas
  • Sistemas operacionais
    965 palavras | 4 páginas
  • sistemas operacionais
    2546 palavras | 11 páginas
  • O que é um sistema operacional
    4623 palavras | 19 páginas
  • Sistema Operacional
    5806 palavras | 24 páginas
  • Sistemas Operacionais
    1771 palavras | 8 páginas
  • Sistemas Operacionais
    897 palavras | 4 páginas