İki ana yazılım türü vardır: sistem yazılımı ve uygulama yazılımı. Sistem yazılımı, bilgisayarın donanımını çalıştıran bir program anlamına gelirken, uygulama yazılımı belirli bir görevi yerine getiren bir yazılım veya birkaç görevler. Sistem yazılımı temel olarak bilgisayarın işletim sistemidir ve genellikle donanım ile birlikte gelir. Uygulama yazılımı, belirli görevler için oluşturulmuş geniş bir uygulama koleksiyonundan oluşur.
Sistem yazılımı genellikle belirli bir işi gerçekleştiren çeşitli bileşenlere sahiptir. Örneğin, temel giriş ve çıkış sistemi, farklı donanım parçaları ile işletim sistemi arasındaki talimat akışını yönetir. Bir önyükleme programı, bilgisayar başlatıldığında ana işletim sistemini belleğe yükler. Aygıt sürücüleri ayrıca belirli donanım aygıtlarını kontrol eden sistem yazılımının bileşenleridir. Sistem yazılımı bazen bilgisayarın en temel seviyesinde çalıştığı için düşük seviye yazılım olarak da adlandırılır.
Uygulama yazılımı ise bilgisayar kullanıcılarının çeşitli görevleri yerine getirmelerine izin verir. Bir uygulama programı açıldığında, kapanana kadar işletim sisteminin içinde çalışır. Web uygulamaları, masaüstü uygulamaları ve daha birçokları içeren sayısız uygulama programı vardır. Uygulama yazılımının tipik örnekleri, elektronik tabloları, kelime işlemcileri ve medya oynatıcıları içerir.