Un sistema operativo gestiona los recursos de hardware de un sistema informático y provee servicios a los programas de aplicación. Los primeros sistemas requerían que los programadores operaran directamente la máquina, pero hacia 1955 surgieron programas que podían usarse en diferentes hardware. Actualmente, los sistemas operativos gestionan las interacciones con el hardware de forma transparente para los desarrolladores de aplicaciones.