Las interrupciones son señales recibidas por el procesador de un ordenador para indicarle que debe interrumpir la ejecución actual y pasar a ejecutar código específico para tratar la situación. Pueden ser hardware o software. La multiprogramación permite ejecutar múltiples programas alternándolos rápidamente para aprovechar mejor los recursos cuando uno espera E/S. El tiempo compartido usa esto para dar a cada usuario una pequeña parte del tiempo de CPU.