La primera generación de sistemas operativos utilizaba procesamiento por lotes donde las tareas se agrupaban y ejecutaban de forma secuencial. La segunda generación introdujo la multiprogramación para mejorar el rendimiento mediante el uso de múltiples procesadores. La tercera generación soportó diferentes modos como lotes, tiempo compartido y tiempo real. La cuarta generación presentó máquinas virtuales que ocultan el hardware real del usuario y proveen una interfaz gráfica.