A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Protocolo de Bloqueios

Apresentações semelhantes


Apresentação em tema: "Protocolo de Bloqueios"— Transcrição da apresentação:

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


Carregar ppt "Protocolo de Bloqueios"

Apresentações semelhantes


Anúncios Google