Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Protocolo de Bloqueios
Compartilhado e Exclusivo
2
Protocolos com Base em Bloqueio
Duas formas de bloqueio : Compartilhado Uma transação T1 com um bloqueio compartilhado (lock_r) sobre um item A somente pode ler esse item Exclusivo Uma transação T1 com um bloqueio exclusivo (lock_rw) sobre um item A, pode tanto ler como escrever esse item
3
Protocolos com Base em Bloqueio
Bloqueios compartilhados podem ser realizados de diferentes transações sobre o mesmo item de dados Instruções de Solicitação de Bloqueio/Desbloqueio: lock_r(A): Bloqueio compartilhado lock_rw(A): Bloqueio exclusivo Desbloqueio pelo instrução unlock O bloqueio deve ser mantido durante todo o tempo de acesso ao item
4
Protocolos com Base em Bloqueio
Quando é usado este tipo de bloqueio, cada transação deve seguir as seguintes regras: Deve executar a operação lock_r(A) ou lock_rw(A) antes da operação read(A) em T. Deve executar a operação lock_rw(A) antes de qualquer operação write(A) em T. Deve executar a operação unlock(A) depois de todas as operações read(A) e write(A) foram completadas em T. Só pode realizar um unlock(A) se já houver executado um lock_r(A) ou lock_rw(A) antes.
5
Protocolos com Base em Bloqueio
O desbloqueio imediatamente após o acesso final ao item poderá resultar em inconsistência, caso sejam executadas transações concorrentes O desbloqueio ao final de toda a transação pode ocasionar em impasse (deadlock) Os deadlocks podem ser tratados, mas o estado de inconsistência não podem ser tratados pelo sistema
6
Protocolos com Base em Bloqueio
Suponha que T2 possui bloqueio compartilhado sobre o item A e T1 solicita bloqueio exclusivo sobre o mesmo item, T1 terá que esperar. T3 solicita bloqueio compartilhado. T2 já deve ter terminado, T1 terá que esperar agora T3 terminar. E assim sucessivamente... T1 poderá nunca ser processada, sendo chamada de inane
7
Protocolos com Base em Bloqueio
R (Compartilhado) RW (Exclusivo) Verdadeiro Falso
8
Protocolos com Base em Bloqueio
Para evitar a inanição, quando Ti solicita um bloqueio sobre um item A de modo B, o bloqueio é concedido caso: Não haja nenhuma outra transação com bloqueio sobre A que seja conflitante com B Não haja nenhuma outra transação que esteja esperando um bloqueio sobre A e que tenha feito sua solicitação antes de Ti
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.