Um " oops " é um problema no kernel Linux ruim o suficiente para afetar a confiabilidade do sistema.
Alguns "oops" são ruins o suficiente para que o kernel decida parar imediatamente, para que não haja perda de dados ou outros danos. Estes são chamados de pânico do kernel .
O último termo é primordial, voltando às primeiras versões dos antepassados Unix do Linux, que também imprimem uma mensagem de "pânico" no console quando elas acontecem. A função original do kernel AT & T Unix que lida com essas condições é chamada de panic()
. Você pode rastreá-lo através dos lançamentos de código-fonte público do AT & T Unix em seus primeiros lançamentos:
-
O OpenSolaris A versão de
panic()
foi lançada pela Sun em 2005 . É bastante elaborado, e seus comentários de cabeçalho explicam muito sobre o que acontece em uma situação de pânico. -
A implementação Unix V4 de
panic()
foi lançado em 1973. Basicamente, ele apenas imprime o estado principal do kernel no console e pára o processador. -
Essa função é substancialmente substancialmente inalterada no Unix V3 de acordo com Amit Singh, que < Um famoso href="http://amzn.to/2qDgVOA"> dissecou uma versão mais antiga do Mac OS X e explicou isso. Esse primeiro link leva você a um belo artigo explicando a abordagem do macOS para a implementação de
panic()
, que começa com uma discussão histórica relevante. -
O projeto " unix-jun72 " para ressuscitar o Unix V1 do código-fonte varrido as impressões mostram uma versão do assembly PDP-11 muito antiga dessa função, escrita em algum momento antes de junho de 1972, antes que o Unix fosse totalmente reescrito em C. A essa altura, sua implementação é reduzida a uma rotina de 6 instruções que faz pouco mais do que reiniciar o PDP-11.