Sicronização e comunicação entre processos
ALEX WESLEY GONCALVES DOS SANTOS ¹
THIAGO OLIVEIRA REIS ²
THIAGO PEREIRA ³
IFMG – INSTITUTO FEDERAL DE MINAS GERAIS
CAMPUS SÃO JOAO EVANGELISTA
39705-000 SÃO JOAO EVANGELISTA - MG
Resumo: Este artigo tem como objetivo descrever e exemplificar o métodos de sincronização e comunicação entre processos, a abordagem principal está voltada a Especificação de Concorrência em Programas e Problemas de Compartilhamento de recursos
1. INTRODUÇÃO
Com o surgimento dos sistemas multiprogramáveis, passou a ser possível estruturar aplicações de maneira que parte diferente do código do programa pudesse executar concorrentemente, acarretando as.. .
Aplicações concorrentes: execução cooperativa de múltiplos processos ou threads, que trabalham em uma mesma tarefa na busca de um resultado comum. Num SO multiprogramável de único UCP os processos alternam sua execução segundo critérios de escalonamento estabelecidos pelo SO (paralelismo). Num SO de múltiplos UCP a possibilidade do paralelismo na execução de instruções dá muito mais vantagens. Processos de aplicações concorrentes compartilham recursos do sistema (como arquivos, registros, dispositivos de E\S, memória). O compartilhamento de recursos entre processos pode acarretar situações indesejáveis capazes até de comprometer a execução das aplicações. Para evitar esse problema, os processos concorrentes devem ter suas execuções sincronizadas, a par ti r de mecanismos oferecidos pelo SO com o objetivo de garanti r o processamento correto dos programas. 2. ESPECIFICAÇÃO DE CONCORRENCIA EM PROGRAMAS
Diversas vezes, em uma aplicação concorrente, onde vários processos são (virtualmente) executados ao mesmo tempo, é necessário que os processo se comuniquem. A comunicação pode ser implementada através de diversos mecanismos, como variáveis compartilhadas na memoria principal ou troca de mensagens, desta forma há a necessidade que os processos concorrentes tenham a