Guido

1924 palavras 8 páginas
Sistemas Operacionais
Prof. Leonardo Botega, M.Sc.

Processos
2.2 Comunicação e Sincronização entre
Processos
2.2.1 Especificação de Execução Concorrente

Algumas formas de se expressar uma execução concorrente
(usadas em algumas linguagens e sistemas operacionais)

• Co-rotinas
• Declarações FORK/JOIN
• Declarações
COBEGIN/COEND
• Declarações de
Processos Concorrentes

Sistemas Operacionais

2

Processos
❚ Co-Rotinas
❙ As co-rotinas são parecidas com sub-rotinas (ou procedimentos), diferindo apenas na forma de transferência de controle, realizada na chamada e no retorno ❙ As co-rotinas possuem um ponto de entrada, mas pode representar diversos pontos intermediários de entrada e saída ❙ A transferência de controle entre eles é realizada através do endereçamento explícito e de livre escolha do programador (através de comandos do tipo
TRANSFER)
Sistemas Operacionais

3

Processos
Funcionamento das Sub-rotinas comuns
Programa P
...
...
Call A
...
...
End

Sub-Rotina A
...
...
Call B
...
...
Return

Guarda endereço da instrução após
Desempilha último o Call (pilha) endereço de retorno e desvia para sub-rotina Guarda endereço da instrução após o Call (pilha) e desvia para sub-rotina Sistemas Operacionais

Sub-Rotina B
...
...
...
...
...
Return

Desempilha último endereço de retorno
4

Processos
Funcionamento das Co-Rotinas
Co-Rotina P
...
...
Transfer(P,A)
...
...
End

Co-Rotina A
...
...
Transfer(A,C)
...
...
Transfer(A,C)
Co-Rotina B
...
...
Transfer(B,A)
...
...
Transfer(B,P)
Sistemas Operacionais

Co-Rotina C
...
...
Transfer(C,B)
...
...
Transfer(C,B)

5

Processos
❚ Declarações FORK/JOIN
❙ A declaração FORK determina o início de execução de um determinado programa, de forma concorrente com o programa sendo executado.
❙ Para sincronizar-se com o término do programa chamado, o programa chamador deve executar a
declaração

Relacionados

  • guido
    1502 palavras | 7 páginas
  • Guido
    5886 palavras | 24 páginas
  • Guido Viaro
    5175 palavras | 21 páginas
  • Guido de Arezzo
    374 palavras | 2 páginas
  • Guido d'arezzo
    781 palavras | 4 páginas
  • Guido d’arezzo
    787 palavras | 4 páginas
  • Guido d'Arezzo
    725 palavras | 3 páginas
  • guido 1
    4315 palavras | 18 páginas
  • power guido
    912 palavras | 4 páginas
  • Guido viaro - folder
    496 palavras | 2 páginas