Dwa główne typy oprogramowania komputerowego to oprogramowanie systemowe i oprogramowanie aplikacji. Oprogramowanie systemowe zapewnia platformę dla użytkowników do instalowania i uruchamiania oprogramowania, a składa się z wielu programów niezbędnych do płynnie uruchamiaj system komputerowy. Programy aplikacyjne są zaprojektowane do wykonywania określonych zadań, takich jak przetwarzanie tekstu, edycja wideo, arkusze kalkulacyjne i przeglądarki internetowe.
Każdy program aplikacji jest zależny od oprogramowania systemowego komputera, które zapewnia określoną funkcjonalność dla użytkownika. Istnieje kilka mniejszych programów użytkowych, zwanych programami narzędziowymi, które są zintegrowane z systemem operacyjnym w celu zarządzania zasobami sprzętowymi komputera, takimi jak dysk twardy, moduły pamięci, karty graficzne i audio.
Istnieje kilka głównych typów autonomicznych systemów operacyjnych. Niektóre z nich to Microsoft Windows, Apple Mac OS i Linux.
Microsoft Windows jest obecny na rynku od wczesnych lat 80-tych i przez lata ewoluował w liczne zaawansowane wersje. Mac OS został zaprojektowany specjalnie do użytku z komputerami marki Apple. Linux jest ogólnodostępnym, swobodnie dystrybuowanym systemem operacyjnym.
Spośród powyższych trzech systemów operacyjnych Linux jest jedynym systemem operacyjnym, który może być w pełni dostosowany przez programistów do ich specyficznych potrzeb z powodu kodu Open Source, zgodnie z ExplainingComputers.com.