SóProvas


ID
315718
Banca
FCC
Órgão
TRE-RN
Ano
2011
Provas
Disciplina
Banco de Dados
Assuntos

No âmbito dos bancos de dados, quando cada transação em um conjunto de duas ou mais transações espera por algum item que esteja bloqueado por alguma outra transação no conjunto, o que ocorre é

Alternativas
Comentários
  • Segundo o Wikipedia:
    "O deadlock ocorre com um conjunto de processos e recursos não-preemptíveis, onde um ou mais processos desse conjunto está aguardando a liberação de um recurso por um outro processo que, por sua vez, aguarda a liberação de outro recurso alocado ou dependente do primeiro processo."
    Não foi dito que a transação que está bloqueando o recurso está esperando por outro recurso de outra transação e que certo recurso está sendo bloqueado por outra transação e precisa esperar, logo vem a ocorrência de Starvation.
    Fonte:
    http://pt.wikipedia.org/wiki/Deadlock
  •  

    • a) commit. Comando que grava definitivamente os efeitos dos comandos de uma transação (insert, delete e update).

    • b) timestamp. é uma seqüência de caracteres, que utiliza data e / ou a hora em que um evento é registrado por um computador, não o tempo do evento em si. O momento em que um evento é gravado por um timestamp (por exemplo, entrou em um arquivo de log) deve ser muito, muito perto da hora da ocorrência do evento registrado.

    • c) deadlock. caracteriza uma situação em que ocorre um impasse e dois ou mais processos ficam impedidos de continuar suas execuções, ou seja, ficam bloqueados. Ainda especificamente para que o deadlock (travamento mortal) ocorra os recursos solicitados por um processo devem estar alocados a outro processo o qual também solicite simultaneamente um recurso.

    • d) rollback. Comando que desfaz os efeitos dos comandos da transação (insert, delete e update)

    • e) starvation.   ocorre quando um processo nunca é executado ("morre de fome"), pois processos de prioridade maior sempre o impedem de ser executado.  

  • a) commit  --> Grava os efeitos de uma transação.
    b) timestamp --> Log de registro de um evento.
    d)
    rollback --> Desfaz os efeitos dos comandos da transação


    A dúvida ficaria entre a C e E.


    A alternativa é a C, sendo que a questão foi um copy/paste do livro do Navathe, 4a edição:

    .18.1.3 - Lidando com Deadlock (Impasse) e Starvation (Inanição)

    O deadlock ocorre quando cada transação em um conjunto de duas ou mais transações espera por algum item que esteja bloqueado por alguma outra transação T' no conjunto. Portanto, cada transação no conjunto está em uma fila de espera, aguardando por uma das outras transações do conjunto para liberar o bloqueio em um item.


    Starvation (Inanição). Um outro problema que pode ocorrer quando usamos bloqueio é a starvation, que ocorre quando uma transação não pode continuar por um período indefinido de tempo, enquanto outras transações no   sistema continuam normalmente. Isso pode ocorrer se o esquema de espera para itens bloqueados for parcial, dando prioridade a alguma transações sobre outras.
  • As informações oferecidas não são suficientes para caracterizar a ocorrência de um dead-lock. O problema é que essa bancas retiram partes de textos que estão inseridos num contextos nos livros, e aí aparecem essas questões toscas sem pé nem cabeça.
  • Mas o que mais poderia ser, além de Deadlock? Starvation, talvez?

     

    Mas Starvation está relacionado ao fato de um processo não ser selecionado pelo escalonador do SO. E as outras alternativas não condizem com o enunciado.

  • DEADLOCK
    •É uma situação em que duas ou mais transações estão em estado simultâneo de espera, cada uma aguardando que uma das demais libere um bloqueio para ela poder prosseguir.