Chapitre 4 : Synchronisation entre processus


Introduction

Les systèmes multiprogrammés et temps-partagé autorisent la présence de plusieurs processus en même temps dans le système. Il en résulte une nouvelle situation qui n’existait pas auparavant dans les systèmes monoprogrammés. En effet, dans ce type de systèmes on ne pouvait avoir qu’un seul programme chargé à la fois dans la mémoire centrale. Ce programme avait, pendant son exécution, à sa disposition l‘ensemble de ressources disponibles :

Alors que les processus présents à un moment donné dans un système multiprogrammés / temps-partagé, ont à partager entre eux les ressources disponibles au niveau du système. De même, certains de ces processus coopèrent ensembles pour satisfaire les besoins d’une seule application. Cette coopération passe très souvent par l’utilisation et le partage de données communes.
Le partage de ressources et l’utilisation de données communes posent de sérieux problèmes. Le système d’exploitation doit se munir de techniques et d’outils permettant de contrôler l’accès et l’utilisation de ces ressources. Ils doivent garantir l’absence de blocage et un partage équitable d’une part et offrir, d’autre part, des garanties quant à la validité des résultats.