un processus
1.Un processus

Un système d’exploitation permet l’exécution des programmes sur un ordinateur. Chaque programme exécuté est un processus

On commence donc par définir un processus. Un processus est l’entité qui correspond à l’exécution d’un programme.

un processus est défini par : 

• un espace mémoire : il contient les données ou variables, le code du programme et la pile d’instruction. 

• un compteur ordinal ou pointeur d'instruction : C’est le registre qui contient l’adresse mémoire de l’instruction en cours d'exécution ou prochainement exécutée. Une fois l'instruction chargée, il est automatiquement incrémenté pour pointer l'instruction suivante. 

• Une pile d'exécution qui est utilisée pour sauvegarder plusieurs valeurs, mais l’utilisation principale de pile est de garder la trace de l'endroit où chaque fonction active doit retourner à la fin de son exécution (les fonctions actives sont celles qui ont été appelées, mais n’ont pas encore terminé leur exécution). Un processus est un programme en cours d’exécution et il est exécuté par un ou plusieurs processeurs. Un programme peut être constitué d’un ou d’un ensemble de processus.

2. Espace d’adressage d’un processus 

Chaque processus est caractérisé par son espace d'adressage. L’espace d’adressage est l’ensemble d'adresses mémoires utilisées par le processus pour lire et écrire des données. Cet espace est formé de trois éléments 

• le Segment de données correspond à l’espace réservée pour les variables ou les données.

 le Segment de texte correspond à l’espace réservée au code du programme. 

 la Pile correspond à l’espace mémoire réservée à la pile utilisateur qui a été allouer à la création du processus.

 3. Etats d’un processus

La Figure 4 décrit le comportement d’un processus. Initialement, le processus est à l’état Nouveau c’est-à-dire que le processus est en cours de création. Une fois que le processus est créé il passe à l’état Prêt (Ready) il attend d’être affecté à une UC (Unité de Calcul) c’est-à-dire un processeur appelé aussi CPU (abréviation de Central Processing Unit). Notez, un processeur ne peut exécuter qu’un seul processus à la fois. Une fois le processus sélectionné par l’ordonnanceur (aussi appeler dispacher, répartiteur ou ordonnanceur du processeur, son rôle étant de choisir à quel processus sera alloué le processeur et pour quel laps (durée) de temps), il passe alors à l’état En exécution (Running) où les instructions sont en cours d’exécution. Un processus peut être interrompu. Dans ce cas, il retourne à l’état Prêt en attendant un nouvel accès au processeur. Un processeur peut attendre qu’un événement se produise (un signal , terminaison d’une E/S, ...), dans ce cas là, il va passer à l’état Bloqué (Sleep) jusqu’à l’arrivée de l’événement. Une fois l’événement arrivé, il retourne à l’état Prêt. Une fois que l’exécution du processus s’achève, il arrive à son état final Terminé.