Questão de Sistemas Operacionais — Geral — Avança SP 2024
Sistemas Operacionais›Geral
Código
qa633052
Banca
Avança SP
Órgão
CM Itapecerica Serra
Ano
2024
Cargo
Tec ( )
O Linux Kernel possui um sistema de gerenciamento de memória que evoluiu ao longo dos anos e incluiu cada vez mais funcionalidades para suportar uma variedade de sistemas. O OOM killer é um dos recursos para a otimização de memória. Qual sua principal funcionalidade?
AIntroduzir um scanner para encontrar atividades suspeitas.
BEliminar uma tarefa do sistema quando reconhecer que a memória se esgotou.
CDeletar cache e arquivos temporários do sistema.
DApagar o excesso de lixo eletrônico para instalação de drivers específicos.
EResetar o sistema para retornar à configuração padrão.
Revelar gabarito e comentário▾
GabaritoB — Eliminar uma tarefa do sistema quando reconhecer que a memória se esgotou.
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”.
OOM Killer no Linux
Gabarito: letra B. O OOM Killer (Out-Of-Memory Killer) é o mecanismo do kernel Linux que, quando a memória RAM se esgota e o sistema não consegue mais alocar páginas, seleciona e elimina (mata) uma tarefa/processo para liberar memória e evitar que o sistema inteiro trave ou entre em colapso. Essa é a sua principal funcionalidade, conforme o próprio nome sugere: matar o processo que está causando ou sofrendo a falta de memória.
O gerenciamento de memória do Linux é sofisticado: ele usa memória virtual, paginação, swap e técnicas de cache para otimizar o uso da RAM. Porém, em situações extremas, quando todos os mecanismos de recuperação falham e a memória disponível chega a zero, o kernel precisa de uma "última cartada" para manter o sistema operacional funcionando. É aí que entra o OOM Killer.
Imagine um servidor rodando várias aplicações. De repente, um processo mal comportado (por exemplo, um navegador com milhares de abas) começa a consumir toda a memória RAM. O kernel tenta usar a área de swap (disco como memória), mas ela também enche. Sem o OOM Killer, o sistema entraria em um estado de thrashing (paginação excessiva) e ficaria praticamente inoperante, ou até travaria por completo. O OOM Killer resolve isso de forma drástica: ele escolhe um processo para matar, liberando memória e permitindo que o sistema continue funcionando.
A escolha de qual processo matar não é aleatória. O kernel calcula um score de maldade (oom_score) para cada processo, baseado em fatores como:
Consumo de memória: quanto mais memória o processo usa, maior a chance de ser escolhido.
Tempo de vida: processos mais antigos tendem a ser preservados.
Prioridade: processos com prioridade mais baixa são mais prováveis de serem mortos.
Ajuste manual: o administrador pode influenciar a escolha usando o arquivo /proc/<pid>/oom_score_adj ou o comando echo -17 > /proc/<pid>/oom_score_adj para proteger um processo importante (valores negativos diminuem a chance, positivos aumentam).
É importante distinguir o OOM Killer de outros mecanismos de otimização de memória:
Mecanismo
Função
OOM Killer
Mata um processo para liberar memória quando ela esgota.
Swap
Move páginas de memória para o disco para liberar RAM.
Cache
Armazena dados frequentemente usados em memória para acelerar o acesso.
Compressão de memória (zswap/zram)
Comprime páginas para armazenar mais dados na RAM.
A pegadinha desta questão é que o enunciado fala em "otimização de memória", o que pode levar o candidato a pensar em cache ou limpeza de arquivos. Mas o OOM Killer não otimiza memória no sentido de melhorar o desempenho; ele age apenas em situações de emergência, sacrificando um processo para salvar o sistema.
Guarde o critério decisivo: OOM Killer = eliminação de processo em situação de falta de memória. É exatamente isso que a alternativa B descreve.
Alternativa A — ❌ Incorreta
Introduzir um scanner para encontrar atividades suspeitas é função de antivírus ou ferramentas de segurança, não do OOM Killer. O OOM Killer não analisa comportamento de processos para detectar ameaças; ele apenas monitora o consumo de memória e age quando o recurso se esgota.
Alternativa B — ✅ Correta ⟵ GABARITO
Esta é a definição exata do OOM Killer: quando o kernel reconhece que a memória se esgotou (não há mais páginas livres e o swap está cheio), ele elimina uma tarefa para liberar memória e evitar o travamento do sistema. O termo "eliminar" é a palavra-chave — o OOM Killer mata o processo, não o suspende nem o move para o disco.
Alternativa C — ❌ Incorreta
Deletar cache e arquivos temporários é uma função de utilitários de limpeza de disco (como bleachbit ou cleanmgr no Windows), não do OOM Killer. O OOM Killer não lida com arquivos; ele lida com processos e memória.
Alternativa D — ❌ Incorreta
Apagar "lixo eletrônico" para instalação de drivers é um conceito totalmente fora do contexto de sistemas operacionais. O OOM Killer não tem relação com hardware, drivers ou lixo eletrônico. Essa alternativa é um distrator absurdo, provavelmente incluído para testar se o candidato sabe o que o OOM Killer realmente faz.
Alternativa E — ❌ Incorreta
Resetar o sistema para a configuração padrão é uma função de restauração do sistema (como o system restore do Windows ou o factory reset de celulares), não do OOM Killer. O OOM Killer não reinicia o sistema; ele apenas mata um processo específico, mantendo o sistema operacional em execução.
NÃO CAIA NESSA!
A banca tenta confundir o candidato associando "otimização de memória" a ações como limpar cache (alternativa C) ou resetar o sistema (alternativa E). Mas o OOM Killer não otimiza memória no sentido de melhorar o desempenho — ele age apenas em emergências, matando um processo. Lembre-se: OOM = Out Of Memory = falta de memória = matar processo.
PEGA ESSA DICA!
Para questões sobre OOM Killer, foque no nome: "Out Of Memory" já diz tudo. Se a alternativa falar em "eliminar tarefa", "matar processo" ou "encerrar processo" quando a memória esgota, é a correta. Desconfie de alternativas que mencionam cache, arquivos temporários ou reset — essas são funções de outros mecanismos.