Français | English

Le processus

Nous avons écrit le code source d'un programme et l'avons compilé pour obtenir un fichier exécutable, mais notre programme ne fonctionne toujours pas ! En effet, pour qu'il fonctionne, il faut encore qu'il soit chargé en mémoire de l'ordinateur et que le système aiguille le microprocesseur sur ses instructions. En effet, le microprocesseur ne sait qu'agir sur des suites binaires et c'est lui qui fait fonctionner le programme en exécutant ses instructions.

Lorsque le programme est lancé, il s'agit en fait d'une demande au système d'exploitation pour qu'il place les suites binaires en mémoire de l'ordinateur à partir du fichier exécutable, puis qu'il aiguille le microprocesseur sur la première instruction du programme. Le programme ainsi chargé en mémoire est appelé processus.

Mais les ordinateurs modernes peuvent exécuter plusieurs programmes à la fois, même s'il n'y a qu'un seul microprocesseur qui exécute des instructions, une à la fois. C'est qu'il y a une horloge électronique qui arrête le microprocesseur périodiquement et le ramène exécuter les instructions du système d'exploitation, qui est aussi un programme.

De cette façon, le système d'exploitation peut avoir plusieurs processus qui sont chargés en mémoire, mais un seul qui fonctionne à la fois. Cependant, lorsque le microprocesseur lui revient après avoir exécuté une partie des instructions d'un processus, il l'aiguille sur un autre qui peut maintenant fonctionner. En prêtant ainsi le microprocesseur à tour de rôle à chacun des programmes, nous avons l'impression que tous les programmes fonctionnent ensemble comme si chacun disposait d'un microprocesseur pour lui seul.

Il faut noter aussi qu'un système pourrait disposer de plus d'un microprocesseur. Dans ce cas, il y aurait effectivement plus d'un processus qui pourrait s'exécuter en même temps.

Et puis, comme le système d'exploitation récupère régulièrement le microprocesseur pour son propre compte, il peut s'occuper du partage des ressources entre les programmes. Par exemple, lorsque la souris est cliquée, le système d'exploitation vérifie la position du curseur et détermine dans quelle fenêtre il se trouve. Il compose alors un message à l'intention du programme à qui appartient la fenêtre et lui rend disponible, l'informant ainsi que la souris vient d'être cliquée dans sa fenêtre. Lorsque la souris est cliquée dans une fenêtre appartenant à un autre programme, c'est cet autre programme qui recevra le message. De cette façon, les actions de la souris sont traitées dans les programmes auxquels elles sont destinées. Il en va de même pour les appuis du clavier qui sont acheminés à la fenêtre active.