Questão de Sistemas Operacionais — Geral — CESPE / CEBRASPE 2024
- Código
- ce404165
- Banca
- CESPE / CEBRASPE
- Órgão
- TSE
- Ano
- 2024
- Cargo
- AJ
- CCerto
- EErrado
GabaritoC — Certo
Gabarito: letra C (CERTO). O arquivo /boot/initrd.img-5.4.0-144-generic é, de fato, o initrd correspondente ao kernel vmlinuz-5.4.0-144-generic que está sendo carregado pelo GRUB, e sua função é justamente fornecer os drivers e utilitários essenciais para que o kernel possa montar o sistema de arquivos raiz e concluir a inicialização. A afirmação está correta.
O trecho apresentado é uma entrada de menu do GRUB (Grand Unified Bootloader), o gerenciador de boot mais comum em sistemas Linux. Quando o computador liga, a BIOS/UEFI carrega o GRUB, que por sua vez lê o arquivo de configuração (geralmente /boot/grub/grub.cfg) e exibe o menu com as opções de sistemas operacionais e kernels disponíveis. Cada menuentry define como um kernel específico deve ser carregado.
No exemplo, a entrada menuentry 'Ubuntu' especifica dois arquivos críticos: o kernel (/boot/vmlinuz-5.4.0-144-generic) e o initrd (/boot/initrd.img-5.4.0-144-generic). O kernel é o núcleo do sistema operacional, responsável por gerenciar memória, processos, dispositivos e o sistema de arquivos. Porém, na fase inicial do boot, o kernel ainda não tem acesso ao sistema de arquivos raiz (que pode estar em um disco com criptografia, LVM, RAID ou um sistema de arquivos específico como ext4 ou btrfs). É aí que entra o initrd.
O initrd (initial RAM disk) é um arquivo que contém um sistema de arquivos mínimo, carregado na memória RAM pelo bootloader junto com o kernel. Esse sistema de arquivos temporário contém os drivers e módulos essenciais (como drivers de disco, controladores SATA/NVMe, módulos de criptografia, etc.) e utilitários necessários para que o kernel possa montar o sistema de arquivos raiz real. Sem o initrd, o kernel não conseguiria acessar o disco onde está o sistema operacional, pois os drivers necessários ainda não foram carregados.
O processo funciona assim: o GRUB carrega o kernel e o initrd na memória, passa o controle ao kernel, que então descompacta o initrd e o monta como um sistema de arquivos temporário. O kernel carrega os drivers necessários a partir do initrd, monta o sistema de arquivos raiz real (identificado pelo parâmetro root=UUID=...), e então executa o processo init (ou systemd) para continuar a inicialização. O initrd é descartado após essa fase.
A pegadinha que a banca poderia explorar é confundir o initrd com o kernel em si, ou afirmar que o initrd contém o sistema operacional completo. Mas a afirmação do enunciado é precisa: o initrd corresponde ao kernel que está sendo carregado (mesmo número de versão 5.4.0-144-generic) e contém drivers e utilitários essenciais para a inicialização. Isso é exatamente o que o initrd faz.
A banca poderia tentar confundir o candidato afirmando que o initrd é o próprio kernel, ou que ele contém o sistema operacional completo. Mas o initrd é um sistema de arquivos temporário com drivers e utilitários essenciais, carregado na RAM para auxiliar o kernel na montagem do sistema de arquivos raiz. A correspondência de versão entre o kernel e o initrd no trecho (5.4.0-144-generic) reforça que a afirmação está correta.
✅ CERTO. O arquivo /boot/initrd.img-5.4.0-144-generic é o initrd correspondente ao kernel vmlinuz-5.4.0-144-generic, e contém drivers e utilitários essenciais para a inicialização do kernel.
Gabarito: letra C
Link permanente: /questoes/ce404165