Quanto às técnicas de controle de concorrência, avalie as se...
I. O esquema de Esperar-morrer e Ferir-esperar são técnicas de prevenção de deadlocks (impasses).
II. Uma solução para a inanição é ter um esquema onde as transações sempre são atendidas, como, por exemplo, primeira que chega é a primeira a ser servida.
III. Podem ocorrer deadlocks quando o controle de concorrência é baseado em ordenação de rótulo (timestamp).
Assinale a alternativa CORRETA:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é C. Vamos entender as afirmações e por que esta é a resposta correta.
Afirmativa I: "O esquema de Esperar-morrer e Ferir-esperar são técnicas de prevenção de deadlocks (impasses)." - Correta.
Os esquemas Esperar-morrer (Wait-Die) e Ferir-esperar (Wound-Wait) são, de fato, técnicas utilizadas para prevenir deadlocks em sistemas operacionais. Essas técnicas se baseiam em uma política de priorização de processos. No Wait-Die, um processo mais velho (com prioridade mais alta) pode esperar pelo recurso que um processo mais novo (com prioridade mais baixa) está segurando; se um processo mais novo requisita um recurso que um processo mais velho está segurando, ele deve morrer (ser abortado). Já no Wound-Wait, um processo mais velho pode "ferir" (suspendendo) um processo mais novo que está segurando o recurso, enquanto que um processo mais novo deve esperar se o recurso está sendo segurado por um processo mais velho.
Afirmativa II: "Uma solução para a inanição é ter um esquema onde as transações sempre são atendidas, como, por exemplo, primeira que chega é a primeira a ser servida." - Correta.
A inanição ocorre quando um processo nunca recebe os recursos que necessita para prosseguir, geralmente devido à existência de outros processos com prioridade mais alta. Uma forma de prevenir a inanição é utilizar um esquema FIFO (First In, First Out), onde a ordem de chegada dos processos define a ordem de atendimento. Dessa forma, mesmo processos com baixa prioridade eventualmente serão atendidos.
Afirmativa III: "Podem ocorrer deadlocks quando o controle de concorrência é baseado em ordenação de rótulo (timestamp)." - Errada.
O uso de timestamp (marca temporal) em sistemas de controle de concorrência tem como objetivo evitar deadlocks. O algoritmo de ordenação de timestamp atribui uma marca de tempo a cada transação e utiliza essas marcas para gerir a alocação de recursos. Esse método tenta garantir que os recursos sejam alocados de forma a evitar ciclos de espera, eliminando assim a possibilidade de deadlocks. Portanto, a afirmação de que deadlocks podem ocorrer com esse método está incorreta.
Dessa forma, a alternativa correta é a C porque a afirmativa III é a única incorreta, enquanto as afirmativas I e II estão corretas.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Pode ocorrer inanição (starvation), se o primeiro processo (que chega primeiro) da fila for longo. Então o tempo de espera médio de todos os outros processos será muito grande.
Em ambos os esquemas wait-diee wound-wait, uma transação que sofreu rollback reiniciada com o seu timestamp original. Assim, transações mais antigas têm precedência sobre as mais novas, e a inanição é evitada.
No RR também é evitado.
A resposta correta deveria ser a letra "A"
I) CORRETO. Livro SGBD Navathe quarta edição pg 425
II) CORRETO. Livro SGBD Navathe quarta edição pg 426
III) ERRADO. Timestamp não é baseado em bloqueio. Logo é livre de deadlock. Livro SGBD Navathe quarta edição pg 425
Segundo Navathe(2011,p.532),"As técnicas de controle de concorrência baseadas na ordenação por rótulo de tempo não usam bloqueios; logo, deadlocks não podem ocorrer."
**Portanto, NÃO Podem ocorrer deadlocks quando o controle de concorrência é baseado em ordenação de rótulo (timestamp).
Bibliografia:
SISTEMAS DE BANCO DE DADOS- 6 EDIÇÃO 2011-NAVATHE
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo