Tüm bilgisayar kullanıcılarını ilgilendiren bir sorun sistem çökmesi, sistem neden çöker nedenlerini açıklayacağız. Sistem çökmelerini her kullanıcı yaşamıştır. Microsoftun sahibi Bill Gates bile Windowsu tanıtırken mavi ekrana düşmüştür. İnternette dolaşırken oyun oynarken sunum veya çizim yaparken bir hata ekranı çıkar ve çalışan uygulama çöker. bir anda mavi bir ekran karşınıza çıkar ve size sistemin çöktüğünü haber verir sizde bilgisayarınızı yeniden başlatmak zorunda kalırsınız.
Kullandığınız işletim sistemine göre çökme nedenleri değişmektedir Windows ya da Linux sürümlerinde de çökmeler yaşanır. Şimdi sizlere bu yazımızda bu sistem çökmelerinin altında yatan nedenleri anlatacağız.
Donanım sorunları Ve sistemin Çökmesi
Sistem çökmeleri donanım sorunlarından da kaynaklanabilir. Parçalar uyumlu çalışmazsa durum yazılıma yansır ve ortaya ısrarla tekrarlanan sorunlar çıkar. Mesela içi toz dolu bir heatsink veya bozuk bir fan yüzünden aşırı ısınan ekran kartınız, ekranda garip şekiller çıkmasına sebep olabilir. Basit bir kısa devre yüzünden bilgisayarınız açılmayabilir.
Mesala flöresan yaktığınızda modemin bağlantısının kesildiğini fark edebilirsiniz. Modemin kapanıp açılma sebebi yüksek voltajdan kaynaklanan anlık bir elektromanyetik dalgadır. Ancak bu gibi elektromanyetik dalgalardan oluşan hatalardan kaynaklanan nedenleri anlamak neredeyse imkansızdır.
İki Ram birlikte kullanan kullanıcıların ram’lerin birbirleri ile çakışması veya zaman içerisinde birinin bozulması sisteminizin çökmesine neden olacaktır.
Uygulamaların Çakışması
Kullanıcıların karşısına en sık çıkan hatalardan biri “memory error” hatasıdır. Bir bilgisayarın çökmesinin bir çok nedeni vardır. Sorun donanımsal veya yazılımın kendisinden kaynaklanabilir.
Bu çökmelerin temel sebebi yazılımın kuralları uygulamaması ya da programcıların beklemediği bir durumun gerçekleşmesidir. İşletim sistemi yazılıma kullanması için kaynak ayırır. Uygulama normal çalışırken bu mevcut hafıza limitleri dahilin de kalır ve genellikle sorunla karşılaşılmaz. Ancak yazılımdaki hatalar yüzünden ya da beklenmeyen bir durumla karşılaşıldığı için yazılım ek sistem kaynağına ihtiyaç duyabilir ve bu kaynağı kimseye sormadan kullanmaya kalkışabilir.
Yazılım kendisine ait olmayan hafızayı kullanmaya kalktığında, o hafıza bölümü başka bir yazılım tarafından kullanılıyorsa bir çakışma gerçekleşir. Yazılımlar verileri koydukları gibi bulamazlar ve alıp işlemeye kalktıklarına beklenmedik bir hata ile karşılaşarak çökerler.
Aslında uygulamaları çökerten işletim sisteminin kendisidir. İşletim sistemi bunu sistemi korumak için yapar ve etkileri kestirilemeyen durumları baştan engeller.
Yazılım Hataları
Beklenmedik durumlar yazılımı çökertebilir. Yazılım iyi bir istisna kontrolüyle (Exception handling) donatılmadıysa çöker.
Programcılar yazılımları hazırlarken, kullanıcıların sadece belirli veriler girmesine izin verir. Bu veriler yazılımın işleyebileceği türde komutlardır. Eğer kullanıcı yazılımın işleyemeyeceği türde bir veri girerse yazılım çöker. Kullanıcı, programcının beklemediği ve engellemediği ya da yazılıma bu durumla karşılaşırsa ne yapmasını gerektiğini söylemediği durumlarda gerçekleşen budur.
Eğer yazılımlar bu tür durumlarda çökmeseydi, sonuçta ortaya yazılım kilitlenip kalırdı veya yapmaması gereken şeyler yapar, sistemde garipliklere sebep olurdu. Bu durum da zaman zaman gerçekleşir ve kullanıcılar beklenmedik durumlarla karşılaşır.
Donmalarda Bir Çeşit Çökmedir
Yazılımlar bazen donar, aslında bu da bir çökme çeşididir. Yazılım ekranda görünmeye devam etse de işlevini yerine getirememektedir ve kısılıp kalmıştır. Bu durumda işletim sistemine yazılımı zorla çökertmesi söylenebilir. Bu Windows’ta Ctrl-Alt-Delete tuşlarına aynı anda basılarak açılan görev yöneticisinden yapılır. İşletim sistemi durumu fark edip bir süre sonra otomatik olarak da yazılımı kapatabilir.
Çökmeler hemen hemen her gün yaşanan olaylardır ve en sık kullanılan uygulamalarda haliyle daha sık karşılaşmak mümkündür. Özellikle internet tarayıcılar pek çok beklenmedik durumla karşılaştıkları için sık sık çökerler.
Oyunlar da belirli ve kısıtlı bir zaman diliminde yetiştirilmeye çalışılan ticari yapımlar olduklarından açıklarla ve hafıza kullanım hatalarıyla doludurlar. İyi oyunlar elbette kolay kolay çökmez. Sorunlu oyunlar için de bu durumları düzelten yamalar çıkartılır.
Kernel Çekirdeği
Bazı hatalar sadece uygulamayı değil, bütün işletim sistemini çökertmeyi başarır. Bunun için kernel seviyesinde bir hata olması gerekir. Kernel bir işletim sisteminin çekirdeği ve en önemli parçasıdır. Donanım katmanının üzerinde kernel, daha sonra da soğanın katmanları gibi önem sırası azalan yazılımlar kaplıdır. Her biri birbiriyle ve diğer seviyelerle etkileşim içerisinde ve bir hiyerarşinin parçası olarak görevini yapar.
İlk işletim sistemlerinde çoğu işlem kernel seviyesine çok yakın çalıştığı için, oluşan küçük hatalar bile sistemi çökertebiliyordu. Günümüzde sistemlerin daha az çökmesini sağlamak için araya güvenlik ve istikrar sunan bir mesafe konuldu.
Artık uygulamalar daha yalıtılmış bir şekilde çalışıyor, bu da kernelin saçmalamasını ve çökmesini engelliyor. Örneğin Chrome internet tarayıcı, sekmeleri birbirinden yalıtılmış bir şekilde çalıştırıyor. Bu sayede bir sekme çöktüğünde internet tarayıcı bütün diğer sekmelerle birlikte çökmüyor.
Ekran Kartı Sürücüleri
Yazılımları yalıtmak, sürücülere göre daha kolay. Sürücüler, donanımın işletim sistemi tarafından tanınmasını ve işletim sisteminin gerekli işlemleri donanıma yaptırmasını sağlayan yazılımlardır. İşte bu yüzden işletim sisteminin çekirdeğinden uzaklaştırılamazlar. Sürücüler kötü yazılmışsa sistem tamamen çöker, uygulamalar saçmalar, performans sürünür; yani kötü olaylar olur.
İşletim sistemiyle uyumlu çalışan sürücüler test edilmiş ve imzalanarak onaylanmıştır. Ancak bu sürücüler de sorunsuz değildir; kolay kolay da olamaz. Çünkü programcılık çok detaylı ve zor bir iştir, yapılan hatalar kendisini kötü bir şekilde gösterir. İyi yazılmış sürücüler kolay kolay sorun çıkartmaz ve donanımın içerisinde bulunan komut setlerini verimli bir şekilde kullanarak performansa olumlu etkide bulunur.
DirectX Hataları
İşlemci sürücüsü zordur, grafik işlemci sürücüleri de çok zordur
Sürücüler içerisinde en karmaşık olanları işlemci sürücüleridir. Diğer donanımlar kısıtlı sayıda işlemle uğraşırken, ana işlemci pek çok işle uğraşır. Bu genişlik ve esneklik de daha çok soruna davetiye çıkartır.
Özellikle oyuncular ekran kartı sürücülerinden muzdarip olurlar. Ekran kartları, oyunları daha gerçekçi ve eğlenceli hale getirmek için pek çok ince detayla uğraşırlar. Bütün bu grafik detayların programlanması da epey meşakkatli bir iştir. Hataya oldukça müsaittir ve oyun piyasasındaki rekabet, programcıları diğerlerinden daha detaylı, daha iyi görünen oyunlar yapmaya zorladıkça işin çapı büyür. DirectX’in yeni sürümüne göre programlama yapmak, yeni şeyler öğrenmek ve kullanmak demektir, daha iyi grafikler hiç de kolay bir iş değildir.
Ekran kartlarında bulunan anti-aliasing, anisotropic filtering gibi sayısız özellik bu donanım için yazılan sürücülerin oldukça karmaşık olmasında pay sahibidir. Yeni oyunlarla birlikte ekran kartı sürücüleri de güncellenip durur ve sürümler arasındaki küçük farklar pek çok hatayı giderebildiği gibi, beklenmedik yeni hatalara da sebep olabilir.
Hata bildirimleri işe yarıyor
Günümüzde sistem çökmeleri işletim sistemi tarafından takip ve kayıt edilerek, geliştirici firmaya yollanıyor ve analiz ediliyor. Kullanıcının onayıyla gerçekleşen bu işlem sayesinde en sık karşılaşılan sorunlar ve buna sebep olan koşullar anlaşılarak bunlara karşın çözüm geliştirilebiliyor.
Çökmelerden sonra karşınıza çıkan hata bildirimleri bu açıdan çok önemli. Sorunların hızla çözülebilmesi için bunları yollamanız faydalı olacaktır. Yollanan bilgiler yazılımın çökmeden önce yaptığı işlem, kullanılan sürücü ve donanım gibi bir ton veri içerir.
Windows 7 geçmişte edinilen tecrübeler ışığında hafızanın durumunu takip ederek sorun olduğunda yazılımı yalıtıp çökmenin bütün sisteme yansımasını engellemeye çalışır. İşletim sisteminin çökmesi baştan engellenirse de durumun analizi daha kolay olur