Les systèmes multi-tâches et multi-utilisateurs temps partagés essaient d'utiliser au mieux les ressources (notamment le processeur) afin que chacun ait l'impression d'avoir la machine pour lui seul. Les techniques utilisées sont du domaine de la programmation parallèle.