Programmation Concurrente - Principes et outils pour la programmation multi-processus et multi-thread

IUT Informatique 2 -- UNSA

Objectif/Contenu :


Livres plus ou moins generaux sur le sujet, certains disponibles sur le site de  la BU de l'UFR Sciences, et sites web :

 Concepts des systemes d'exploitation. Systemes centralises; Systemes distribues.
     A. Tanenbaum. Intereditions, 1994 (ou bien, la 2nd edition 2001 en anglais "Modern Operating Systems" de A. Tanenbaum)
 Systemes d'exploitation.,
      J. Beauquier; B. Berard. Mc Graw Hill, 1990
 Advanced Linux Programming.
      Mark Mitchell, Jeffrey Oldham, and Alex Samuel, 2001
 Foundations of Multithreaded, Parallel, and Distributed Programming
      G. R. Andrews, Addison Wesley, 1999
 Concurrent Programming in Java: Design Principles and Patterns
     Doug Lea, Addison Wesley 1999
 Java concurrency in practice
     Brian Goetz, with Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, Doug Lea, Addison Wesley 2006
 Tutorial Java en ligne :
     Tutorial Java Concurrency
 Cours en ligne, ENST-Bretagne :
     Multithreading and Synchronisation in Java
 Cours en ligne, Master Ingenierie Informatique Paris 7 :
     Theorie et Pratique de la concurrence (un peu difficile sur certaines parties "theoriques")
 Cours en ligne, Michigan Technological University :
     Introduction to Operating Systems
 Cours en ligne Threads Java, Universite Nice Sophia-Antipolis :
     Supports de Cours / Programmation objet en Java


Cours 1: Introduction generale aux notions de processus, processus legers, threads et problemes de concurrence d'acces aux ressources

 Pour completer le large mais bref panorama donne en cours :

TP 1: Des petits programmes multi-thread en Java, pour "toucher" du doigt ce que c'est !


Cours 2: Definitions des problemes de concurrence, et etude de premiers outils pour la gerer

 Autres ressources:

TP 2: De l'entrelacement de threads et des manieres de resoudre ceci


Cours 3: D'autres outils de gestion de la concurrence - Resolution de quelques problemes types

 Autres ressources:

TP 3: Utilisation de semaphores, moniteurs, ...


Cours 4: Difficultes liees a l'utilisation d'outils de synchronisation - blocage

 Autres ressources:

TP 4: Comment gerer les problemes dus a l'interblocage, et mieux (!), faire en sorte qu'ils n'adviennent pas.


Des annales de sujets d'examen dans des enseignements proches, mais, dont le programme n'etait pas forcement strictement identique



Page maintenue par Francoise Baude @2008