A) CORRETA
B) núcleos (código de inicialização), que representam uma série de tarefas, como reconhecer os programas utilitários (dispositivos instalados)
C) códigos de inicialização (Programas Utilitários), que favorecem (fornecem) funcionalidades complementares aos drivers (ao núcleo) , como formatação de discos e mídias.
D) programas utilitários, (núcleo) que representam o coração do sistema operacional, responsável pela gerência dos recursos usados pelas aplicações.
Agregando informações:
1) Núcleo (Nível Sistema)
2) Código de Inicialização (Nível Sistema)
3) Drivers de Dispositivo (Nível Sistema)
4) Programas Utilitários (Nível Usuário)