Bilgisayar yazılımları genel olarak üç ana grupta incelenebilir.
Bilgisayarın kendisinin işletilmesini sağlayan, işletim sistemi, derleyiciler (compilers) (Yazılım programında, yazılan programı makine diline çeviren program), çeşitli donatılar (facility) gibi yazılımlardır.
Çekirdek işletim sisteminin en temel parçasıdır. Burada çekirdek ile ilgili farklı yaklaşımlar olduğunu yani yazılım karar verme ve programlama paradigması mevcut olsa da bir işletim sistemi çekirdeğinin esas görevi bilgisayar donanımı ile kullanıcıya ve kullanıcıya yazılım veya donanım üreten üreticilere arayüz oluşturmak ve kaynakların yönetilmesi ile ilgili birimleri idare etmektir.
Bu kullanıcıların işlerine çözüm sağlayan örneğin çek, senet, stok kontrol, bordro, kütüphane kayıtlarını tutan programlar, bankalardaki müşterilerin para hesaplarını tutan programlar gibi yazılımlardır.
Bütün sistem programları içinde en temel yazılım işletim sistemidir ki, bilgisayarın bütün donanım ve yazılım kaynaklarını kontrol ettiği gibi, kullanıcılara ait uygulama yazılımlarının da çalıştırılmalarını ve denetlenmelerini sağlar.
Herhangi bir dilde yazılan programı makine diline çeviren yazılımlardır.