Comunicação entre processos
FACULDADES INTEGRADAS MACHADO DE ASSIS
CURSO DE GESTÃO DE TI – 2º SEMESTRE
COMUNICACÃO ENTRE PROCESSOS
adêmicos:
ntrodução
Os primeiros S.O. eram voltados tipicamente para execução de um único progr
monoprogramáveis). Qualquer outra aplicação, para ser executada, deveria aguardar o términ
rograma corrente. Nesse tipo de sistema, o processador, a memória e os periféri
ermanecem exclusivamente dedicados a execução de um único programa.
Na década de 1960, com o surgimento dos sistemas operacionais multiprogramáveis, passo
er possível estruturar aplicações de maneira que partes diferentes do código do progr
udessem executar concorrentemente.
specificação de concorrência entre programas
meira notação para especificação da concorrência: FORK e JOIN.
FORK – Inicia a execução de outro programa concorrentemente.
JOIN – O programa chamador espera o outro programa terminar para continuar o processamento. plementação mais simples: PARBEGIN e PAREND.
PARBEGIN – Inicia lista de programas que serão executados paralela e aleatoriamente aleatoriamente. PAREND – Especifica o ponto de sincronização.
oblemas de compartilhamento de recursos
Problemas podem ocorrer devido a falha de Sincronização entre processos concorrentes.
xemplo:
Situação onde dois processos (A e B) executam um comando de atribuição.
)
O processo A soma 1 na variável X e o processo B diminui 1 da mesma variável que está
compartilhada. Inicialmente X=2.
Seria razoável que o resultado de X continuasse 2, porém isso nem sempre será verdade.
Qualquer situação onde dois ou mais processos compartilham um mesmo recurso, deve existir
um mecanismo de controle para evitar problema similar ao exemplo acima e esse controle é
conhecido como RACE CONDITIONS, ou Condições de Corrida.
,
olução para os problemas de compartilhamento
A exclusão mútua é a solução mais simples.
egião crítica: parte do código