Systemes d'exploitation

ChapitreMultiprogrammation

PagePrincipale :: DerniersChangements :: ParametresUtilisateur :: Vous êtes ec2-3-138-141-202.us-east-2.compute.amazonaws.com
<< Les processus PagePrincipale Approfondissement de la synchronisation entre processus >>

Programmation concurrentielle


Les processus ont été abordés comme des entités isolées n'ayant pour seul objectif que leur exécution sur le processeur, et n'interagissant pas avec le système ou avec d'autres processus. Pourtant, le mécanisme de threads autorise le partage de zones de la mémoire entre différents processus. De plus, des processus peuvent avoir besoin d'utiliser d'autres ressources communes, comme le montre la commande Unix suivante :
cat f1 f2 f3 | grep "text"
Ici, la commande cat réalise la concaténation du contenu des fichiers f1 f2 f3 passés en paramètres, et envoie son résultat via un pipe (l'opérateur | ) à la commande grep qui effectue une recherche séquentielle et affiche toutes les lignes contenant le texte fourni comme paramètre. Dans ce cas, les deux processus (cat et grep) partagent le pipe qui est une sorte de fichier virtuel dans lequel l'un lit et l'autre écrit. La généralisation de ce cas de partage de ressources conduit à une série de problèmes complexes d'interblocage ou de corruption de données qui nécessitent l'instauration de méthodes de synchronisation et d'exclusion mutuelle. C'est ce que nous allons étudier dans ce chapitre1.

  1. Le problème de la corruption de données?
  2. Les sections critiques?
  3. Le masquage des interruptions?
  4. L'attente active?
  5. L'attente passive?
  6. Exercices supplémentaires

Téléchargement des codes sources des exemples et des exercices du livre.
Posez vos questions et donnez votre avis

Commentaires [Cacher commentaires/formulaire]