Logiciels Libres et Systèmes Embarqués


B.5. Conclusion

Comme nous l'avons vu, partager des fonctions entre les processus des différents processeurs peut être très contraignant. De plus, dans un projet de plus grande envergure, il faudra faire attention à :

  • désactiver les caches si on souhaite partager des données qui seront écrites par l'un ou l'autre processus.
  • la ré-entrance des fonctions communes. Cela signifie que deux processus peuvent faire appel à la même fonction en même temps sans que cela ne provoque d'incohérences. Typiquement, pour qu'une fonction soit réentrante, il faut qu'elle n'utilise pas de ressources globales ni de variables statiques (à moins qu'elle n'utilise un système de protection).

Enfin, il manque une chose fondamentale pour réaliser correctement une telle manipulation : l'exclusion mutuelle. Pour palier à l'absence matérielle de cette fonctionnalité, on peut utiliser par exemple l'algorithme de Peterson.