Oops

Oops — функцыя ядра аперацыйнай сістэмы Linux, якая выклікаецца пры адхіленні ад звычайнай працы Linux. Пры oops’е ядро стварае запіс у логу з апісаннем памылкі. Нярэдка за выклікам oops выклікаецца kernel panic з наступным прыпынкам або перазапускам сістэмы.

 Механізм працы 
Калі ядро заўважае праблему, на экран выводзіцца паведамленне аб памылцы. Гэтае паведамленне выкарыстоўваецца распрацоўшчыкамі для выпраўлення праграмнага кода ядра.
міні|Linux kernel oops у SPARC.|250x250пкс

Пасля oops’а некаторыя рэсурсы сістэмы могуць быць недаступныя. Такім чынам, нават калі здаецца, што сістэма працуе правільна, непажаданыя пабочныя эфекты могуць быць вынікам ліквідацыі актыўнай задачы. Памылка ядра часцей за ўсё прыводзіць да панікі ядра, калі сістэма спрабуе выкарыстаць неіснуючыя рэсурсы. Некаторыя ядры настроены на паніку, калі адбываецца шмат праблем (па змоўчанні 10 000). Гэты ліміт oops’а прадугледжаны, напрыклад, з-за таго, што зламыснікі могуць паўторна выклікаць oops і звязаную з ім уцечку рэсурсаў, якая ў канчатковым выніку перавышае максімальнае значэнне  і дазваляе далейшае зламыснае выкарыстанне сістэмы.

Афіцыйная дакументацыя ядра Linux, якая тычыцца паведамленняў oops, знаходзіцца ў файле Documentation/admin-guide/bug-hunting.rst у зыходных кодах ядра. Пры высвятленні прычын узнікнення oops таксама можа дапамагчы вывучэнне змесціва файла System.map.

Для чалавека, не знаёмага з тэхнічнымі дэталямі камп’ютараў і аперацыйных сістэм, паведамленне "oops" можа выглядаць незразумелым. У адрозненне ад іншых аперацыйных сістэм, такіх як Windows або macOS, Linux абірае дэталі, якія тлумачаць збой ядра, а не спрошчанае, зручнае паведамленне, як, напрыклад, BSoD у Windows. Некалькі разоў прапаноўваўся спрошчаны экран збояў, аднак зараз ні адзін з іх не распрацоўваецца.

 Аўтаматызаваны збор інфармацыі 
Для аўтаматычнай адпраўкі інфармацыі існуе праграма kerneloops-daemon, якая рэгіструе ўзнікненні oops і дасылае іх на сайт kerneloops.org. Гэтая праграма ўяўляе сабой праграму-дэман, якая правярае сістэмны лог на прадмет адпаведнай інфармацыі. У выпадку яе выяўлення яна аўтаматычна перадае яе на сайт kerneloops.org.

Катэгорыя:Linux