Next: Mode d'utilisation des ressources Up: Cours Système Previous: Utilisation de fcntl pour

Algorithmes Distribués & Interblocages

 

Ce chapitre introduit les problèmes liés à la gestion de processus concurrents. Le problème à resoudre est le partage de ressources entre différents processus asynchrones. Les I.P.C. et les verrous sont deux types d'outils permettant le partage asynchrone de ressources entre processus.

Prenons un exemple simple pour décrire les problèmes de partages.

Problème: il y a une rivière que l'on peut traverser par un gué fait de pierre alignées, où il n'est pas possible de se croiser, et il n'est pas possible de faire demi-tour. Comment doit-t-on organiser le passage ?

Solutions:

  1. regarder avant de traverser
  2. si deux personnes arrivent en même temps sur chaque rive, si elles avancent en même temps tex2html_wrap_inline5855 interblocage si elles attendent en même temps tex2html_wrap_inline5855 interblocage
  3. Un remède: un côté prioritaire tex2html_wrap_inline5855 famine. En effet si le coté OUEST est prioritaire et qu'un flot continu de personnes arrive de ce côté, les personnes à l'EST sont bloquées indéfiniment.
  4. Une solution: alterner les priorités.

Pour des ressources système comme les fichiers, le partage n'est pas géré par le SGF. Il faut donc un mécanisme de partage : les verrous, qui permettent un partage dynamique et partiel (portions de fichiers). Pour un partage entre utilisateurs, on utilise plutôt des outils comme SCCS, RCS.





Dominique REVUZ
Mon Feb 2 12:10:31 MET 1998
Une Bug Un mail Merci