| Chapitre 2 : Les éléments de base |
Les opérations les plus importantes réalisées par le système sur les processus sont :
Dans la majorité des systèmes, on peut créer et détruire dynamiquement les processus.
La création d'un processus est accompagnée de la création et de l'initialisation de son descripteur.
Il existe des appels systèmes permettant de créer un processus, charger son contexte et lancer son exécution (fork, exec,. sous UNIX). Les processus peuvent ainsi créer d'autres processus.
Le processus qui créé un autre est appelé le processus père, le deuxième est appelé le processus fils. Ce dernier peut à son tour créer d'autres processus dont il devient le père.
Un processus a un seul père mais peut avoir plusieurs fils.
Les processus peuvent se terminer :
Ou ils peuvent être éliminés explicitement par d'autres processus (la primitive «kill» de UNIX).
Dans certains systèmes, la destruction d'un processus entraîne l'élimination de sa descendance alors que dans d'autres cette opération n'affecte pas les processus fils qui peuvent continuer indépendamment de leurs pères.
A la destruction d'un processus on libère toutes les ressources qu'il détenait. De même, son descripteur (BCP) est aussi libéré. Ainsi, le processus n'est plus dans le système.
Si un processus demande une ressource qui ne peut pas être allouée immédiatement alors le système le fait passer dans l'état «en attente» (bloqué) jusqu'à la disponibilité de cette ressource demandée.
Cette opération est réalisée sur un processus par le système quand il est en mesure de lui allouer la ressource qui l'attendait. Le processus est ainsi mis dans l'état prêt : le processus dispose de toutes les ressources nécessaires à sa continuation à l'exception de l'unité centrale.
Opérations sur les processus