Există două tipuri principale de software: software de sistem și software de aplicație. Software-ul de sistem se referă la un program care face munca hardware a calculatorului, în vreme ce software-ul aplicației este un software care îndeplinește o sarcină specifică sarcini. Software-ul de sistem este, în principiu, sistemul de operare al computerului și este în mod tipic cuplat cu hardware-ul. Software-ul de aplicații cuprinde o mare colecție de aplicații care sunt construite pentru sarcini specifice.
Software-ul de sistem are, de obicei, diverse componente care realizează o anumită activitate. De exemplu, sistemul de intrare și ieșire de bază gestionează fluxul de instrucțiuni între diferitele componente hardware și sistemul de operare. Un program de încărcare încarcă sistemul de operare principal în memorie atunci când computerul pornește. Driverele de dispozitiv sunt, de asemenea, componente ale software-ului de sistem care controlează anumite dispozitive hardware. Software-ul de sistem este uneori numit software de nivel scăzut, deoarece rulează la nivelul cel mai de bază al unui computer.
Aplicația software, pe de altă parte, permite utilizatorilor de computere să îndeplinească diverse sarcini. Când se deschide un program de aplicație, acesta rulează în interiorul sistemului de operare până când acesta este închis. Există nenumărate tipuri de programe de aplicații, inclusiv aplicații Web, aplicații desktop și multe altele. Exemple tipice de aplicații software includ foi de calcul, procesoare de text și playere media, printre altele.