Kernel
Bilgisayar bilimlerinde kernel (çekirdek), bir işletim sisteminin (OS) en temel ve kritik bileşenidir. Donanım kaynaklarını yöneten, süreçleri koordine eden ve kullanıcı uygulamaları ile fiziksel donanım arasında bir köprü görevi gören bu yapı, sistemin merkezinde yer alır. Bir çekirdeğin temel görevleri; bellek yönetimi, işlemci zamanlaması, dosya sistemi yönetimi ve aygıt sürücülerinin kontrolüdür.
Özellikle Linux çekirdeği, dünya çapında çok sayıda bilgisayar sisteminde kullanılan, özgür ve açık kaynaklı bir Unix benzeri çekirdektir. 1991 yılında Linus Torvalds tarafından geliştirilen bu çekirdek, kısa sürede GNU işletim sistemi için temel yapı taşı olarak benimsenmiş ve Unix’e ücretsiz bir alternatif olarak konumlanmıştır. 1990’ların sonlarından itibaren Linux çekirdeği, “Linux” adıyla anılan çok sayıda dağıtımın (distribution) merkezine yerleşmiştir.
Linux çekirdeğinin geniş yayılımı, sadece masaüstü bilgisayarlarla sınırlı değildir. Örneğin, mobil ve gömülü cihazlarda yaygın olarak kullanılan Android işletim sistemi de bu çekirdek üzerine inşa edilmiştir. Bu çok yönlülük, Linux’u hem yüksek performanslı sunucularda hem de küçük ölçekli elektronik cihazlarda standart bir çözüm haline getirmiştir.
Teknik mimarisi açısından Linux çekirdeği, büyük ölçüde C programlama dili ile yazılmıştır. Ancak bellek kullanımı ve görev yürütme gibi işlemciye özgü (architecture-specific) mantıkların optimize edilmesi için assembly kodları da içermektedir. Çekirdek, modüler bir tasarıma sahiptir; bu yapı sayesinde çeşitli bileşenler sistem çalışırken dinamik olarak yüklenebilir veya çıkarılabilir.
Mimari açıdan Linux çekirdeği monolitik bir yapıdadır; yani işletim sistemi çekirdeğinin tamamı “kernel space” (çekirdek alanı) içerisinde çalışır. Sistemsel hatalar, donanım arızaları veya kritik yazılım çakışmaları durumunda çekirdeğin durması durumuna kernel panic denir ve bu durum sistemin çalışamaz hale gelmesine neden olur.

Yazılım lisanslaması açısından Linux, büyük ölçüde GNU Genel Kamu Lisansı (GPLv2) altında sunulmaktadır. Ancak çekirdek yapısı içerisinde farklı ancak uyumlu diğer lisanslara sahip dosyalar da barındırabilmektedir. Bu açık kaynaklı yapı, dünya çapındaki geliştiricilerin çekirdeği sürekli olarak geliştirmesine ve güvenliğini artırmasına olanak tanımaktadır.

Görsel Kaynağı: Wikimedia Commons