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.
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
parçaları 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
kontrol edilen 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 getirirler: 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
servisleri 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.