Questões de Concurso sobre Protocolo de bloqueio em duas fases

 
 
Disciplina
Assunto 1
Banca
Instituição
Cargo
Ano
Carreira
Área de formação
Escolaridade
Dificuldade
 
Comentários:
Professores
Alunos
Meus Comentários
Vídeo
 
Minhas questões:
Resolvidas
Não resolvidas
Certas
Erradas
 
Tipo de questão:
Certo e errado
Múltipla escolha
Incluir questões:
Anuladas
Desatualizadas
 
Questões:
Todas as questões
 
Filtro simplificado
 
Questões
Todas as questões
 
15 questões encontradas
Questões por página
20
Mais recentes
 

O controle de concorrência em sistemas de banco de dados objetiva garantir que transações executadas simultaneamente produzam resultados equivalentes a alguma execução serial. Anomalias clássicas surgem quando a isolação entre transações é insuficiente. Nesse sentido, assinale a alternativa correta.


A

O Protocolo de Bloqueio em Duas Fases (2PL) garante a serializabilidade de escalonamentos: na fase crescente, a transação somente adquire bloqueios; na fase decrescente, somente os libera, sem adquirir novos bloqueios.


B

Uma leitura suja (dirty read) ocorre quando duas transações leem o mesmo item concorrentemente e, a partir dessa leitura, cada uma calcula um novo valor e confirma sua escrita, de modo que a atualização da primeira é silenciosamente sobrescrita pela segunda — que desconhecia a modificação anterior — e definitivamente perdida.


C

O Protocolo de Bloqueio em Duas Fases (2PL) garante a propriedade de durabilidade das transações, assegurando que os efeitos de toda transação confirmada persistam mesmo após falhas do sistema.


D

Uma leitura fantasma (phantom read) ocorre quando uma transação lê o mesmo item de dado duas vezes e obtém valores diferentes, porque outra transação o atualizou e confirmou entre as duas leituras.


E

A propriedade de atomicidade do ACID é a responsável por garantir que transações executadas concorrentemente fiquem completamente isoladas umas das outras, como se executassem em série.

Em sistemas gerenciadores de bancos de dados relacionais, o controle de concorrência busca garantir que transações simultâneas sejam executadas de forma segura, mantendo a consistência dos dados. Em um sistema bancário, a Transação A obteve bloqueio exclusivo sobre o registro da Conta Corrente e aguarda o bloqueio sobre o registro de Transferência, enquanto a Transação B obteve bloqueio exclusivo sobre o registro de Transferência e aguarda o bloqueio sobre o registro da Conta Corrente, formando uma espera mútua indefinida. Com base no conceito de deadlock em bancos de dados relacionais, assinale a alternativa CORRETA.


A

O cenário descrito caracteriza livelock, que difere do deadlock por não envolver bloqueios mútuos.


B

O deadlock ocorre apenas em registros da mesma tabela, sendo impossível entre tabelas diferentes.


C

Para resolver o impasse, o SGBD identifica uma das transações como vítima e a encerra com rollback, liberando os recursos bloqueados para que a outra transação possa prosseguir normalmente.


D

A estratégia de bloqueio otimista elimina a possibilidade de deadlock, pois verifica conflitos apenas no commit.


E

O protocolo de bloqueio em duas fases (2PL) elimina a ocorrência de deadlock, impedindo espera circular.

O protocolo de bloqueio em duas fases (Two-Phase Locking ou 2PL) é um dos mecanismos mais usados para garantir serializabilidade de transações em sistemas gerenciadores de bancos de dados (SGBDs) relacionais. Uma característica essencial do protocolo 2PL é que ele


A

permite que bloqueios sejam adquiridos e liberados em qualquer ordem, desde que não haja conflito direto ou transitivo entre as transações concorrentes.


B

assegura a ausência de deadlocks entre transações, pois impede que duas transações adquiram bloqueios em ordem inversa.


C

elimina a necessidade de verificação de conflitos em bloqueios, utilizando o conceito carimbos de tempo (timestamps) para realizar o controle de concorrência entre transações que solicitam o bloqueio do mesmo item de dado.


D

exige que uma transação passe por uma fase de crescimento, na qual pode adquirir bloqueios, e uma fase de encolhimento, na qual pode liberá-los, sendo proibido adquirir novos bloqueios após começar a liberar.

No modelo ACID de transações em bancos de dados relacionais, o princípio de isolamento garante que transações concorrentes não interfiram de forma incorreta umas nas outras. Assinale a opção em que é indicado o mecanismo que implementa o princípio de isolamento por meio do uso de bloqueios que só são liberados depois da conclusão da fase de crescimento da transação.


A

snapshot isolation


B

timestamp ordering


C

2PL (two-phase locking)


D

controle de concorrência otimista


E

MVCC (multiversion concurrency control)

Em um ambiente de banco de dados de um sistema bancário, duas transações são executadas simultaneamente: uma delas adquire bloqueio exclusivo em A e, em seguida, em B; a outra adquire bloqueio exclusivo em B e, em seguida, em A. Ambas só liberam todos os bloqueios ao término da execução.


Nesse cenário, é mais provável que ocorra


A

starvation da transação mais lenta, sendo a melhor prevenção a implementação de um escalonador baseado em prioridades.


B

violação de isolamento, sendo a melhor prevenção a elevação do nível de isolamento para serializable.


C

detecção de deadlock por timeout, sendo a melhor prevenção a imposição de limites de tempo para a aquisição de bloqueios.


D

deadlock, sendo a melhor prevenção a imposição de uma ordenação total aos recursos, exigindo-se que todas as transações adquiram bloqueios em uma mesma sequência predefinida.


E

condição de corrida (race condition), sendo a melhor prevenção a utilização de bloqueios compartilhados em vez de exclusivos.

De acordo com a técnica de duas fases para controle de concorrência, o bloqueio que possui os estados de read_lock, write_ lock e unlock é o bloqueio


A

de protocolo.


B

binário.


C

de conversão.


D

compartilhado.


E

unitário.

Em sistemas de gerenciamento de banco de dados, o controle de concorrência tem como objetivo garantir que múltiplas transações executadas simultaneamente não comprometam a integridade dos dados. Um dos principais protocolos utilizados nesses sistemas é o 2PL (two-phase locking). Acerca desse protocolo, assinale a opção correta.


A

O protocolo 2PL estrito exige que todos os bloqueios sejam liberados após a fase de crescimento, antes do commit.


B

O protocolo 2PL estrito garante serializabilidade ao manter os bloqueios até o final da transação.


C

O 2PL básico impede completamente a ocorrência de interbloqueios (deadlocks).


D

O protocolo 2PL não se aplica a bancos de dados que utilizam transações distribuídas.


E

O uso de bloqueios pessimistas elimina a necessidade de controle de concorrência.

Segundo o protocolo do bloqueio em duas fases, utilizado em bancos de dados relacionais, há uma dessas fases em que uma transação pode obter, mas não liberar bloqueios.


Tal fase recebe, especificamente, a denominação de fase de


A

composição.


B

imposição.


C

encolhimento.


D

transformação.


E

crescimento.

Ana identificou que, em seu banco de dados, ocorria muita demora na execução de algumas transações específicas, que chegavam até a falhar algumas vezes. Ao efetuar uma análise, viu que não havia controle nas transações ocorridas. Como forma de garantir seus schedules estritos, Ana implementou um bloqueio em 2 fases rigoroso.


Esse bloqueio implementado por Ana fará com que:


A

uma transação bloqueie todos os itens que ela acessa antes que a transação inicie a execução;


B

seja executado um downgrade do bloqueio ao se emitir uma operação read_lock(X), mesmo com a transação ainda em execução;


C

uma transação T não libere nenhum de seus bloqueios exclusivos (gravação) até depois de confirmar ou abortar;


D

seja gerado um rótulo de tempo, que será usado para garantir a serialização das transações;


E

uma transação T não libere nenhum de seus bloqueios (exclusivo ou compartilhado) até depois de confirmar ou abortar.

No contexto de gerenciamento de processos e recursos pelo sistema operacional do computador, analise a situação a seguir.

Dois processos, “A” e “B”, querem enviar para a impressora um arquivo que está em um pen-drive, estando esses recursos disponíveis. “A” solicita e consegue acesso à impressora. “B” solicita e consegue acesso ao arquivo. Agora, “A” solicita acesso ao arquivo, mas é negado até que “B” o libere. Porém, “B”, agora, solicita a impressora, que também é negada, até que “A” a libere. Assim, os dois processos são bloqueados.


A situação descrita mostra a ocorrência de


A

fila.


B

pilha.


C

deadlock.


D

preempção.


E

interrupção.

Dentre os protocolos utilizados para o tratamento de bloqueios está o protocolo de bloqueio em duas fases, denominadas fases de crescimento e encolhimento, sendo certo que, na fase de


A

crescimento, a cada novo bloqueio obtido, há a liberação de um bloqueio obtido anteriormente.


B

crescimento, uma transação pode liberar um único bloqueio.


C

crescimento, uma transação pode obter bloqueios, mas não os liberar.


D

encolhimento, uma transação pode obter, no máximo, um novo bloqueio.


E

encolhimento, os bloqueios obtidos são agrupados em um único bloqueio.

O design responsivo busca melhorar a experiência dos usuários no uso da internet para dispositivos diversos como PC, smartphones, tablets, geladeiras, banheiras e qualquer dispositivo que acesse a internet. Acerca das medidas escaláveis utilizadas no design responsivo, é correto afirmar:


A

o Ems (em) é uma unidade escalável, usada para dimensionar a fonte, devendo-se considerar que 1 em é igual ao tamanho atual da fonte do elemento-pai.


B

a porcentagem (%) é uma unidade de medida escalável que se baseia sempre no tamanho da fonte atual para calcular o seu percentual em qualquer contexto no qual for aplicada.


C

ponto (point) é uma unidade de medida escalável muito utilizada para CSS de impressão.


D

pixel (px) é uma unidade de medida escalável que baseia sempre o tamanho do pixel na resolução de tela.

Considerando os fundamentos de engenharia de software. Um sistema Web, em uma abordagem que se baseie em desenvolvimento e entregas iterativas, composto a partir de componentes reusáveis, poderá ser inviável para um sistema de sistemas, em que, o detalhamento das especificações das interações do sistema necessitam estar especificadas antes, a fim de que cada um dos sistemas possa ser desenvolvido em separado. O acima exposto enseja que haja fundamentos de engenharia que são aplicáveis e questões mais particulares, porém, existem fundamentos de engenharia de software que se aplicam a todos os tipos de sistemas de software.

Assinale a opção que contem estes fundamentos.


A

1 - Devem ser desenvolvidos em um processo gerenciado e compreendido. 2 - Confiança e desempenho são importantes para todos os tipos de sistema. 3 - É importante entender e gerenciar a especificação e os requisitos de software 4 - Você deve fazer o melhor uso possível dos recursos existentes.


B

1 - Devem ser desenvolvidos em um processo orçamentários e competitivo. 2 - Atenção constante na reusabilidade e coesão. 3 - É importante entender e gerenciar a especificação e os requisitos de software 4 - Você deve fazer o melhor uso possível dos recursos existentes.


C

1 - Devem ser desenvolvidos em um processo gerenciado e competitivo. 2 - Atenção constante na reusabilidade e coesão. 3 - É importante entender e gerenciar a especificação e os requisitos de software 4 - Você deve fazer o melhor uso possível dos recursos existentes.


D

1 - Devem ser desenvolvidos em um processo gerenciado e competitivo. 2 - Atenção constante na reusabilidade e coesão. 3 - É importante entender e gerenciar recursos humanos e a especificação e os requisitos de software 4 - Você deve fazer o melhor uso possível dos recursos existentes.

Para tentar administrar a complexidade inerente aos sistemas de software, emergiu um conceito chamado Independência Funcional. Esse conceito está intimamente ligado a modularidade, ocultação de informações e abstração. Em sistemas de software, a Independência Funcional pode ser medida através de dois critérios: coesão e acoplamento.

Assinale a alternativa que define adequadamente tais critérios.


A

Coesão é uma medida da força funcional relativa de um módulo. Em outras palavras, a coesão mede o grau com que as tarefas executadas por um único módulo se relacionam entre si. Acoplamento é uma medida da interdependência relativa entre os módulos. Para sistemas de software orientados a objetos, pode-se definir acoplamento como sendo o grau com o qual classes estão conectadas entre si.


B

Para software orientado a objetos, acoplamento pode ser conceituado como sendo o quanto uma classe encapsula atributos e operações que estão fortemente relacionados uns aos outros. Para sistemas de software orientados a objetos, pode-se definir coesão como sendo o grau com o qual classes estão conectadas entre si.


C

Acoplamento é uma medida da interdependência relativa entre os módulos. Para sistemas de software orientados a objetos, pode-se definir acoplamento como sendo o grau com o qual classes estão conectadas entre si. Coesão é uma medida da interdependência relativa entre os módulos.


D

Acoplamento é uma medida da força funcional relativa de um módulo. Em outras palavras, o acoplamento mede o grau com que as tarefas executadas por um único módulo se relacionam entre si. Coesão é uma medida da interdependência relativa entre os módulos. Para sistemas de software orientados a objetos, pode-se definir coesão como sendo o grau com o qual classes estão conectadas entre si.

Analise o seguinte conceito.


“Situação que dois ou mais usuários (ou processos) se autobloqueiam devido a não liberação de recursos concorrentes, onde, cada um, separadamente, espera indefinidamente que o outro finalize o processamento, criando um impasse. Portanto, é uma situação em que duas ou mais transações se encontram em estado de espera simultânea, cada uma esperando que uma outra finalize o processamento para poder prosseguir”.


A denominação desse conceito e o termo técnico que o provoca são, respectivamente:


A

deadlock e bloqueio.


B

bloqueio e deadlock.


C

bloqueio e inconsistência.


D

inconsistência e bloqueio.


E

deadlock e inconsistência.

 
 
Gerar simulado