Saltar para o conteúdo

Kernel panic

Origem: Wikipédia, a enciclopédia livre.
Pânico do Linux, causado por uma falha no hardware de disco rígido.

Kernel panic, em português Pânico do núcleo, é uma situação em que sistemas operacionais Unix e tipo Unix encontram um erro do qual não é possível recuperar-se de modo seguro. No sistema operacional Windows a mesma situação é apresentada com a Tela azul da morte (em inglês: Blue Screen of Death).

Há uma rotina no código fonte do Linux e dos sistemas BSD chamada panic(), que trata uma situação de pânico do núcleo. Ela é projetada para mostrar uma mensagem no console, gravar uma imagem da memória do núcleo no disco para depuração após a falha e então aguardar o sistema ser reiniciado manualmente, ou reiniciar automaticamente. A informação fornecida para a tela é técnica, e é direcionada aos desenvolvedores de software e administradores de sistema para que possam diagnosticar o problema.

Fontes comuns de pânicos do núcleo são tentativas do sistema operacional ler endereços de memória não permitidos, ou falhas no hardware. Outro motivo é a existência de um erro no próprio sistema. Em muitos casos esta situação é induzida pelo próprio sistema, que pode continuar a operação, mesmo depois de violações de memória terem ocorrido. No entanto, nesta situação o estado do sistema é instável, e mais do que arriscar brechas de segurança ou corrupção de dados, é preferível terminar a operação para evitar mais danos, e facilitar o diagnóstico do erro.

O pânico do núcleo foi incluído numa versão inicial do Unix e demonstrou uma grande diferença de filosofia entre o Unix e o Multics. O desenvolvedor do Multics Tom van Vleck, relembra uma discussão com o desenvolvedor do Unix Dennis Ritchie:

Eu comentei com o Dennis que facilmente metade do código que eu estava escrevendo no Multics era para recuperação de erros. Ele disse: "Deixamos tudo isso de fora. Se houver um erro, temos uma rotina chamada panic, que quando é chamada, trava a máquina e você grita lá no corredor, 'Ei, reinicie.'"[1]

A função original permaneceu essencialmente inalterada desde a quinta edição do Unix até o Unix 32V baseado no VAX apenas emitindo uma mensagem de erro sem mais informações, deixando o sistema num looping infinito. Na medida em que o Unix foi melhorado, a função panic() foi aprimorada para exibir várias informações úteis para depuração no console.

Referências

Ícone de esboço Este artigo sobre informática é um esboço. Você pode ajudar a Wikipédia expandindo-o.