Questão nº 75
Questão de Informática/Banco de Dados · FGV MPMS 2012 (nº 75)
Com relação a banco de dados, uma transação T está em starvation quando
- Anão pode continuar seu processamento por um período de tempo indefinido, enquanto outras transações continuam normalmente. (alternativa correta)
- Bnão pode continuar seu processamento por um período de tempo indefinido, enquanto outras transações também são impedidas de continuar seu processamento normalmente.
- Cum recurso está indisponível e por esse motivo a transação será abruptamente finalizada.
- Dpode continuar seu processamento por um período de tempo pré-definido, enquanto outras transações são impedidas de continuar seu processamento normalmente.
- Epode continuar seu processamento por um período de tempo conhecido à priori pois T não tem permissão para acessar os recursos necessários.
Resposta comentada
Gabarito Alternativa A
Starvation (ou inanição) ocorre quando uma transação fica esperando por um recurso por um tempo indeterminado, mesmo que esse recurso esteja disponível, porque outras transações sempre o adquirem antes dela.
(A) Correta: Uma transação T está em starvation quando não consegue continuar seu processamento por um período de tempo indefinido, enquanto outras transações continuam normalmente, adquirindo os recursos que T precisa. Isso acontece por uma falha na estratégia de alocação de recursos, que favorece outras transações.
(B) Incorreta: Esta alternativa descreve uma situação mais próxima de um deadlock (impasse) ou uma falha generalizada do sistema, onde todas as transações envolvidas estão impedidas de continuar. Em starvation, o sistema como um todo continua processando, mas uma transação específica é ignorada. A armadilha aqui é confundir a inanição de uma transação com a paralisação de várias ou de todo o sistema.
(C) Incorreta: A indisponibilidade de um recurso que leva à finalização abrupta da transação descreve um erro, falha ou rollback, e não o conceito de starvation. Starvation é sobre a espera indefinida por um recurso que está disponível mas não é concedido.
(D) Incorreta: Starvation implica um período de tempo indefinido, não pré-definido. Se o tempo fosse pré-definido, não seria inanição, mas sim uma espera controlada. Além disso, em starvation, outras transações continuam normalmente, não são impedidas.
(E) Incorreta: Starvation não é sobre um tempo conhecido à priori, mas sim sobre uma espera indefinida. A falta de permissão para acessar recursos é uma questão de segurança ou privilégios, não de starvation, que se refere à espera injusta por um recurso disponível.
Fonte: FGV MPMS 2012 Analista - Informática/Banco de Dados. Reproduzida para fins de estudo.