Multiprogrammer

Définition, exemples et bonnes pratiques

À retenir

  • Vise à supprimer les temps morts du processeur.
  • Permet la cohabitation de plusieurs logiciels dans la mémoire vive (RAM).
  • Repose sur un mécanisme d'alternance ultra-rapide des tâches.

Consiste à concevoir ou exécuter plusieurs programmes de manière à ce qu'ils partagent les ressources d'un seul et même processeur. L'idée est de basculer si rapidement d'une tâche à l'autre que l'utilisateur a l'impression que tout fonctionne en même temps, comme un chef de cuisine qui surveille plusieurs casseroles simultanément.

Étymologie

Issu du préfixe latin multi- (nombreux) associé au verbe programmer. Le concept est apparu dans les années 1960 avec les premiers systèmes d'exploitation capables de charger plusieurs travaux en mémoire pour optimiser l'usage du processeur (CPU).

Exemples d'usage

  • Le fonctionnement d'un système d'exploitation moderne (Windows, macOS, Linux) qui gère des dizaines d'applications ouvertes.
  • Un serveur web qui commence à préparer une page pour un utilisateur pendant qu'il attend des données pour un autre utilisateur.

Cas d'usage

Ce concept est central dans la conception des systèmes d'exploitation et des logiciels serveurs. Il intervient dès qu'il est nécessaire de maximiser le rendement d'une machine en évitant que le processeur ne reste inactif pendant qu'un programme attend une entrée (clavier) ou une sortie (disque dur).

Bonnes pratiques

Lorsqu'on développe dans un tel environnement, il faut veiller à la gestion de la mémoire pour éviter que les programmes n'empiètent les uns sur les autres. Il est également crucial de gérer les priorités pour que les tâches essentielles ne soient pas bloquées par des processus moins importants.

Synonymes

programmation concurrente multitâche

Antonymes

monoprogrammation exécution séquentielle

Conseil

Pour bien comprendre le concept, imaginez que chaque programme est un livre ouvert sur un bureau (la mémoire). Multiprogrammer, c'est la capacité du lecteur (le processeur) à lire quelques lignes d'un livre, puis de passer au suivant dès qu'il doit réfléchir ou chercher une information, sans jamais fermer les autres livres.

Questions fréquentes

Quelle est la différence avec le multitâche ?

Le multitâche est la vision utilisateur (faire plusieurs choses à la fois), tandis que multiprogrammer est la technique informatique permettant de charger et d'alterner ces programmes en mémoire.

Est-ce que cela ralentit l'ordinateur ?

Au contraire, cela optimise l'efficacité globale en s'assurant que le processeur travaille toujours au lieu d'attendre inutilement.