trabalhov2

626 palavras 3 páginas
FACULDADE REDENTOR
CURSO DE SISTEMAS DE INFORMAÇÃO – 3° PERÍODO

MONITORES EM PROGRAMAÇÃO PARALELA

por
João Pedro Rezende
Gustavo Hosken
José Estêvão Barbosa
Raphael Guedes

Junho de 2015
Usados na técnica de sincronização entre duas tarefas ou mais, para compartilharem recursos entre si na Computação Paralela. Conjunto de rotinas (estruturas de dados, variáveis, funções, procedimentos) agrupadas num tipo especial de módulo (bloco) que permite a manipulação de recurso (s) compartilhado (s). Usados para realizar alocação de algum recurso compartilhado ou um grupo de recursos de forma reutilizável e seriada.
Idealizado por Dijkstra, seguida por Hansen e melhorada por Hoare, tornaram-se muito importantes em Programação Paralela, principalmente na Orientação à Objetos. A linguagem Java por exemplo, faz um uso extenso de Monitores para implementação de exclusão mútua, ou seja, técnica que consiste em limitar a entrada de um thread por vez, fazendo com que os demais esperem à sua saída, evitando a disputa por recursos computacionais.
Threads são responsáveis por chamarem as rotinas de entrada de monitor, muitos destes threads podem querer entrar de uma única vez, mas a exclusão mútua garante a impossibilidade de isto ocorrer, onde em qualquer instante, apenas um único processo estará ativo em um monitor. Geralmente, quando um processo chama uma rotina do monitor, suas primeiras instruções são verificar se existe algum outro processo ativo dentro do monitor, caso exista, o processo que fez a chamada fica suspenso, até o processo atualmente ativo, sair do monitor. Apesar de Monitores oferecerem uma maneira fácil de obter exclusão mútua, ainda assim isto não é o suficiente. Um problema que não pode ser desconsiderado é a necessidade de se bloquear processos quando eles não conseguem prosseguir, quando o buffer estiver cheio por exemplo. Por isto surgiu o conceito de Variáveis de Condição e suas operações: wait e signal. Funciona quando uma rotina do monitor

Relacionados