Il software applicativo risolve uno specifico bisogno reale (probabilmente aziendale). Applica un computer per risolvere un problema reale.
Il programma di sistema fornisce servizi comunemente usati dalle applicazioni.
a) Applicazione batch - le transazioni sono memorizzate ed elaborate un gruppo alla volta. Un compilatore è un altro esempio di questo.
b) Applicazione interattiva - Un utente interagisce con l'applicazione tipicamente attraverso una tastiera e uno schermo. Altri dispositivi includono gamepad, joystick e mulino CNC ecc.
c) Event driven - I dispositivi IOT sono un esempio. L'applicazione risponde ad uno stimolo da un altro dispositivo o computer.
d) Background - il processo è continuo, non ha né inizio né fine. Tipicamente il controllo di macchine, treni, semafori ecc. Spesso con ridondanza completa per assicurare la continuità. Ad esempio un impianto di produzione di dentifricio, idealmente non si ferma mai, molti dei suoi sottoprocessi coinvolgono servo loop (leggere uno strumento, fare cambiamenti basati sull'input di molti strumenti, lettura e cambiamento sono continui).
Non esiste una linea dura tra queste classi. Posso presentare interattivamente un processo batch.