Movatterモバイル変換


[0]ホーム

URL:


İçeriğe atla
VikipediÖzgür Ansiklopedi
Ara

Kernel panic

Vikipedi, özgür ansiklopedi
Linux sisteminden bir kernel panic mesajı
A OpenSolaris kernel panic.
BirOpenSolaris kernel panic ekranı
Oracle VM VirtualBox'taUbuntu 13.04'te (Linux 3.8) kernel panic

Birkernel panic (bazenKP[1] olarak kısaltılır), birişletim sistemininçekirdeği tarafından, güvenli bir şekilde kurtarılamadığı veya sistemi çalıştırmaya devam etmeninbüyük veri kaybı yaşanabilmesinin yüksek bir riske sahip olacağı dahili bir kritik hata tespit edildiğinde alınan bir güvenlik önlemidir. Terim büyük ölçüdeUnix veUnix benzeri sistemlere özgüdür.Microsoft Windows işletim sistemlerindeki eşdeğeri, genellikle "mavi ekran" olarak adlandırılan birdurdurma hatasıdır.

AT&T'den türetilmiş veBSD Unix kaynak kodundapanic() olarak bilinen panikleri işleyençekirdek rutinleri genellikle konsola bir hata mesajı göndermek,ölüm sonrası hata ayıklama için diske çekirdek belleğinin bir görüntüsünü atmak ve ardından ya sistemin manuel olarak yeniden başlatılmasını bekleyin ya da otomatik yeniden başlatmayı başlatın.[2] Sağlanan bilgiler oldukça teknik niteliktedir ve bir sistem yöneticisine veyayazılım geliştiricisine sorunu teşhis etmede yardımcı olmayı amaçlar. Kernel panic, çekirdek alanı dışından kaynaklanan hatalardan da kaynaklanabilir. Örneğin, birçok Unix işletim sistemi, kullanıcı alanında çalışan init işlemi sona ererse kernel panic yaşanır.[3][4]

Tarih

[değiştir |kaynağı değiştir]

Unix çekirdeği, hata algılama mekanizması olarak iddialarla dahili tutarlılığı ve çalışma zamanı doğruluğunu korur. Temel varsayım, donanım ve yazılımın doğru bir şekilde çalışması gerektiği ve bir iddianın başarısızlığının birpanic ile, yani tüm sistem etkinliğinin gönüllü olarak durdurulmasıyla sonuçlanmasıdır.[5] Kernel panic, Unix'in erken bir sürümünde tanıtıldı ve Unix'in tasarım felsefeleri ile öncülüMultics arasında büyük bir fark olduğunu gösterdi. Multics geliştiricisi Tom van Vleck, Unix geliştiricisiDennis Ritchie ile bu değişiklikle ilgili bir tartışmayı hatırlıyor:

Dennis'e Multics'te yazdığım kodun yarısının hata düzeltme kodu olduğunu söyledim. Bütün bunları dışarıda bıraktık dedi. Bir hata varsa, panic denen bir rutinimiz var ve çağrıldığında makine çöküyor ve koridorda 'Hey, yeniden başlat' diye bağırıyorsunuz."[6]

Asılpanic() fonksiyonu, Fifth Edition UNIX'ten VAX tabanlı UNIX 32V'ye temelde değişmedi ve başka hiçbir bilgi içermeyen yalnızca bir hata mesajı verdi, ardından sistemi sonsuz bir boş döngüye bıraktı.V6 UNIX'tepanic() işlevinin kaynak kodu:[7]

/* * In case console is off, * panicstr contains argument to last * call to panic. */char*panicstr;/* * Panic is called on unresolvable * fatal errors. * It syncs, prints "panic: mesg" and * then loops. */panic(s)char*s;{panicstr=s;update();printf("panic: %s\n",s);for(;;)idle();}

Unix kod tabanı geliştirilirken,panic() fonksiyonu da çeşitli hata ayıklama bilgilerini konsola atmak için geliştirildi.

Nedenler

[değiştir |kaynağı değiştir]

İşletim sistemindeki bir donanım arızası veyayazılım hatası sonucu kernel panic meydana gelebilir. Çoğu durumda, işletim sistemi bir hata oluştuktan sonra çalışmaya devam edebilir. Bununla birlikte, sistem kararsız bir durumdadır ve güvenlik ihlalleri ve veri bozulması riskine girmek yerine, işletim sistemi daha fazla hasarı önlemek ve hatanın teşhisini kolaylaştırmak için durur ve olağan durumlarda yeniden başlatılır.[8]

Kaynak kodundan bir çekirdek ikili görüntüsünü yeniden derledikten sonra, çekirdek doğru şekilde yapılandırılmamış, derlenmemiş veya kurulmamışsa, ortaya çıkan çekirdeğibaşlatırken bir çekirdek paniği yaygın bir sorundur.[9] Ek donanım veya hatalı çalışanRAM, işletim sistemiyle uyumsuzluk veya eksik biraygıt sürücüsü nedeniyle başlatma sırasında önemli çekirdek hatalarına da neden olabilir.[10] Bir çekirdek, birkök dosya sistemini bulamıyorsa,panic() de girebilir.[11] Çekirdek kullanıcı alanı başlatmasının son aşamalarında, init'in oluşturulması başarısız olursa, tipik olarak bir panik tetiklenir. Başlatma işlemi sona ererse sistem kullanılamaz hale geleceği için bir panik de tetiklenebilir.[12]

Aşağıdaki,kernel_init() içindekiLinux çekirdeği son başlatmasının bir uygulamasıdır:[13]

staticint__refkernel_init(void*unused){.../*         * We try each of these until one succeeds.         *         * The Bourne shell can be used instead of init if we are         * trying to recover a really broken machine.         */if(execute_command){if(!run_init_process(execute_command))return0;pr_err("Failed to execute %s.  Attempting defaults...\n",execute_command);}if(!run_init_process("/sbin/init")||!run_init_process("/etc/init")||!run_init_process("/bin/init")||!run_init_process("/bin/sh"))return0;panic("No init found.  Try passing init= option to kernel. ""See Linux Documentation/init.txt for guidance.");}

İşletim sistemine göre durumlar

[değiştir |kaynağı değiştir]

Linux

[değiştir |kaynağı değiştir]
Bir iKVM konsolunda görüldüğü üzere kernel panic

Çekirdek panikleri, diğerUnix benzeri sistemlerde olduğu gibiLinux'ta da görülür, ancak aynı zamanda kernel oops olarak bilinen başka bir tür hata koşulu da oluşturabilirler.[14] Bu durumda, çekirdek normalde rahatsız ediciişlemiöldürdükten sonra çalışmaya devam eder. Hata, bazı alt sistemlerin veya kaynakların kullanılamaz hale gelmesine neden olabileceğinden, daha sonra tam bir çekirdek paniğine yol açabilir.

Linux'ta bir kernel panic, kritik bir durumun görsel bir göstergesi olarak klavye LED'lerinin yanıp sönmesine neden olur.[15]

macOS

[değiştir |kaynağı değiştir]

Mac OS X 10.2 ila 10.7'de bir çekirdek paniği meydana geldiğinde, bilgisayar kullanıcıya sistemi yeniden başlatmaları gerektiğini bildiren çok dilli bir mesaj görüntüler.[16] 10.2'den önce, daha geleneksel bir Unix tarzı panik mesajı gösteriliyordu; 10.8 ve sonraki sürümlerde, bilgisayar otomatik olarak yeniden başlar ve yeniden başlatmanın ardından bir mesaj görüntüler. Mesajın formatı sürümden sürüme değişir:[17]

  • 10.0 – 10.1: Sistem, ekranda hatayla ilgili ayrıntıları veren metni görüntüler ve yanıt vermez hale gelir.
  • 10.2: Siyah şeffaf bir perdeyi aşağı indirir ve ardından beyaz bir arka plan üzerinde kullanıcıya bilgisayarı yeniden başlatması gerektiğini bildiren bir mesaj görüntüler. Mesajİngilizce,Fransızca,Almanca veJaponca gösterilir.
  • 10.3 – 10.5: Çekirdek paniği, 10.2 sürümüyle hemen hemen aynıdır ancak hata ekranının arka planı siyahtır.
  • 10.6 – 10.7: Metin revize edildi ve şimdi birİspanyolca çeviri içeriyor.
  • 10.8 ve üstü: Bilgisayar hemen yeniden başlatılmadan önce yanıt vermiyor. Bilgisayar yeniden başlatıldığında, bir çekirdek paniği nedeniyle bilgisayarın yeniden başlatılmasıyla ilgili birkaç saniyeliğine bir uyarı mesajı görüntüler ve ardından bilgisayar yeniden başlatılır. Mesaj şimdi birÇince çeviri içeriyor.

Bazen ilkinden sonraki üç dakika içinde beş veya daha fazla çekirdek paniği olduğunda, Mac 30 saniye boyunca yasak işareti görüntüler ve ardından kapanır; bu, "tekrarlayan kernel panic" olarak bilinir.

10.2'nin üzerindeki tüm sürümlerde, metin bir bekleme sembolü üzerine bindirilir ve tam ekran değildir. Hata ayıklama bilgileri NVRAM'e kaydedilir ve yeniden başlatıldığında bir günlük dosyasına yazılır. 10.7'de, bir çekirdek paniğinden sonra otomatik olarak yeniden başlatma özelliği vardır. Bazı durumlarda, 10.2 ve sonraki sürümlerde, bekleme sembolüne ek olarak hatayı ayrıntılandıran beyaz metin görünebilir.

  • Mac OS X 10.0 – 10.1 kernel panic
    Mac OS X 10.0 – 10.1 kernel panic
  • Mac OS X 10.2 kernel panic
    Mac OS X 10.2 kernel panic
  • Mac OS X 10.3 – 10.5 kernel panic
    Mac OS X 10.3 – 10.5 kernel panic
  • Mac OS X 10.6 ve 10.7 kernel panic
    Mac OS X 10.6 ve 10.7 kernel panic
  • OS X 10.8 ve sonraki sürümlerde kernel panic nedeniyle bilgisayar yeniden başlatıldıktan sonra gösterilen mesaj
    OS X 10.8 ve sonraki sürümlerde kernel panic nedeniyle bilgisayar yeniden başlatıldıktan sonra gösterilen mesaj

Ayrıca bakınız

[değiştir |kaynağı değiştir]
Wikimedia Commons'taKernel panic ile ilgili ortam dosyaları mevcuttur.

Kaynakça

[değiştir |kaynağı değiştir]
  1. ^"KP - Kernel Panic (Linux) | AcronymFinder".www.acronymfinder.com. 26 Ekim 2015 tarihinde kaynağındanarşivlendi. Erişim tarihi:6 Ocak 2016. 
  2. ^"FreeBSD 11.0 - man page for panic (freebsd section 9) - Unix & Linux Commands".www.unix.com. 1 Nisan 2024 tarihinde kaynağındanarşivlendi. Erişim tarihi:6 Ekim 2022. 
  3. ^"boot failure-init died - Unix Linux Forums - HP-UX".www.unix.com. 1 Nisan 2024 tarihinde kaynağındanarşivlendi. Erişim tarihi:6 Ekim 2022. 
  4. ^"PANIC: init died".groups.google.com. 23 Nisan 2023 tarihindekaynağından arşivlendi. Erişim tarihi:23 Nisan 2023. 
  5. ^Siewiorek, Daniel P.; Swarz, Robert S. (15 Aralık 1998).Reliable Computer Systems: Design and Evaluation, Third Edition (İngilizce). Taylor & Francis.ISBN 978-1-56881-092-8. 
  6. ^"Unix and Multics".www.multicians.org. 5 Ağustos 2012 tarihinde kaynağındanarşivlendi. Erişim tarihi:6 Ekim 2022. 
  7. ^"Source code: V6/usr/sys/ken/prf.c".minnie.tuhs.org. 2 Ağustos 2020 tarihindekaynağından arşivlendi. Erişim tarihi:23 Nisan 2023. 
  8. ^Steven M. Hancock (22 Kasım 2002).Tru64 UNIX troubleshooting: diagnosing and correcting system problemsHP Technologies SeriesITPro collection. Digital Press. ss. 119-126.ISBN 978-1-55558-274-6. Erişim tarihi: 3 Mayıs 2011. 
  9. ^Michael Jang (2006).Linux annoyances for geeks. O'Reilly Media, Inc. ss. 267-274.ISBN 978-0-596-00801-7. Erişim tarihi:29 Nisan 2011. 
  10. ^David Pogue (17 Aralık 2009).Switching to the Mac: The Missing Manual, Snow Leopard Edition. O'Reilly Media, Inc. s. 589.ISBN 978-0-596-80425-1. Erişim tarihi: 4 Mayıs 2011. 
  11. ^Greg Kroah-Hartman (2007).Linux kernel in a nutshell. O'Reilly Media, Inc. s. 59.ISBN 978-0-596-10079-7. Erişim tarihi: 3 Mayıs 2011. 
  12. ^Wolfgang Mauerer (26 Eylül 2008).Professional Linux Kernel Architecture. John Wiley and Sons. ss. 1238-1239.ISBN 978-0-470-34343-2. 1 Nisan 2024 tarihinde kaynağındanarşivlendi. Erişim tarihi: 3 Mayıs 2011. 
  13. ^"LXR linux/init/main.c".lxr.linux.no. 6 Ekim 2022 tarihinde kaynağındanarşivlendi. Erişim tarihi:23 Nisan 2023. 
  14. ^"Linux Device Drivers, Chapter 4"(PDF). 14 Kasım 2014 tarihinde kaynağındanarşivlendi(PDF). Erişim tarihi:6 Ekim 2022. 
  15. ^Kirkland, James; Carmichael, David; Tinker, Christopher L.; Tinker, Gregory L. (27 Nisan 2006).Linux Troubleshooting for System Administrators and Power Users: Linu Trou Syst Admi Powe U (İngilizce). Prentice Hall Professional.ISBN 978-0-13-279739-9. 23 Nisan 2023 tarihinde kaynağındanarşivlendi. Erişim tarihi:23 Nisan 2023. 
  16. ^"OS X: About kernel panics - Apple Support".support.apple.com. 13 Nisan 2014 tarihinde kaynağındanarşivlendi. Erişim tarihi:6 Ekim 2022. 
  17. ^"A New Screen of Death for Mac OS X".OSXBook.com. 1 Mayıs 2012 tarihinde kaynağındanarşivlendi. Erişim tarihi:6 Ekim 2022. 
"https://tr.wikipedia.org/w/index.php?title=Kernel_panic&oldid=32887507" sayfasından alınmıştır
Kategoriler:
Gizli kategori:

[8]ページ先頭

©2009-2025 Movatter.jp