Kernel panic
Ten artykuł od 2013-05 wymaga zweryfikowania podanych informacji. |
Kernel panic – nazwa komunikatu wyświetlanego przez system operacyjny po wykryciu wewnętrznego błędu jądra systemu, którego sam nie jest w stanie obsłużyć. Często komunikat ten dostarcza również niezbędnych do odkrycia przyczyny błędu informacji lub danych potrzebnych do debugowania przez programistów pracujących nad systemem.
Większość błędów jest efektem nieobsługiwanych w kodzie jądra wyjątków procesora, takich jak np. odwołania do nieprawidłowych adresów w pamięci. Istnieje jednak możliwość wywołania tego błędu na żądanie za pomocą funkcji panic
zdefiniowanej w pliku nagłówkowym sys/system.h
.
Komunikat kernel panic powstał we wczesnych wersjach systemu Unix i stanowił dużą filozoficzną różnicę pomiędzy jego poprzednikiem, czyli Multicsem. Programista Multiksa, Tom van Vleck, wspomina dyskusję na ten temat z programistą Uniksa Dennisem Ritchie:
- Napomknąłem Dennisowi, że przynajmniej połowa kodu, który pisałem w Multiksie, była kodem naprawiającym błędy. Powiedział wtedy: "Daliśmy sobie z tym spokój. Jeśli wystąpi błąd, to mamy procedurę nazwaną
panic
i jeżeli jest wywoływana, komputer się zawiesza, a ty wrzeszczysz na cały pokój 'Hej, zresetuj go.' "[1].
Wystąpienie błędu "kernel panic" powoduje zawieszenie albo przeładowanie komputera. Jest to konieczne, aby chronić sprzęt przed uszkodzeniem. Wystąpienie poważnego błędu powoduje kompletną destabilizację systemu – jego dalsze działanie mogłoby spowodować np. wyczyszczenie twardych dysków, przegrzanie podzespołów (ponieważ zarządzanie energią nie działa) itp.
Linux
W Linuksie po "kernel panic" system czeka na reakcję użytkownika liczbę sekund zapisaną w wirtualnym pliku: /proc/sys/kernel/panic po czym przeładowuje system.
Domyślną wartością jest 0 oznaczające nieskończone czekanie na reakcję operatora. Dla komputerów bez stałej obsługi np. serwerów oznacza to zawieszenie systemu. Automatyczny restart zapewniamy wpisując "1" komendą:
echo "1" > /proc/sys/kernel/panic
Uwaga: wpisu należy dokonać automatycznie po każdym restarcie systemu, np. przez dopisanie powyższej komendy do zbioru /etc/rc.d/rc.local albo dodając wiersz:
kernel.panic = 1
do pliku /etc/sysctl.conf.
Mac OS X
W systemie OS X kernel panic objawia się za pomocą szarego, przezroczystego kwadratu z informacją o wymaganym restarcie komputera w pięciu językach. System się w tym momencie blokuje i nie nadaje się do dalszej pracy.
Inne użycia nazwy
Kernel Panic jest także nazwą komiksu internetowego tworzonego przez Christophera B. Wrighta. Komiks opowiada o grupie administratorów systemów Unix i Linux.
Inne systemy operacyjne
"Kernel panic" jest nazwą typową dla systemów uniksowych, inne systemy operacyjne mają własne nazwy dla tego typu komunikatów o błędach:
- OS/2, Windows 3.x: Black Screen of Death,
- nowsze wersje systemu Windows (NT, 9x, 2000, 2003, XP): Blue Screen of Death,
- starsze systemy Macintosh: Sad Mac, Bomb,
- AmigaOS: Guru Meditation,
- Atari ST: Bombs.
Przypisy
- ↑ Unix and Multics. [dostęp 2013-03-27]. (ang.).