OS Chapter10
10. Processus en parallèle. Exclusion mutuelle. Sections critiques.
Sémaphores
10.1. Processus en parallèle
Les processus qui existent et qui sont simultanément exécutés dans le système calculateur sont parallèles. Les processus parallèles peuvent fonctionner en pleine indépendance (processus détachés) ou interagir entre eux (processus interactifs ou coopérants). Les processus interactifs présentent de l’intérêt pratique au sein des systèmes d’exploitation. Naturellement, une série de problèmes sont suscités par ce type de processus, qui seront examinés ultérieurement. Les processus interactifs peuvent fonctionner de manière synchrone (lorsqu’ un processus suspend son exécution jusqu’à ce qu’ un autre processus n’atteigne un point déterminé de son exécution) ou de manière asynchrone (lorsque les processus ne s’intéressent pas à l’état des autres). Chez les systèmes à multiprocesseurs il existe un parallélisme réel, lors duquel, à un moment donné, le nombre de processus exécutés simultanément est égal au nombre des éléments de processeur. Dans les systèmes à monoprocesseur, les processus s’exécutent en pseudoparallèle (quasi-parallèle) en partageant le processeur sur la base d’une stratégie déterminée, par exemple, le temps partagé.
L’évolution d’un processus dans le temps peut être décrit par une séquence de vecteurs d’état S0, S1, ... Si, où chaque vecteur Si est formé par le mot d’état du programme du processus (PSW), comportant les valeurs courantes du compteur ordinal et des registres de processeur accessibles au programmeur, ainsi que les variables du programme.
Autrement dit, le vecteur d’état comporte l’information de gestion du processus, nécessaire au processeur. Le vecteur d’état d’un processus indépendant ne peut être modifié qu’au cours de l’exécution de ce même processus. Lors des processus interactifs, le vecteur d’état d’un processus donné Р peut être modifié par l’évolution d’autres processus, qui se partagent certains des