Pascal concorrente
Maio - 2013
Sumário
1. Introdução 3
2. Concorrência 4
2.1 Processos Concorrentes 5 2.2 Monitores 5
3. Pascal Concorrente 6
3.1 O ambiente de programação do Pascal Concorrente 8 3.1.1 O kernel 8 3.1.2 Multiplexação de Processos 8 3.1.3 Implementação de Monitores 8 3.1.4 Entrada e Saída 8 2.2.5 Os Compiladores 9
4. Referências 10
Introdução
Algumas vezes estruturar os sistemas como um conjunto de unidades concorrentes, executadas em paralelo, é necessário. Nesses casos, o programa é executado em um sistema distribuído composto de vários computadores ou em um computador com múltiplos processadores. O Pascal Concorrente é uma linguagem voltada para esse tipo de unidades concorrentes.
Concorrência
Um programa concorrente especifica dois ou mais processos concorrentes, onde cada um executa um programa sequencial. Tais processos se comunicam, fazendo-se necessária uma sincronização. A concorrência fornece uma solução diferente para resolução dos problemas, pois faz com que unidades concorrentes sejam executadas em paralelo. Devido à popularização de computadores com múltiplos processadores, processos concorrentes passaram a ser mais utilizados pelos softwares. Nos primeiros computadores com múltiplos processadores, um processador era utilizado para funções genéricas, enquanto os outros eram usados apenas para operações de entrada e saída. Assim, quando um programa era executado, outros podiam executar operações de entrada e saída. Por volta dos anos 60 surgiram computadores com múltiplos processadores que executavam apenas um conjunto de instrução. Por exemplo, algumas máquinas tinham dois ou mais multiplicadores de ponto-flutuante, enquanto outras tinham duas ou mais unidades aritméticas completas. Neste caso, os compiladores tinham que determinar quais instruções poderiam ser executadas concorrentemente