Multiprogrammation

On appelle multiprogrammation une forme élémentaire de traitement parallèle qui permet d'exécuter plusieurs programmes simultanément sur un uniprocesseur. Il ne peut y avoir qu'un seul processeur et l'exécution simultanée de plusieurs programmes est impossible. Au lieu de cela, le système d'exploitation exécute une partie d'un programme, puis une partie d'un autre, et ainsi de suite. Pour l'utilisateur, il semble que tous les programmes s'exécutent en même temps. Le système d'exploitation peut provoquer une interruption si la machine est capable de le faire. Après un certain temps, le programme sera exécuté pendant une certaine durée, le contrôle sera rétabli et le programme suivant sera exécuté pendant la même durée. L'absence d'un tel mécanisme signifie que le système d'exploitation ne peut choisir que de commencer à exécuter des programmes avec l'espoir, mais non la certitude, qu'il finira par rendre le contrôle.

Une machine capable de protéger la mémoire signifie que les bogues dans les programmes sont moins susceptibles d'affecter l'exécution des autres. Sans protection de la mémoire, un programme pourrait altérer le contenu de la mémoire attribuée à un autre programme ou la mémoire attribuée aux systèmes d'exploitation. Les pannes de système peuvent être perturbatrices et difficiles à diagnostiquer, car il n'est pas toujours évident de savoir quel programme est responsable. Voir également Multithreading et Multitasking.