Плави екран смрти

Из Википедије, слободне енциклопедије
Иди на навигацију Иди на претрагу
Windows XP BSOD.png

Plavi ekran smrti (engl. Blue Screen of Death; BSOD) је екрански приказ након фаталне системске грешке на Мајкрософт виндоусовим рачунарским системима.

Историја[уреди]

BSOD је први пут уведен у оперативном систему Windows NT 3.1[1] (прве верзије Windows NT породице, објављеном 1993. године) и свим Виндоус оперативним системима објављеним накнадно. BSOD може бити узрокован лоше написаним управљачким софтвером (драјвером) или неисправаним хардвером, као што су неисправна меморија, проблем са напајањем, прегревање компоненти, или хардвер који ради ван својих граница спецификације. У ери Виндоуса 9x некомпатибилни ДЛЛ-ови или грешке у кернелу оперативног система такође су често изазивали BSOD. Због нестабилности и недостатка заштите меморије у Виндоусу 9x, BSOD се јављао много чешће.

Формат[уреди]

До Windows Server 2012 система, BSOD се приказивао као сребрни текст на тегет позадини са информацијама о актуелним вредностима меморије и вредностима регистра. Windows Server 2012 и Windows 8 употребљавају нешто светлију позадину са поједностављеним текстом. Виндоус 95, 98 и МЕ за BSOD користе 80 × 25 текстуални приказ. BSOD у Виндоус НТ системима користи 80 × 50 режим текста на 720 × 400 резолуцији екрана. Windows XP BSOD користити Lucida конзолни фонт, док Виста BSOD користи Consolas фонт. Windows Server 2012 користи Segoe UI фонт и доноси BSOD у природној резолуцији.

Wиндоwс НТ[уреди]

У Windows NT породици оперативних система, плави екран смрти (званично познат као “Стоп грешка”, и "буг чек" у Виндоусовој софтверској документацији) настаје када језгро или драјвер који ради у режиму језгра наиђе на грешку од које не може да се опорави. Ово је обично изазвано непредвиђеним операцијама. Једина сигурна акција коју оперативни систем може да уради је да рестартује рачунар. Као резултат тога, подаци могу бити изгубљени, јер корисници немају прилику да сачувају податке.

Текст на екрану грешке садржи код грешке и његово симболичко име (на пример "0k0000001E, KMODE_EKSCEPTION_NOT_HANDLED"), заједно са четири вредности које су везане за грешку у загради, који су ту да помогну у решавању проблема и ближе га појасне. У зависности од кода грешке, она може да прикаже адресу на којој се догодио проблем, заједно са драјвером који је учитан на тој адреси. Код Windows NT, други и трећи део овог екрана могу да садрже информације о свим драјверима. Информације о драјверима су у три колоне; Прва наводи основну адресу драјвера, друга је датум регистрације драјвера (као Unix timestamp), а трећа је име самог драјвера.

Виндоус ће креирати фајлове стања меморије (меморијски дамп) када се деси зауставна грешка. У зависности од верзије оперативног система, може постојати неколико формата у којима ови фајлови могу бити сачувани, у распону од 64 кб "минидамп" (уведен у Виндоузу 2000) до комплетног дампа, која је практично копија комплетног садржаја физичке меморије (RAM). Добијена слика стања меморије може да буде касније анализирана и искоришћена за отклањање грешака, користећи кернелни дибагер. За Виндоус WinDBG или КД дибагер из дибагерских оруђа за Виндоус је потребно имати stack trace који може бити потребан да се утврди прави узрок проблема јер информације на екрану су ограничене услед чега може доћи до забуне и могућег погрешног тумачења поруке. По стандарду, Windows XP је конфигурисан да спаси само 64KB minidump меморије кад доживи стоп грешку, а да затим аутоматски поново покрене рачунар. Овај процес се дешава веома брзо, плави екран може се видети само на тренутак, или се уопште не види. Корисници су понекад ово тумачили као случајни рестарт пре него као BSOD, и једину информацију коју су имали након што се Wиндоwс поново покрене је обавештење да се опоравио од озбиљне грешке. То се дешава само када рачунар има омогућену функцију под називом "Auto Restart", која се може искључити на контролној табли која заузврат показује стоп грешку.

Windows може да се конфигурише да синхроно шаље информације кернел дибагеру на другом рачунару. Ако стоп грешка наиђе, док је кернел дебагер накачен на систем, Windows ће зауставити извршење и довести информацију до дибагера и неће приказати BSOD. Дибагер се затим може користити за испитивање садржаја меморије и одредити извор проблема.

BSOD може бити изазван критичном грешком при подизању система, где је оперативни систем у немогућности да приступи boot партицији због нетачних драјвера за складиштење, оштећеног фајл система или услед сличних проблема. Код грешке у овој ситуацији је Stop 0k0000007B (INACCESSIBLE_BOOT_DEVICE). У таквим случајевима, не постоји сачуван меморијски дамп. Будући да систем није у стању да се покрене са чврстог диска у овој ситуацији корекција проблема често захтева коришћење алата за поправку на инсталационом диску оперативног система Wиндоwс.

Детаљи[уреди]

Пре система Windows Server 2012, сваки BSOD приказивао је име грешке великим (нпр. APC_INDEKS_MISMATCH), хексадецимални број грешке (нпр 0k00000001) и четири параметра. У зависности од броја грешака и њихове природе, сви, неки, или чак ниједан од параметара садрже податке који се односе на узрок проблема, и / или где се то десило. Поред тога, плави екран је показивао четири ставке општег објашњења и савете у које су често били укључени I остали технички подаци (име датотеке где се грешка догодила и меморијске адресе). Windows Server 2012 и Windows 8 су напустили овај детаљан концепт у корист описа са именом грешке. Поменути технички детаљи могу се наћи у Виндоусовом евент логу или анализирати из дампова меморије.

Windows 9x[уреди]

Плави екран смрти често се јавља у старијим оперативним системима Мајкрософт Windows 95, 98 и МЕ. У овим оперативним системима, BSOD-а је главни начин за виртуелне управљачке програме да пријаве грешке кориснику. Интерно се називају по имену "_VVIN32_FaultPopup". Windows 9x BSOD даје кориснику могућност или да поново покрене рачунар или да настави са радом. Међутим, VxDs често не приказује BSOD — обично указује на проблем који не може да се реши без поновног покретања рачунара, јер је систем после BSOD углавном нестабилан.

Уобичајени разлози за BSOD су:

  • Проблеми који се јављају са некомпатибилним верзијама DLL фајлова. Виндоуз учитава ове DLL фајлове у меморију када је то потребно одређеним апликацијама; ако се верзија фајлова променила она је другачија од оне коју апликација очекује. Ове несагласности ће се временом повећавати како се инсталира све више новог софтвера, и један је од главних разлога зашто је свеже инсталирана копија оперативног система Виндоус стабилнија од старе.
  • Неисправан или лоше написан управљачки програм (драјвер)
  • Хардверске некомпатибилности
  • Оштећен хардвер може изазвати BSOD.

У Виндоус 95 и 98, BSOD се јављао када систем покуша да приступи фајлу "C: \ con \ con" ili "C: \ auk \ auk" на хард диску. Постојала је опасност да се ова грешка искористи на веб сајту како би се срушила машина посетилаца. Дана 16. марта 2000. године, Мајкрософт је објавио безбедносну исправку да би решили овај проблем.

BSOD може да се појави ако корисник раскачи преносне медије док се траје читање на 9x оперативним системима. Ово се нарочито често догађало док се користи Microsoft Office: ако корисник једноставно жели само да види документ, дешавало се да избаци дискету пре изласка из програма. Пошто Мајкрософт увек креира привремену датотеку у истом директоријуму, то ће покренути BSOD након изласка јер ће покушати да избрише фајл на диску који више није у јединици. Ова врста плавог екрана се више не јавља у Windows NT, 2000 и XP. У случају ових мање озбиљних софтверских грешака то неће срушити цео оперативни систем због бољег управљања меморијом. У овим системима, "прави" BSOD се може видети само у случајевима када се цео оперативни систем сруши.[2]

Познат случај Windows 9x BSOD-а десио се током презентације Windows 98 бета верзије коју је држао Бил Гејтс на COMDEKS 20. априла 1998. Године. Demo PC је доживео пад система када је његов помоћник Kris Kaposela повезао скенер на рачунар да демонстрира подршку Windows 98 за Plug and Play уређаје. Овај догађај је изазвао громогласни аплауз из гомиле и Гејтс је нервозно одговорио после паузе: "Мора да је то разлог зашто још увек не испоручујемо Windows 98".

Референце[уреди]

Спољашње везе[уреди]