Pular para o conteúdo principal

Questão de Engenharia de Software — Conceitos Básicos em Engenharia de Software — FCC 2017

Engenharia de SoftwareConceitos Básicos em Engenharia de Software
Código
fc036541
Banca
FCC
Órgão
DPE-RS
Ano
2017
Nível
Superior
Cargo
Analista - Desenvolvimento de Sistemas
Considere, por hipótese, que a equipe de analistas da Defensoria Pública tenha optado pelo uso do Docker. Esta decisão foi motivada pelo fato de o Docker
  1. Aestar ganhando espaço como um gerenciador de máquinas virtuais no ambiente GNU/Linux e não ter bibliotecas próprias, mantendo as bibliotecas nativas utilizadas para gerenciar o LXC.
  2. Bnão utilizar Namespaces do Linux, o que permite prover espaços de trabalho isolados para os contêineres. Desta forma, quando um contêiner é criado, automaticamente é criada uma camada de isolamento para grupos de processos.
  3. Cutilizar hypervisors, compatíveis com diversas plataformas, para executar máquinas virtuais que virtualizam hardware físico como parte de um desenvolvimento multiplataforma para testes e implementação de fluxo de trabalho.
  4. Dpermitir portabilidade de contêineres. É possível criar uma imagem de toda a configuração e aplicativos instalados em um contêiner e transferi-lo para outro host que tenha um Docker previamente instalado.
  5. Eobter o mesmo desempenho da virtualização baseada em hypervisor, em que cada contêiner é executado em seu próprio sistema operacional, o que reduz a utilização de recursos de disco, embora os contêineres utilizem mais memória.
Revelar gabarito e comentário

GabaritoD — permitir portabilidade de contêineres. É possível criar uma imagem de toda a configuração e aplicativos instalados em um contêiner e transferi-lo para outro host que tenha um Docker previamente instalado.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Docker e Contêineres

Gabarito: letra D. O Docker permite a portabilidade de contêineres, criando imagens que podem ser executadas em qualquer host com Docker instalado, independentemente do ambiente subjacente. Essa é uma das principais vantagens da tecnologia, conforme o contexto técnico apresentado.

A questão testa o conhecimento básico sobre Docker, distinguindo contêineres de máquinas virtuais tradicionais. A banca explora a confusão comum entre contêineres (virtualização a nível de SO) e hypervisors (virtualização de hardware).

Alternativa A — ❌ Incorreta

Afirma que o Docker é um gerenciador de máquinas virtuais e que não tem bibliotecas próprias. Na verdade, o Docker é uma plataforma de contêineres, não de VMs. Utiliza bibliotecas próprias (libcontainer) e pode usar LXC, mas não se limita a ele. O erro principal é classificar Docker como gerenciador de VMs.

Alternativa B — ❌ Incorreta

Diz que o Docker não utiliza Namespaces do Linux. Isso é falso. O Docker usa namespaces para isolar processos, rede, sistema de arquivos etc. Os namespaces são fundamentais para o isolamento dos contêineres. A alternativa inverte a realidade.

Alternativa C — ❌ Incorreta

Afirma que o Docker utiliza hypervisors para executar máquinas virtuais. Docker não é um hypervisor; ele gerencia contêineres que compartilham o kernel do host. Hypervisors virtualizam hardware completo. Embora Docker possa rodar dentro de VMs, não é essa a sua natureza.

Alternativa D — ✅ Correta ⟵ GABARITO

Descreve corretamente a portabilidade dos contêineres Docker: é possível criar uma imagem com toda a configuração e aplicativos e transferi-la para outro host com Docker. Isso é uma característica central, permitindo consistência entre ambientes de desenvolvimento, teste e produção.

Alternativa E — ❌ Incorreta

Mistura conceitos: contêineres não têm seu próprio sistema operacional; compartilham o kernel do host. Além disso, contêineres usam menos memória que VMs, não mais. O desempenho é semelhante ao de VMs, mas a descrição está errada.

NÃO CAIA NESSA!

Para não confundir, lembre-se: Docker é para contêineres (compartilham SO host); hypervisors (ex: VirtualBox, KVM) criam VMs completas com SO próprio. Docker não é uma VM. Na prova, a pegadinha clássica é misturar essas duas tecnologias.

Link permanente: /questoes/fc036541