Яка різниця між ядром упс і панікою ядра?


51

Я знаю, що таке паніка ядра, але я також бачив термін "ядро ой". Я завжди думав, що вони однакові, але, можливо, ні. Тому:

Що таке ядро, і чим він відрізняється від паніки ядра?

Відповіді:


45

" Ой " - це проблема з ядром Linux досить погано, що може вплинути на надійність системи.

Деякі "ой" є досить поганими, що ядро ​​вирішить негайно припинити роботу, щоб не було втрати даних або іншого пошкодження. Це називають панікою ядра .

Останній термін є первинним, повертаючись до самих ранніх версій передплатників Unix Linux, які також друкують повідомлення "паніки" на консолі, коли вони трапляються. Викликається оригінальна функція ядра AT&T Unix, яка обробляє такі умови panic(). Ви можете простежити це за допомогою публічних випусків вихідного коду AT&T Unix до його перших версій:

  • Версія OpenSolarispanic() була випущена Sun у 2005 році . Він досить детальний, а коментарі до його заголовків багато пояснюють те, що відбувається в панічній ситуації.

  • Unix V4 реалізація panic()була випущена в 1973 році в основному тільки друкує ядро стан ядра на консоль і зупиняє процесор.

  • За словами Amit Singh, ця функція істотно не змінюється в Unix V3 , який, як відомо, розсікав старішу версію Mac OS X і пояснив її. Перше посилання перенесе вас до чудової статті, що пояснює підхід macOS до впровадження panic(), який починається з відповідної історичної дискусії.

  • Проект " unix-jun72 " для воскресіння Unix V1 зі сканованих роздруківків вихідного коду показує дуже ранню версію цієї функції PDP-11 , написану десь до червня 1972 року, до того, як Unix була повністю переписана в C. До цього моменту її реалізація є відхилився до 6-інструкційного розпорядку, який робить трохи більше, ніж перезапустити PDP-11.


щойно побачило ваші зміни (мабуть, тому я отримав ще кілька відгуків щодо цього питання?) - справді приголомшливий, дякую, що додав до цього :)
strugee

14

Упс - це специфічна помилка, з якою стикається ядро. Oops містить таку інформацію:

  • Короткий опис
  • На жаль
  • На якому процесорі це сталося, і код, який CPU виконував
  • Реєструйте вміст

Oops - це спосіб налагодження коду ядра, і є утиліти, які допомагають у цьому. Паніка ядра означає, що система не може відновитись і її потрібно перезапустити. Однак із функцією Oops система, як правило, може продовжуватись. Ви можете налаштувати klogd та syslogd для журналу повідомлень про oops у файли, а не для std out.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.