Lara trabalha como administradora de banco de dados na empr...
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