Lara trabalha como administradora de banco de dados na empr...

Próximas questões
Com base no mesmo assunto
Q2220285 Banco de Dados
Lara trabalha como administradora de banco de dados na empresa X. Ao efetuar um atendimento ao cliente in loco, identificou que, após a atualização de uma tabela, os dados estavam incorretos. Após a depuração do problema, viu que havia 3 processos em seção crítica. Lara verificou que a solução para o problema de seção crítica consiste em atender aos requisitos: 
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a D - exclusão mútua, progresso e espera limitada. Vamos entender melhor o que cada um desses termos significa e por que eles são a resposta correta para a questão proposta.

Exclusão mútua: Este é um conceito-chave em sistemas de banco de dados que utilizam controle de concorrência. Refere-se à propriedade que garante que se um processo está utilizando um determinado recurso (por exemplo, uma linha em uma tabela de banco de dados), outro processo não pode acessar o mesmo recurso simultaneamente. Isso ajuda a evitar conflitos e inconsistências nos dados.

Progresso: Este conceito assegura que, se nenhum processo está executando sua seção crítica e existem alguns processos que desejam entrar em sua seção crítica, então apenas aqueles processos que não estão executando sua seção crítica devem ser capazes de decidir qual dos processos candidatos, que estão prontos para entrar em sua seção crítica, será o próximo a entrar, e esta seleção não pode ser adiada indefinidamente. Isso garante que o sistema continue funcionando de forma eficiente, sem ficar parado à espera que um processo libere um recurso.

Espera limitada: Significa que existe um limite para quanto tempo um processo pode ser impedido de entrar em sua seção crítica. Em outras palavras, um processo não deve esperar indefinidamente para acessar um recurso se o recurso estiver sendo utilizado por outro processo. Este conceito é extremamente importante para evitar o que é conhecido como "deadlock" ou "espera infinita", onde dois ou mais processos ficam bloqueados indefinidamente, cada um esperando que o outro libere um recurso.

A combinação destes três requisitos é essencial para um bom controle de concorrência em um sistema de banco de dados e para resolver problemas como o que foi enfrentado por Lara, a administradora de banco de dados. Ao garantir a exclusão mútua, um processo não irá corromper os dados que outro processo está atualizando. Com progresso, o sistema é capaz de continuar operando sem que processos fiquem travados esperando eternamente por recursos. E a espera limitada previne deadlocks, assegurando que todos os processos eventualmente tenham a chance de prosseguir com suas operações.

As outras alternativas mencionam termos que não são diretamente relacionados ao problema de seção crítica descrito, ou que não são aplicáveis nesse contexto específico de controle de concorrência em banco de dados.

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

Para evitar problemas em seções críticas, como condições de corrida e inconsistências de dados, um sistema deve satisfazer quatro requisitos, conhecidos como Seção Crítica de Coffman. Estes requisitos são:

Exclusão Mútua: apenas um processo pode executar a seção crítica de cada vez. Isso evita a interrupção de uma tarefa por outra tarefa concorrente, que poderia levar a uma condição de corrida.

Progresso: se nenhum processo estiver executando na seção crítica e existirem alguns processos que desejam entrar, a seleção de processos que entrarão na seção crítica não pode ser adiada indefinidamente. Basicamente, essa condição garante que os processos não fiquem aguardando indefinidamente para entrar na seção crítica.

Espera Limitada (Bounded Waiting): deve haver um limite para o número de vezes que outros processos podem entrar na seção crítica após um processo ter feito a solicitação para entrar na seção crítica e antes que a solicitação seja concedida. Isso previne a inanição, que é um estado no qual um processo aguarda indefinidamente para ser executado.

Não exigência de preempção: Nenhuma operação fora da seção crítica pode bloquear outros processos.

chatgpt

espera circular causa Deadlock

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo