1.2. Çekirdeğin önemli parçaları

Linux çekirdeğinin çeşitli önemli bölümleri vardır: işlemci ve bellek yönetimi, donanım ve dosya sistemleri sürücüleri, ağ yönetimi ve çeşitli parçalar. Şekil 3.1 de bunlardan bazıları görünmektedir.

Şekil 1.1. Linux çekirdeğinin bazı önemli parçaları
Linux çekirdeğinin bazı önemli parçaları

Büyük ihtimalle çekirdeğin en önemli parçaları (onlar olmadan hiçbir şey çalışmaz) işlemci ve bellek yönetim bölümleridir. Bellek yönetimi, bellek modüllerinin alanlarını ve takas alanını, süreçler ile çekirdeğin bölümleri ve tampon önbelleği için ayarlar. Süreç yönetimi ise süreçleri yaratır, işlemcide etkin olan süreçleri değiştirerek çokgörevliliği sağlar.

Çekirdeğin en alt seviyesinde, çekirdeğin desteklediği donanımlar için gerekli olan sürücüler bulunmaktadır. Dünyada çok çeşitli donanım bulunmasından dolayı, donamın sürücüleri de çok büyük bir çeşitlilik göstermektedir. Donanımların, yazılımlar tarafından denetlenen parçaları sıklıkla benzerlik göstermektedir. Bu sayede aynı işlevleri destekleyen sürücüler arasında bir sınıflama yapmak mümkün olmaktadır. Bu sınıflandırmadaki her bir sürücü kendi aygıtını yönetmek için gerekli olan yazılımın haricindeki bölümlerde çekirdeğin aynı parçasındaki aynı yazılımı kullanır. Örneğin: Bütün disk sürücüleri temelde aynı işlevi yerine getirir: sürücüyü başlatmak, N sektörünü okumak ve yazmak gibi.

Çekirdeğin içinde bulunan benzer özelliklere sahip bazı yazılım hizmetleri aynı sınıflar içinde özetlenmiştir. Örneğin çeşitli ağ protokolleri tek bir BSD soket kütüphanesi içinde özetlenmişlerdir. Başka bir örnek de sanal dosya sistemi (VFS) katmanıdır ve kendi gerçekleştirdiği dosya sistemi işlevlerini özetler. Her bir dosya sistemi türü, her bir dosya sisteminin gerçekleştirmesi gereken işlevleri sağlar. Bağımsız işlevler dosya sistemi ile ilişkiye girdiği zaman bilgiler VFS üzerinden uygun dosya sistemi sürücüsüne gider.