blog posts

Linux çekirdeği veya kernel nedir?

Linux çekirdeği veya kernel, Linux işletim sisteminin (OS) ana bileşenidir ve bilgisayar donanımı ile süreçleri arasındaki ana arabirimdir. İkisi arasında iletişim kurar ve kaynakları mümkün olduğunca yönetir.

Çekirdeğe böyle bir isim verilir – bir sert kabuktaki bir çekirdek gibi – işletim sisteminde bulunur ve bir telefon, dizüstü bilgisayar, sunucu veya başka herhangi bir bilgisayar türü olsun, donanımın tüm ana işlevlerini kontrol eder.

 

kernel

 

Linux çekirdeği ne işe yarar?

Bellek Yönetimi: Neyi ve nerede depolamak için ne kadar bellek kullanıldığını izleyin
Süreç yönetimi: Hangi süreçlerin merkezi işlem birimini (CPU) ne zaman ve ne kadar süreyle kullanabileceğini belirleme
Aygıt sürücüleri: donanım ve süreçler arasında aracılar/çevirmenler olarak hareket edin
Sistem çağrıları ve güvenlik: Süreçlerden hizmet istekleri alın

 

Bu nedenle, eğer çekirdek düzgün çalışıyorsa, kullanıcı tarafından görülmez, bellek tahsis ettiği ve her şeyin nerede saklandığını bildiği çekirdek alanı olarak bilinen kendi küçük dünyasında çalışır. Kullanıcının gördüğü – web tarayıcıları ve dosyalar gibi – kullanıcı alanı olarak bilinir. Ayrıca bu programlar, Sistem Çağrı Arayüzü (SCI) aracılığıyla çekirdekle etkileşime girer.

 

Bunun hakkında böyle düşün. Çekirdek, güçlü bir yönetim (donanım) için çok yönlü bir kişisel asistandır. Çalışanlardan ve genel halktan (kullanıcılar) gelen mesaj ve istekleri (süreçleri) icra direktörüne aktarmak, bunların nerede saklandığını (hafıza) hatırlamak ve ne zaman ve ne zaman yöneticiye karar vermek de bu yardımcının görevidir. yönetmenin erişimi var.

 

Çekirdeğin işletim sisteminin içine yerleştirildiği yer

 

Çekirdeği bağlama yerleştirmek için, bir Linux makinesini 3 katmana sahip olarak düşünebilirsiniz:

Donanım: Fiziksel makine – bellek (RAM) ve işlemci veya merkezi işlem birimi (CPU) ile depolama, ağ ve grafik CPU’ları gibi giriş/çıkış (G/Ç) aygıtlarından oluşan sistemin temeli hesaplamalar yapar ve bellekten okur ve ona yazar.

Linux Çekirdeği: İşletim sisteminin çekirdeği. Bu, CPU’ya ne yapacağını söyleyen bellekteki yazılımdır.
Kullanıcı işlemleri: Bunlar, çekirdeğin yönettiği çalışan programlardır. Ve kullanıcı süreçleri, genel olarak kullanıcı alanını oluşturan şeydir. Kullanıcı işlemleri basit işlemler olarak da bilinir. Çekirdek ayrıca bu süreçlerin ve sunucuların birbirleriyle iletişim kurmasına izin verir (işlemler arası iletişim veya IPC olarak bilinir).

 

Sistem tarafından yürütülen kod, CPU’larda 2 moddan birinde çalışır: çekirdek modu veya kullanıcı modu. Çekirdek modunda çalışan kodun donanıma erişimi sınırlıdır. Kullanıcı modu, SCI’ye CPU ve bellek erişimini kısıtlar. Bellek (çekirdek alanı ve kullanıcı alanı) için benzer bir ayrım vardır. Bu 2 küçük ayrıntı, güvenlik ayrıcalıklarının ayrılması, kapsayıcılar ve sanal makineler oluşturma gibi bazı karmaşık işlemlerin temelini oluşturur.

 

Bu, kullanıcı modunda bir işlem başarısız olursa, hasarın sınırlı olduğu ve çekirdek tarafından kurtarılabileceği anlamına gelir. Ancak, bellek ve işlemci erişimi nedeniyle, bir çekirdek işlemi çökmesi tüm sistemi çökertebilir. Sınırları aşmak için gereken kurallar ve izinler olduğundan, kullanıcı işlemi çökmeleri genellikle çok fazla soruna neden olmaz.

 

Linux çekirdeği

Linux çekirdeği, herhangi bir Linux işletim sisteminin temelidir. Sunucular ve masaüstleri için Linux dağıtımlarının özünü temsil eder. Ayrıca yönlendiriciler gibi gömülü sistemlerde ve birçok bilgisayar ve akıllı telefon dahil olmak üzere tüm Android tabanlı sistemlerde kullanılır. Temel olarak, Linux çekirdeği Linux’tur. Ubuntu, OpenSUSE ve Arch gibi işletim sistemleri, her biri Linux çekirdeğini kullandıkları için bazen “Linux” olarak anılır.

 

Linux çekirdeği, 1991 yılında Linus Torvalds tarafından kişisel bilgisayarında kullanılmak üzere oluşturuldu. Bugün, dünya çapında geliştiriciler tarafından aktif olarak sürdürülen, tamamen kabul edilmiş, ücretsiz ve açık kaynaklı bir yazılımdır. Linux çekirdeği şu anda GNU Genel Kamu Lisansı altında dağıtılmaktadır.

 

Linux çekirdeği “entegre” bir mimaridir – işletim sistemi tamamen çekirdek alanı içinde çalışır. Buna karşılık, mikro çekirdek mimarisinde, yalnızca çekirdek, işletim sisteminin bilgisayar donanımıyla nasıl iletişim kurduğunu tanımlar ve kontrol eder. Standart tümleşik çekirdeklerin aksine, Linux çekirdeği de modülerdir ve aygıt sürücüleri olarak işlev gören LKM’leri (Linux Çekirdek Modülleri) kabul eder. LKM’ler, cihaz üreticileri veya gönüllüler tarafından yazılabilir, bakımı yapılabilir ve dağıtılabilir. Ve yeniden başlatmadan ve çekirdeği yeniden derlemeden sisteme yüklenebilir veya kaldırılabilir.

 

Linux çekirdekleri, önleyici çoklu görev, sanal bellek ve sistem düzeyinde bellek yönetimini destekler. modern işletim sisteminin teması ve diğer özellikleri. Varsayılan Linux çekirdek derleyicisi GCC’dir.

 

Farklı çekirdek türleri

Tabii ki, bir çekirdek oluşturmanın farklı yolları ve sıfırdan inşa ederken mimari hususlar vardır. Genel olarak, çoğu çekirdek üç türden birine girer: entegre, mikro çekirdek ve hibrit. Linux monolitik bir çekirdektir, OS X (XNU) ve Windows 7 ise hibrit çekirdekler kullanır. Daha sonra daha fazla ayrıntıya girmeden önce üç kategoriye hızlıca bir göz atalım.

 

mikro çekirdek

Bilgisayar biliminde mikro çekirdek, temel düzey adres alanını yönetmek gibi bir işletim sistemini uygulamak için gerekli mekanizmaları sağlayan bir bilgisayar çekirdeğidir.