Monoprogrammation

Définition, exemples et bonnes pratiques

À retenir

  • Une seule tâche occupe le processeur et la mémoire à un instant T.
  • Le processeur reste souvent inactif pendant que le programme attend une action de l'utilisateur ou une lecture de disque.
  • C'est l'ancêtre direct de la multiprogrammation (multitâche).

La monoprogrammation est un mode de fonctionnement où un ordinateur ne traite qu'un seul programme à la fois. Imaginez un guichet unique dans une administration où l'employé doit terminer entièrement le dossier d'une personne avant de laisser la suivante s'approcher ; ici, le processeur attend que la tâche en cours soit finie pour passer à la suivante.

Étymologie

Le terme est composé du préfixe grec mono- (seul, unique) et de programmation. Il est apparu aux débuts de l'informatique pour décrire les systèmes d'exploitation rudimentaires qui ne savaient pas gérer plusieurs logiciels simultanément en mémoire vive.

Exemples d'usage

  • MS-DOS : Le système d'exploitation historique des PC où l'on ne pouvait lancer qu'un logiciel (ex: un traitement de texte) à la fois.
  • Microcontrôleurs simples : Certains petits circuits électroniques (comme un simple thermostat) qui exécutent une seule boucle de code en continu.

Cas d'usage

On retrouve ce concept principalement dans l'histoire de l'informatique (systèmes anciens) ou dans des systèmes embarqués très spécifiques où la simplicité et la prévisibilité sont plus importantes que la puissance de calcul partagée.

Bonnes pratiques

En monoprogrammation, il est crucial que le programme soit exempt de boucles infinies non contrôlées, car il bloque totalement la machine. De plus, comme le programme dispose de toutes les ressources (mémoire, processeur), il doit gérer lui-même ses interactions avec le matériel sans attendre d'aide complexe du système.

Synonymes

monotâche exécution séquentielle

Antonymes

multiprogrammation multitâche temps partagé

Conseil

Pour bien comprendre ce concept, essayez d'imaginer la frustration des premiers informaticiens qui devaient attendre qu'une impression de document soit terminée pour pouvoir recommencer à taper du texte. C'est cette contrainte qui a poussé l'invention des systèmes modernes.

Questions fréquentes

Est-ce que la monoprogrammation existe encore ?

Rarement sur nos ordinateurs ou smartphones, mais elle survit dans certains petits objets connectés très basiques.

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

Le multitâche donne l'illusion de faire plusieurs choses à la fois en jonglant très vite entre les programmes, alors que la monoprogrammation finit strictement une chose avant d'en commencer une autre.