Un sistema operativo gestiona los recursos de hardware y provee servicios a los programas de aplicación. Debe reconocer la entrada del teclado, enviar información a pantallas y controlar archivos, directorios y periféricos. La historia de los sistemas operativos comenzó con programas simples en las décadas de 1940-1950 y evolucionó hacia interfaces gráficas de usuario amigables en los 1980s con el lanzamiento del Macintosh de Apple.