Bir Unix işletim sistemi çekirdek ve bazı sistem programlarından
oluşur. Bazı uygulama programları da vardır. Çekirdek işletim
sisteminin kalbidir.
[116]
Diskteki dosyaların izlerini tutar, programları başlatır ve yürütür,
belleği ve çeşitli süreçlerin kaynaklarını düzenler, ağdan paketleri
alır ve gönderir, vb... Çekirdek kendi başına çok az iş yapar, fakat
diğer servislerin kullanabileceği araçları sağlar. Ayrıca donanımlara
doğrudan ulaşan kişileri önleyerek, onları kendi sunduğu araçları
kullanmaya zorlar. Bu yolla çekirdek, kullanıcıları diğer kullanıcılara
karşı koruyacak bir yol izler. Çekirdek tarafından sağlanan bu araçlar
sistem çağrıları üzerinden kullanılır. Sistem programları işletim
sisteminin ihtiyacı olan çeşitli servisleri yerine getirmek için
çekirdek tarafından sağlanan bu araçları kullanırlar.
Sistem programları ve diğer bütün programlar kullanıcı kipi olarak
adlandırılan 'çekirdeğin en üst bölgesi' olan yerde çalışırlar.
Sistem programları ve uygulama programları arasındaki en önemli fark:
sistem programlarının işletim sisteminin çalışması için gerekli olan
yazılımlar olması, uygulama yazılımları ise sistemde faydalı ve
eğlenceli işlerin ( oyun ,vb..) yapılmasını sağlıyor olmasıdır.
Kelime işlemcisi bir uygulama programıdır. mount
ise bir sistem programıdır. Bunlar arasındaki farklar sadece
sınıflama işlemleri için önemlidir.
İşletim sistemleri bazı derleyicileri ve onların uygun
kütüphanelerini (Linux altındaki GCC ve C++ kütüphaneleri gibi)
ihtiva edebilirler. Bununla beraber bütün programlama dilleri bir
işletim sisteminin parçası olmak zorunluluğunda değildirler.
Belgeler ve bazen oyunlar da bir işletim sisteminin parçaları
olabilirler. Geleneksel olarak işletim sistemleri kurulum teybi
veya disklerinin içerisindeki programlar olarak tanımlanabilir;
bu tanım içerisinde Linux'ün durumu pek berrak değildir. Çünkü
Linux, bütün dünya üzerinde FTP sitelerinden de yayılmaktadır.