1 / 8

Protocolo de Bloqueios

Protocolo de Bloqueios. Compartilhado e Exclusivo. 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

jed
Download Presentation

Protocolo de Bloqueios

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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

  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

More Related