Solução de peterson + instrução tsl

1085 palavras 5 páginas
Solução de Peterson
Durante muitos anos, a solução do problema de exclusão mútua não foi descoberta. O primeiro a tentar uma solução foi Dekker, solução que não foi aplicável na prática por ser complicada e dispendiosa em termos de tempo de computação.
Em 1981, Peterson descobriu uma solução bem simples, a qual é apresentada no programa a seguir:
Procedure entra_regiao(processo:interger); begin outro := vez; interessados[processo]= TRUE; vez := processo; while (vez= processo and interessado[outro]) (*espera*) do; end; procedure deixa_regiao(processo:interger); begin interessado[processo]= FALSE; end; A solução consiste em fazer com que um processo, antes de entrar na região crítica execute a rotina entra_regiao com o seu número. Ao terminar a utilização da região crítica o processo executa deixa_regiao.
É interessante estudar o funcionamento desta solução, para os diversos casos possíveis de interação entre dois processos que executam entra_regiao antes de entrar na região crítica e deixa_regiao ao sair da mesma. Como um exemplo, supõe-se que os dois processos executam as chamadas de entra_regiao praticamente ao mesmo tempo. Neste caso, ambos indicarão o seu interesse colocando a respectiva entrada do vetor interessados em TRUE. Após isto, um dos processos deixa em vez o seu valor(pois altera esta variável por último) e, portanto habilita o outro processo a continuar, aguardando até que o outro processo indique que não mais está interessado, executando deixa_regiao.
O problema desta solução, é que os próprios processos devem chamar entra_regiao e sai_regiao. Se um deles for mal programado ou trapaceiro pode monopolizar a utilização da região crítica.

Instrução TSL
Instrução especial que permite ler uma variável, armazenar seu conteúdo em uma outra área e atribuir um novo valor a esta variável(hardware). É uma instrução indivisível(executada sem interrupção), com uma variável compartilhada flag: quando flag=0, qualquer processo pode

Relacionados

  • SISTEMAS OPERACIONAIS
    2390 palavras | 10 páginas
  • Solução de peterson
    356 palavras | 2 páginas
  • Condiçoes de Corrida
    359 palavras | 2 páginas
  • Slides SO
    1313 palavras | 6 páginas
  • weeber tec
    881 palavras | 4 páginas
  • Inibição de interrupções
    2039 palavras | 9 páginas
  • IPC-sistema operacionais
    840 palavras | 4 páginas
  • 861270865 cap1
    2392 palavras | 10 páginas
  • Guido
    1924 palavras | 8 páginas
  • trabalho sobre sistemas operacionais
    1499 palavras | 6 páginas