Vous êtes sur la page 1sur 6

Chapitre2 : Ordonnancement des processus

Partie1 : Cycle de vie d'un processus

Cycle de vie d'un processus : 3 phases

1. Création (génération du PCB)

 Lancement d'un programme : Cela peut se produire via une commande utilisateur ou à travers l'interface
graphique du bureau.
 Création dynamique du processus : Sous le système Unix, la fonction fork() est utilisée pour créer
dynamiquement un nouveau processus. Ce processus nouvellement créé a un PCB (Process Control Block)
associé, qui contient des informations essentielles sur le processus.

2. Vie du processus

 Existe dans le système : Le processus existe dans le système et dispose d'un PCB pour enregistrer son état actuel.
 Géré par le système : Pendant cette phase, le système d'exploitation prend en charge la gestion du processus.
Cela inclut l'ordonnancement des processus, la gestion des ressources, et la commutation de contexte entre les
processus en cours d'exécution.

3. Fin du processus (destruction du PCB)

 Fin normale : Le processus atteint logiquement sa dernière instruction et se termine normalement. À ce stade, le
système d'exploitation procède à la libération des ressources allouées et détruit le PCB associé.
 Fin anormale : Le processus peut se terminer de manière anormale en raison d'une erreur d'exécution ou d'une
intervention de l'utilisateur pour l'arrêter. Même dans ce cas, le système d'exploitation s'occupe de la libération
des ressources et de la destruction du PCB.
 Cas particulier : Certains processus peuvent ne jamais se terminer en raison d'anomalies telles qu'une boucle
infinie. Dans ce cas, le système d'exploitation peut prendre des mesures spécifiques pour gérer ces situations, par
exemple, l'utilisateur peut être informé de l'existence d'un processus en boucle infinie.

En résumé, le cycle de vie d'un processus passe par les phases de création, vie active, et fin, avec la création et la
destruction du PCB marquant les transitions entre ces phases. Le système d'exploitation joue un rôle crucial dans
la gestion et la supervision de ces processus tout au long de leur existence.
États d'un processus

1. Nouveau (Création) : Le processus est en cours de création. Cela peut se produire lors du lancement d'un
programme ou de la création dynamique d'un processus (par exemple, avec la fonction fork() sous Unix).
2. En exécution : Le processus est actuellement en train d'utiliser le CPU. Sur un processeur donné, il ne peut y
avoir au plus qu'un seul processus en cours d'exécution à un moment donné.
3. En attente : Le processus est en attente qu'un événement spécifique se produise. Cet événement peut être une
opération d'E/S (Entrée/Sortie), la réception d'un signal, ou toute autre condition définie. Pendant cette période
d'attente, le CPU peut être attribué à d'autres processus.
4. Prêt : Le processus est placé dans la file d'attente des processus prêts, en attente d'être affecté au processeur. Il
est prêt à s'exécuter dès que le CPU lui est attribué.
5. Terminé : Le processus a terminé son exécution. Cela peut se produire lorsque le processus atteint une
instruction de retour (RET) ou une instruction de retour d'interruption (RETI). Une fois terminé, le processus
entre dans cet état de terminaison.

1
En résumé, un processus peut traverser différents états au cours de son cycle de vie, passant de l'état de création
à l'exécution, puis éventuellement en attente, prêt, et enfin à l'état terminé. Le système d'exploitation gère ces
transitions d'état en fonction des événements et des conditions associés à chaque processus.

Diagramme État-Transitions d'un Processus

Description des États et Transitions :

1. New : Le processus est en cours de création. Le noyau a terminé la création du processus.


2. Ready : Le processus est prêt à s'exécuter et est placé dans la file d'attente des processus prêts.
3. Running : Le dispatcher charge le processus sur le CPU, et il est en cours d'exécution.
4. Blocked : Le processus est bloqué, généralement en raison d'une opération d'E/S ou d'une attente passive.
5. Unblocked on : L'événement attendu se produit, ce qui débloque le processus.
6. Terminated : Le processus se termine, soit volontairement, soit en raison d'une condition exceptionnelle.

Ce diagramme illustre les états possibles d'un processus et les transitions entre ces états en réponse à des
événements tels que des interruptions matérielles, des appels système, des opérations d'E/S, et la terminaison du
programme.

Transitions des États d'un Processus :

1. En exécution → En attente : Cette transition a lieu lorsque le processus ne peut pas continuer son exécution car
il a besoin d'une ressource qui n'est pas disponible. Le processus passe à l'état d'attente en attendant la
disponibilité de la ressource.
2. En exécution → Prêt : Cette transition a lieu lorsque le processus a terminé le temps imparti par le système
d'exploitation pour son exécution. Le processus peut passer à l'état prêt pour permettre à d'autres processus de
s'exécuter. Cela peut également se produire si un processus plus urgent doit être exécuté (par exemple, un
processus du système d'exploitation).
3. Prêt → En exécution : Signale que le système d'exploitation a sélectionné un processus prêt pour l'exécuter. Le
processus passe de l'état prêt à l'état d'exécution.
4. En exécution → Terminé : Indique que le processus a terminé son exécution. Cette transition marque la fin du
processus.

2
5. En attente → Prêt : Cette transition a lieu dès que le processus n'a plus de raison d'être bloqué, par exemple,
lorsque les données qu'il attend deviennent disponibles. Le processus passe de l'état d'attente à l'état prêt.
6. Prêt → En exécution : A lieu lorsque l'événement attendu par le processus ne peut se réaliser, rendant inutile de
faire patienter davantage ce processus. Il est donc préférable de le terminer pour éviter un interblocage.

Ces transitions reflètent les différentes conditions et événements qui peuvent affecter le cycle de vie d'un
processus dans un système d'exploitation. Les changements d'état sont gérés par le système d'exploitation pour
optimiser l'utilisation des ressources et la performance du système.

Diagramme d'états sous UNIX

Le diagramme d'états que semble représenter les différents états qu'un processus peut traverser sous le système
d'exploitation UNIX. Voici une explication de chaque état :

1. Création (Creation) :
 Le processus est en cours de création, mais il n'a pas encore été entièrement initialisé ou prêt à être
exécuté.
2. Prêt (Ready) :
 Le processus a été créé et est prêt à être exécuté, mais le processeur ne lui a pas encore été attribué.
Il attend sa chance pour être exécuté par le planificateur de tâches.
3. Actif (Running) :
 Le processus est actuellement en cours d'exécution sur le processeur. Il exécute ses instructions.
4. Bloqué (Blocked) :
 Le processus est bloqué en raison d'une attente d'un événement particulier, comme une opération
d'entrée/sortie (E/S) ou une ressource. Il ne peut pas continuer son exécution jusqu'à ce que cet
événement se produise.
5. Zombie :
 Le processus a terminé son exécution, mais ses informations de statut sont encore nécessaires pour
qu'un processus parent puisse les récupérer. C'est un état transitoire entre l'exécution et la
destruction complète.
6. Destruction (Termination) :
 Le processus a été complètement terminé. Toutes ses ressources ont été libérées, et il n'est plus
présent dans la table des processus du système.

Ces états représentent le cycle de vie d'un processus sous UNIX, de sa création à sa destruction. La
transition entre les états est souvent gérée par le noyau du système d'exploitation en réponse à des
événements tels que des interruptions, des appels système, ou des changements d'état internes au processus.

3
Files d'Attente dans un Système Multitâche :

Dans un système multitâche où plusieurs processus sont en cours simultanément, la gestion des processus est
essentielle pour optimiser l'utilisation du processeur fonctionnant en temps partagé. Pour cela, le système
d'exploitation maintient plusieurs files d'attente, notamment :

File d'Attente des Processus Prêts :


 Cette file d'attente contient tous les processus en attente d'exécution par le processeur.
 Les processus qui sont prêts à être exécutés, mais qui attendent leur tour, sont placés dans cette file
d'attente.
File d'Attente de Périphérique :
 Pour réguler les demandes d'allocation des différents périphériques, le système d'exploitation utilise une
file d'attente distincte pour chaque périphérique.
 Lorsqu'un processus demande une opération d'entrée/sortie (E/S), il est placé dans la file d'attente
correspondante au périphérique requis.
 Cette file d'attente permet une gestion ordonnée des accès aux périphériques, évitant les conflits et
assurant une utilisation efficace des ressources.

Pourquoi des files d'attente dans un OS ?

Les files d'attente dans un système d'exploitation (OS) servent à plusieurs fins cruciales liées à la gestion des
ressources et des processus. Voici quelques raisons pour lesquelles les files d'attente sont utilisées dans un OS :

 Partage de Ressources :
o Les files d'attente permettent de gérer le partage des ressources entre les différents processus.
Dans un système où plusieurs processus peuvent demander l'accès à une ressource limitée, les
files d'attente aident à ordonner et à réguler l'accès.
 Politique de Gestion des Ressources :
o Les files d'attente aident à mettre en œuvre une politique de gestion des ressources définie par
le système d'exploitation. Cela peut inclure des politiques telles que le "premier arrivé, premier
servi" ou la priorité basée sur des critères spécifiques.
 Attente pour l'Utilisation de Ressources :
o Les files d'attente de gestion des ressources sont utilisées pour maintenir une liste ordonnée des
processus qui attendent d'utiliser une ressource particulière. Cela assure une utilisation
équitable des ressources disponibles.
 Transition d'États du Processus :
o Les files d'attente facilitent le passage des processus d'un état à un autre. Par exemple, un
processus peut passer de l'état "prêt" à "en attente" lorsqu'il attend l'accès à une ressource, et
vice versa.
 Changement d'État des Ressources :
o Les files d'attente peuvent également être utilisées pour gérer l'état des ressources. Par
exemple, une file d'attente de demande de disque peut être utilisée pour ordonner les demandes
d'accès au disque, assurant ainsi un accès ordonné et évitant les conflits.
 Ordonnancement des Processus :
o Les files d'attente de processus prêts aident à déterminer quel processus sera exécuté en
priorité par le processeur. L'ordonnancement est souvent basé sur des algorithmes spécifiques,
et les files d'attente facilitent la mise en œuvre de ces algorithmes.

4
Résumer de cette partie
Cycle de vie d'un processus

Cycle de vie d'un processus (3 phases):

1. Création (génération du PCB)


 Lancement d'un programme via commande ou interface graphique.
 Création dynamique du processus avec la fonction fork() sous Unix.
2. Vie du processus
 Existence dans le système avec un PCB.
 Géré par le système (ordonnancement, gestion des ressources).
3. Fin du processus (destruction du PCB)
 Fin normale (exécution logique jusqu'à la dernière instruction).
 Fin anormale (erreur d'exécution, arrêt par l'utilisateur).
 Cas particulier : Ne se termine jamais en raison d'une anomalie comme une boucle infinie.

États d'un processus

États d'un processus (5):

1. Nouveau (Création)
2. En exécution
3. En attente
4. Prêt
5. Terminé

Diagramme État-Transitions d'un Processus

 États:
1. New
2. Ready
3. Running
4. Blocked
5. Unblocked on (événement attendu)
6. Terminated
 Transitions:
 Nouveau → Prêt → En exécution → Bloqué → Débloqué sur → Terminé

Transitions des États d'un Processus

 En exécution → En attente (manque de ressource)


 En exécution → Prêt (temps imparti écoulé ou processus plus urgent)
 Prêt → En exécution (sélection par le système)
 En exécution → Terminé
 En attente → Prêt (attente de ressource levée)
 Prêt → En exécution (événement attendu impossible)

5
Diagramme d'États sous UNIX
 États: Création, Prêt, Actif, Bloqué, Zombie, Destruction
 Transition de l'état de création à la destruction, représentant le cycle de vie sous UNIX.

Files d'Attente dans un Système Multitâche

 Gestion des processus dans un système multitâche en temps partagé.


 Files d'attente :
 File d'attente des processus prêts (ordonnancement CPU).
 File d'attente de périphérique (régulation des demandes d'E/S).

Rôle des Files d'Attente dans un OS

 Partage de ressources entre processus.


 Mise en œuvre de politiques de gestion des ressources.
 Attente ordonnée pour l'utilisation de ressources.
 Gestion des transitions d'états du processus.
 Gestion des changements d'état des ressources.
 Ordonnancement des processus.

En conclusion, cette partie explore le cycle de vie des processus, les différents états qu'ils traversent,
les transitions entre ces états, et l'utilisation de files d'attente pour gérer efficacement les processus et
les ressources dans un système d'exploitation multitâche.

Vous aimerez peut-être aussi