Escolar Documentos
Profissional Documentos
Cultura Documentos
SO PAULO
2014
PROGRAMAO CONCORRENTE
CHAMADA DE PROCEDIMENTO REMOTO - RPC
DEADLOCK
de
Sistemas,
XXXXXXXXXXXXXXXXXX,
ao
para
SO PAULO
2014
RESUMO
do
qual
se
comunicam
por
mensagens,
visando
SUMRIO
RESUMO
1
PROGRAMAO CONCORRENTE
1.1
Introduo............................................................................................................0
1.2
1.3
Motivao e finalidade.........................................................................................0
1.4
1.7
Suporte em linguagens.......................................................................................0
2
2.1
Introduo............................................................................................................0
2.2
2.4
0
3
DEADLOCK 0
3.1
Definies de deadlock.......................................................................................0
3.2
3.3
3.4
3.5
Preveno de deadlock.......................................................................................0
3.6
3.7
Deteco de deadlock.........................................................................................0
3.8
Recuperao do deadlock...................................................................................0
1.1
PROGRAMAO CONCORRENTE
Introduo
1.2
1.3
Motivao e finalidade
Arquivo
Processo
Impressora
fsica
Arquivo
Processo
Leitor
Buffer
Processo
Impressor
Impressora
fsica
PC
PC
Usurios
PC
Servidor de Impresso
Receptor
Transmissor
Protocolo
Escritor
Leitor
Impressor
1.4
1.4.2
leitura pode ser feita assincronamente (tambm denominada como "enviar e rezar",
apesar da prtica padro ser reenviar mensagens que no so sinalizadas como
recebidas) ou pelo mtodo rendezvous, no qual o emissor bloqueado at que a
mensagem seja recebida (comunicao sncrona).
A comunicao por mensagens tende a ser mais simples que a
comunicao por memria compartilhada, e considerada uma forma mais robusta
de programao concorrente.
1.5
1.6
1.7
Suporte em linguagens
2.1
Introduo
Remote
Procedure
Call,
tambm
traduzido
como
Chamada
de
2.2
2.3
2.4
3.1
DEADLOCK
Definies de deadlock
3.2
3.3
Acima pode ser visto dois processos diferentes (A e B), cada um com um
recurso diferente alocado (R1 e R2). Este um exemplo clssico de deadlock. A
condio de espera circular facilmente visvel nos processos, onde cada um
solicita o recurso que est alocado ao outro processo.
Representao de: P1 R1 P2R3 R2 P1 P2 R3 P3
R2 P2
Neste
grafo,
apesar
de
haver um ciclo, no
existe deadlock. O
processo P4 pode
liberar sua instncia
do recurso R2 e este recurso ser alocado pelo processo P3, rompendo o ciclo.
3.4
3.5
Preveno de deadlock
3.6
3.7
Deteco de deadlock
O que este algoritmo faz tomar cada n, um aps o outro, e fazer uma
busca do tipo depth-first. Se passar novamente por um n j percorrido, significa que
encontrou um ciclo. Se j tiver percorrido todos os arcos a partir de um n qualquer,
ele retorna ao n anterior. Se esta propriedade for satisfeitas em todos ns o sistema
no ter deadlock.
3.8
Recuperao do deadlock
em deadlock.
O mtodo de abortar processos no uma alternativa fcil. Se por
exemplo o processo estiver no meio de uma atualizao de um arquivo, seu
cancelamento deixar esse arquivo em estado incorreto. Na pratica, se um processo
estivesse no meio de uma impresso e fosse interrompido, o sistema teria que
reiniciar a impressora para um estado correto antes de liberar a impressora para
imprimir a prxima tarefa.
Se a escolha for o mtodo de trmino parcial, ser necessrio determinar
quais processos em deadlock devem ser terminados. Esta determinao uma
deciso poltica, semelhante s decises de escalonamento de CPU.
execuo.
Reverso (Rollback): Ao apropriar de um recurso de um processo, o
processo no poder continuar com sua execuo normal, uma vez que no
ter um recurso necessrio. Assim ser necessrio fazer o rollback do
processo at algum estado seguro e reinici-lo a partir deste estado. Pelo fato
de ser difcil determinar qual o estado seguro, a soluo mais simples
seja o escolhido. Desta forma esse processo nunca completar sua tarefa.
Por este motivo necessrio garantir que um processo seja escolhido como
vtima em um nmero finito e pequeno de vezes. Normalmente isso ocorre
incluindo o nmero de rollbacks no fator de custo.
3.9
Condio de no-preempo;
Condio de espera circular;
Condio de excluso mtua;
Condio de posse e espera.
Para prevenir um deadlock, basta garantir que pelo menos uma das