Pular para o conteúdo principal

Questão de Sistemas Operacionais — Linux — VUNESP 2023

Sistemas OperacionaisLinux
Código
vu197386
Banca
VUNESP
Órgão
Pref SP
Ano
2023
Cargo
AFTM SP

Ferramentas de execução de contêineres no sistema operacional Linux utilizam um recurso do sistema conhecido como Cgroups. Esse recurso oferece a possibilidade de

  1. Aacessar arquivos compartilhados em computadores Windows via rede.
  2. Bexecutar máquinas virtuais, funcionando como um hipervisor tipo 2.
  3. Ccentralizar a administração de usuários e senhas na rede, em vez de se realizar essa administração em cada computador da rede.
  4. Demular o conjunto de instruções da arquitetura ARM em servidores x86.
  5. Elimitar a quantidade de memória, CPU e banda de rede que um processo pode usar.
Revelar gabarito e comentário

GabaritoE — limitar a quantidade de memória, CPU e banda de rede que um processo pode usar.

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”.

Cgroups no Linux

Gabarito: letra E. Cgroups (control groups) é um recurso do kernel Linux que permite limitar, contabilizar e isolar o uso de recursos como CPU, memória e I/O de rede por processos ou grupos de processos — exatamente o que a alternativa E descreve. É a base para o isolamento de recursos em contêineres (Docker, LXC, Kubernetes).

Cgroups é um mecanismo do kernel Linux que agrupa processos e aplica limites de recursos a cada grupo. Ele é usado por ferramentas de contêineres (como Docker e LXC) para garantir que um contêiner não consuma mais CPU, memória ou banda de rede do que o permitido, e também para monitorar o uso. A ideia central é controlar a quantidade de recursos que um processo (ou grupo de processos) pode utilizar, evitando que um único processo ou contêiner monopolize o sistema.

Na prática, o administrador cria um cgroup, define limites (por exemplo, máximo de 512 MB de memória, 50% de CPU, 1 Gbps de rede) e associa processos a ele. O kernel então impõe esses limites automaticamente. Isso é diferente de virtualização: enquanto uma máquina virtual emula hardware completo (com um hipervisor), um contêiner compartilha o kernel do host, mas usa cgroups para isolar e limitar recursos, e namespaces para isolar processos, rede, sistema de arquivos etc.

A pegadinha desta questão é confundir cgroups com outras tecnologias: virtualização (hipervisor), emulação de arquitetura, compartilhamento de arquivos em rede ou administração centralizada de usuários. Todas essas são funções de outras ferramentas, não de cgroups. A banca explora justamente essa confusão entre isolamento de recursos (cgroups) e isolamento de ambiente (máquinas virtuais) ou serviços de rede (Samba, LDAP).

Guarde a distinção: cgroups = limitar recursos; namespaces = isolar visão do sistema; hipervisor = emular hardware; Samba = compartilhar arquivos com Windows; LDAP/AD = centralizar autenticação. É nessa fronteira que as alternativas se dividem.

Alternativa A — ❌ Incorreta

Acessar arquivos compartilhados em computadores Windows via rede é função do Samba (protocolo SMB/CIFS), não de cgroups. Cgroups não lida com compartilhamento de arquivos em rede; ele atua no gerenciamento de recursos do próprio kernel.

Alternativa B — ❌ Incorreta

Executar máquinas virtuais como um hipervisor tipo 2 é função de softwares como VirtualBox ou VMware Workstation, que rodam sobre um sistema operacional hospedeiro. Cgroups não virtualiza hardware; ele apenas limita recursos de processos no kernel.

Alternativa C — ❌ Incorreta

Centralizar a administração de usuários e senhas na rede é função de LDAP ou Active Directory, não de cgroups. Cgroups não tem relação com autenticação ou gerenciamento de contas.

Alternativa D — ❌ Incorreta

Emular o conjunto de instruções da arquitetura ARM em servidores x86 é feito por emuladores como QEMU (em modo de emulação), não por cgroups. Cgroups não emula hardware; ele apenas controla o uso de recursos de processos nativos.

Alternativa E — ✅ Correta ⟵ GABARITO

Cgroups (control groups) é exatamente o mecanismo do kernel Linux que limita a quantidade de memória, CPU e banda de rede que um processo pode usar. É a definição canônica do recurso, e é por isso que ferramentas de contêineres (Docker, LXC) o utilizam para garantir isolamento e limites de recursos entre contêineres.

Gabarito: letra E

Link permanente: /questoes/vu197386