Plavi ekran smrti

Из Википедије, слободне енциклопедије

Plavi ekran smrti (engl. Blue Screen of Death; BSOD) je ekranski prikaz nakon fatalne sistemske greške na Majkrosoft vindousovim računarskim sistemima.

Istorija[уреди]

BSOD je prvi put uveden u operativnom sistemu Windows NT 3.1[1] (prve verzije Windows NT porodice, objavljenom 1993. godine) i svim Vindous operativnim sistemima objavljenim naknadno. BSOD može biti uzrokovan loše napisanim upravljačkim softverom (drajverom) ili neispravanim hardverom, kao što su neispravna memorija, problem sa napajanjem, pregrevanje komponenti, ili hardver koji radi van svojih granica specifikacije. U eri Vindousa 9x nekompatibilni DLL-ovi ili greške u kernelu operativnog sistema takođe su često izazivali BSOD. Zbog nestabilnosti i nedostatka zaštite memorije u Vindousu 9x, BSOD se javljao mnogo češće.

Format[уреди]

Do Windows Server 2012 sistema, BSOD se prikazivao kao srebrni tekst na teget pozadini sa informacijama o aktuelnim vrednostima memorije i vrednostima registra. Windows Server 2012 i Windows 8 upotrebljavaju nešto svetliju pozadinu sa pojednostavljenim tekstom. Vindous 95, 98 i ME za BSOD koriste 80 × 25 tekstualni prikaz. BSOD u Vindous NT sistemima koristi 80 × 50 režim teksta na 720 × 400 rezoluciji ekrana. Windows XP BSOD koristiti Lucida konzolni font, dok Vista BSOD koristi Consolas font. Windows Server 2012 koristi Segoe UI font i donosi BSOD u prirodnoj rezoluciji.

Windows NT[уреди]

U Windows NT porodici operativnih sistema, plavi ekran smrti (zvanično poznat kao “Stop greška”, i "bug ček" u Vindousovoj softverskoj dokumentaciji) nastaje kada jezgro ili drajver koji radi u režimu jezgra naiđe na grešku od koje ne može da se oporavi. Ovo je obično izazvano nepredviđenim operacijama. Jedina sigurna akcija koju operativni sistem može da uradi je da restartuje računar. Kao rezultat toga, podaci mogu biti izgubljeni, jer korisnici nemaju priliku da sačuvaju podatke.

Tekst na ekranu greške sadrži kod greške i njegovo simboličko ime (na primer "0k0000001E, KMODE_EKSCEPTION_NOT_HANDLED"), zajedno sa četiri vrednosti koje su vezane za grešku u zagradi, koji su tu da pomognu u rešavanju problema i bliže ga pojasne. U zavisnosti od koda greške, ona može da prikaže adresu na kojoj se dogodio problem, zajedno sa drajverom koji je učitan na toj adresi. Kod Windows NT, drugi i treći deo ovog ekrana mogu da sadrže informacije o svim drajverima. Informacije o drajverima su u tri kolone; Prva navodi osnovnu adresu drajvera, druga je datum registracije drajvera (kao Unix timestamp), a treća je ime samog drajvera.

Vindous će kreirati fajlove stanja memorije (memorijski damp) kada se desi zaustavna greška. U zavisnosti od verzije operativnog sistema, može postojati nekoliko formata u kojima ovi fajlovi mogu biti sačuvani, u rasponu od 64 kb "minidamp" (uveden u Vindouzu 2000) do kompletnog dampa, koja je praktično kopija kompletnog sadržaja fizičke memorije (RAM). Dobijena slika stanja memorije može da bude kasnije analizirana i iskorišćena za otklanjanje grešaka, koristeći kernelni dibager. Za Vindous WinDBG ili KD dibager iz dibagerskih oruđa za Vindous je potrebno imati stack trace koji može biti potreban da se utvrdi pravi uzrok problema jer informacije na ekranu su ograničene usled čega može doći do zabune i mogućeg pogrešnog tumačenja poruke. Po standardu, Windows XP je konfigurisan da spasi samo 64KB minidump memorije kad doživi stop grešku, a da zatim automatski ponovo pokrene računar. Ovaj proces se dešava veoma brzo, plavi ekran može se videti samo na trenutak, ili se uopšte ne vidi. Korisnici su ponekad ovo tumačili kao slučajni restart pre nego kao BSOD, i jedinu informaciju koju su imali nakon što se Windows ponovo pokrene je obaveštenje da se oporavio od ozbiljne greške. To se dešava samo kada računar ima omogućenu funkciju pod nazivom "Auto Restart", koja se može isključiti na kontrolnoj tabli koja zauzvrat pokazuje stop grešku.

Windows može da se konfiguriše da sinhrono šalje informacije kernel dibageru na drugom računaru. Ako stop greška naiđe, dok je kernel debager nakačen na sistem, Windows će zaustaviti izvršenje i dovesti informaciju do dibagera i neće prikazati BSOD. Dibager se zatim može koristiti za ispitivanje sadržaja memorije i odrediti izvor problema.

BSOD može biti izazvan kritičnom greškom pri podizanju sistema, gde je operativni sistem u nemogućnosti da pristupi boot particiji zbog netačnih drajvera za skladištenje, oštećenog fajl sistema ili usled sličnih problema. Kod greške u ovoj situaciji je Stop 0k0000007B (INACCESSIBLE_BOOT_DEVICE). U takvim slučajevima, ne postoji sačuvan memorijski damp. Budući da sistem nije u stanju da se pokrene sa čvrstog diska u ovoj situaciji korekcija problema često zahteva korišćenje alata za popravku na instalacionom disku operativnog sistema Windows.

Detalji[уреди]

Pre sistema Windows Server 2012, svaki BSOD prikazivao je ime greške velikim (npr. APC_INDEKS_MISMATCH), heksadecimalni broj greške (npr 0k00000001) i četiri parametra. U zavisnosti od broja grešaka i njihove prirode, svi, neki, ili čak nijedan od parametara sadrže podatke koji se odnose na uzrok problema, i / ili gde se to desilo. Pored toga, plavi ekran je pokazivao četiri stavke opšteg objašnjenja i savete u koje su često bili uključeni I ostali tehnički podaci (ime datoteke gde se greška dogodila i memorijske adrese). Windows Server 2012 i Windows 8 su napustili ovaj detaljan koncept u korist opisa sa imenom greške. Pomenuti tehnički detalji mogu se naći u Vindousovom event logu ili analizirati iz dampova memorije.

Windows 9x[уреди]

Plavi ekran smrti često se javlja u starijim operativnim sistemima Majkrosoft Windows 95, 98 i ME. U ovim operativnim sistemima, BSOD-a je glavni način za virtuelne upravljačke programe da prijave greške korisniku. Interno se nazivaju po imenu "_VVIN32_FaultPopup". Windows 9x BSOD daje korisniku mogućnost ili da ponovo pokrene računar ili da nastavi sa radom. Međutim, VxDs često ne prikazuje BSOD — obično ukazuje na problem koji ne može da se reši bez ponovnog pokretanja računara, jer je sistem posle BSOD uglavnom nestabilan.

Uobičajeni razlozi za BSOD su:

  • Problemi koji se javljaju sa nekompatibilnim verzijama DLL fajlova. Vindouz učitava ove DLL fajlove u memoriju kada je to potrebno određenim aplikacijama; ako se verzija fajlova promenila ona je drugačija od one koju aplikacija očekuje. Ove nesaglasnosti će se vremenom povećavati kako se instalira sve više novog softvera, i jedan je od glavnih razloga zašto je sveže instalirana kopija operativnog sistema Vindous stabilnija od stare.
  • Neispravan ili loše napisan upravljački program (drajver)
  • Hardverske nekompatibilnosti
  • Oštećen hardver može izazvati BSOD.

U Vindous 95 i 98, BSOD se javljao kada sistem pokuša da pristupi fajlu "C: \ con \ con" ili "C: \ auk \ auk" na hard disku. Postojala je opasnost da se ova greška iskoristi na veb sajtu kako bi se srušila mašina posetilaca. Dana 16. marta 2000. godine, Majkrosoft je objavio bezbednosnu ispravku da bi rešili ovaj problem.

BSOD može da se pojavi ako korisnik raskači prenosne medije dok se traje čitanje na 9x operativnim sistemima. Ovo se naročito često događalo dok se koristi Microsoft Office: ako korisnik jednostavno želi samo da vidi dokument, dešavalo se da izbaci disketu pre izlaska iz programa. Pošto Majkrosoft uvek kreira privremenu datoteku u istom direktorijumu, to će pokrenuti BSOD nakon izlaska jer će pokušati da izbriše fajl na disku koji više nije u jedinici. Ova vrsta plavog ekrana se više ne javlja u Windows NT, 2000 i XP. U slučaju ovih manje ozbiljnih softverskih grešaka to neće srušiti ceo operativni sistem zbog boljeg upravljanja memorijom. U ovim sistemima, "pravi" BSOD se može videti samo u slučajevima kada se ceo operativni sistem sruši.[2]

Poznat slučaj Windows 9x BSOD-a desio se tokom prezentacije Windows 98 beta verzije koju je držao Bil Gejts na COMDEKS 20. aprila 1998. Godine. Demo PC je doživeo pad sistema kada je njegov pomoćnik Kris Kaposela povezao skener na računar da demonstrira podršku Windows 98 za Plug and Play uređaje. Ovaj događaj je izazvao gromoglasni aplauz iz gomile i Gejts je nervozno odgovorio posle pauze: "Mora da je to razlog zašto još uvek ne isporučujemo Windows 98".

Reference[уреди]

Spoljašnje veze[уреди]