Relógio
PARADIGMAS DE
PROGRAMAÇÃO:
Concorrência
Aluna: Alane Pontes Gomes
Fortaleza, 24 de outubro de 2014
1. Introdução
A concorrência da execução de um programa pode ocorrer em quatro níveis:
1. Nível de instrução de máquina: Refere-se a execução de duas ou mais instruções de nível de máquina simultaneamente e não tem referência a linguagem de programação.
2. Nível de sentença(comando, intrução): Refere-se a execução de duas ou mais sentenças em uma linguagem qualquer (ou linguagem fonte).
3. Nível de unidade(ou subprograma): Refere-se a execução de duas ou mais unidades, ou subprogramas, simultaneamente.
4. Nível de programa: Refere-se a execução de dois ou mais programas simultaneamente e não tem referência a linguagem de programação.
Muitas vezes, convém estruturar os sistemas como conjuntos de subprogramas que são executados em paralelos. É conveniente citar algumas vantagens de se usar concorrência, por exemplo, podemos obter uma solução diferente para resoluções de problemas com mais naturalidade, pois inúmeros programas são escritos para simular entidades físicas e atividades, e frequentemente o sistema simulado precisa que essas entidades realizem mais de uma ação, simultaneamente. Além disso, a execução em paralelo aumenta a velocidade de execução dos sistemas. Outro ponto a ser destacado é a otimização do uso de computadores que hoje são multiprocessados.
Atualmente, uma grande parte das arquiteturas de computadores tem mais de um processador e podem suportar a execução concorrente de programas. No final da década de 50, tinha um processador genérico e outros serviam para I/O. No início da década de 60, tínhamos processadores completos, as máquinas possuíam uma organizador de tarefas que distribuía a execução entre os processadores, ou seja, concorrência a nível de programa. Já na metade da década de 60, tínhamos processadores parciais, eram computadores multiprocessados com diversos processadores que