Kernel
Çekirdek
- Okunuşu
- körnıl
Kısaca
Kernel, işletim sisteminin CPU'yu, belleği ve donanım aygıtlarını yöneten ve programların bu kaynaklara nasıl eriştiğini denetleyen çekirdek bölümüdür.
İşletim sistemi kernel'ı (çekirdeği) nedir?
Kernel, bir işletim sisteminin merkezi programıdır ve bilgisayar açılırken yüklenen ilk şeylerden biridir. Makine çalıştığı sürece bellekte kalır ve uygulamalar ile donanım arasında köprü görevi görür: hangi programın CPU'yu alacağına, belleğin nasıl bölüneceğine ve verinin disklere, ağlara ve diğer aygıtlara nasıl taşınacağına karar verir.
Kernel, her komutu yürütebildiği ve her belleğe erişebildiği, kernel modu (kernel mode) denen ayrıcalıklı bir CPU modunda çalışır. Normal uygulamalar kısıtlı bir kullanıcı modunda (user mode) çalışır ve bir dosyayı okumaları, ağ bağlantısı açmaları ya da yeni bir process başlatmaları gerektiğinde sistem çağrıları (system call) aracılığıyla kernel'dan yardım istemek zorundadır. Bu ayrım sistemi korur; çünkü hatalı bir uygulama donanıma veya diğer programların belleğine doğrudan zarar veremez.
İyi bir benzetme, yoğun bir otelin resepsiyonudur. Misafirler (programlar) kazan dairesine giremez veya kendi oda anahtarlarını üretemez; izinleri kontrol edip talebi güvenle ele alan resepsiyona başvururlar. Bilinen kernel'lar arasında Linux, Windows NT kernel'ı ve macOS ile iOS'un arkasındaki kernel olan XNU vardır.
İnsanlar çoğu zaman kernel'ı işletim sisteminin tamamıyla ya da shell ile karıştırır. İşletim sistemi kernel'ın yanı sıra araçları, kütüphaneleri ve kullanıcı arayüzlerini içerir; shell ise komutlarınızı alıp kernel'dan onları yerine getirmesini isteyen bir programdır. Kernel tasarımları da farklılık gösterir: Linux gibi monolitik kernel'lar hizmetlerin çoğunu kernel modunda çalıştırır; mikro kernel'lar ise orada yalnızca temel olanları tutar ve sürücüleri ile diğer hizmetleri kullanıcı alanına taşır.
Bir bakışta
Önemli noktalar
- Kernel, işletim sisteminin çekirdeğidir ve bilgisayar açık olduğu sürece çalışır.
- CPU'yu, belleği, aygıtları ve dosya sistemlerini yönetir.
- Kernel ayrıcalıklı kernel modunda çalışır; uygulamalar kısıtlı kullanıcı modunda çalışır.
- Uygulamalar kernel hizmetlerini sistem çağrılarıyla ister.
- Yaygın tasarımlar arasında monolitik kernel'lar ve mikro kernel'lar vardır.
Örnek
# Print the name and version of the running kernel
uname -sr
# Show the most recent kernel log messages (may require sudo)
sudo dmesg | tail -n 5
# List a few kernel modules (such as drivers) currently loaded
lsmod | head -n 5Sık sorulan sorular
Linux bir işletim sistemi midir yoksa bir kernel mı?
Kesin konuşmak gerekirse Linux bir kernel'dır. Onun üzerine kurulan, Linux dağıtımı denen eksiksiz işletim sistemleri, kernel'ı sistem araçları, kütüphaneler ve paket yöneticileriyle birleştirir.
Kernel modu ile kullanıcı modu arasındaki fark nedir?
Kernel modu, kodun tüm donanıma ve belleğe erişebildiği ayrıcalıklı bir CPU modudur ve kernel'a ayrılmıştır. Kullanıcı modu kısıtlıdır; bu yüzden uygulamalar ayrıcalıklı işlemleri kendileri adına yapması için kernel'dan sistem çağrılarıyla istemek zorundadır.
Kernel panic nedir?
Kernel panic, kernel'ın güvenle kurtulamadığı ölümcül bir hatadır; bu yüzden veri bozulmasını önlemek için sistemi durdurur. Windows'ta karşılığı genellikle stop error ya da mavi ekran olarak adlandırılır.
İlgili sayfalar
- System Callİşletim Sistemleri, s. 32System call, bir programın işletim sistemi kernel'ından bir dosyayı okumak ya da process başlatmak gibi ayrıcalıklı bir işlem yapmasını istediği çağrıdır.
- Processİşletim Sistemleri, s. 23Process, bir programın çalışan örneğidir; işletim sistemi tarafından yönetilen kendi bellek alanına, kaynaklarına ve en az bir yürütme iş parçacığına sahiptir.
- Sanal Bellekİşletim Sistemleri, s. 26Sanal bellek, her process'e kendine ait özel bir adres alanı veren ve bunu arka planda fiziksel RAM'e ya da diske eşleyen bir işletim sistemi tekniğidir.
- CPU Zamanlamaİşletim Sistemleri, s. 5CPU zamanlama, işletim sisteminin her CPU çekirdeğinde hangi hazır process ya da thread'in ne kadar çalışacağına karar vermesidir; işlemci adil paylaşılır.
- Dosya Sistemiİşletim Sistemleri, s. 10Dosya sistemi, işletim sisteminin bir depolama aygıtındaki veriyi dosya ve klasörlere düzenleyen ve her parçanın nerede saklandığını izleyen bölümüdür.
- LinuxDevOps ve Bulut, s. 31Linux, çoğu sunucuyu, bulutu, konteyneri ve Android telefonu çalıştıran, genellikle dağıtım olarak paketlenen açık kaynaklı bir işletim sistemi çekirdeğidir.
- İşletim Sistemiİşletim Sistemleri, s. 16İşletim sistemi (OS), bilgisayarın donanımını yöneten temel yazılımdır; bu donanımı programlar arasında paylaştırır ve onu kullanmanın ortak bir yolunu sunar.
- Kernel Modeİşletim Sistemleri, s. 18Kernel mode (çekirdek kipi), çekirdeğin donanıma ve belleğe tam erişebildiği ayrıcalıklı CPU durumudur; sıradan programlar kısıtlı kullanıcı kipinde çalışır.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin