Os computadores modernos têm uma característica em comum – permitir a execução de múltiplas tarefas ao mesmo tempo. Neste sentido, os diversos aplicativos que são executados para promover a realização destas tarefas são organizados em um número determinado de processos sequenciais. No contexto dos sistemas operacionais, este conceito é definido como multiprogramação.
Quando um novo aplicativo é codificado toda a complexidade de gestão da execução dos processos é abstraída, já que cabe ao sistema operacional a responsabilidade pela gerência do conjunto de processos através do controle do uso compartilhado e concorrente de recursos, como processador e memória.
Na prática, o conceito de multiprogramação pode ser observado pelo usuário quando este alterna entre programas que estão sendo executados através das janelas do Microsoft Windows. É comum usuários manterem abertos diversos programas simultaneamente, navegando na internet ao mesmo tempo em que mantém o leitor de e-mails ou o editor de texto em execução, por exemplo.