INFO622 : Systèmes de synchronisation et Processus
Aller à la navigation
Aller à la recherche
CM1 : Introduction
- Banque virtuelle : exemple de condition de concurrence. programme ``banqueVirtuelle.c``.
CM2 : Processus vs Threads, exclusion mutuelle I
- Entêtes de fonctions POSIX (I) : fonctions_POSIX_1.pdf. - Exemple d'utilisation du fork : programme ``exFork.c``. - Exemple d'utilisation de threads (compiler avec l'option -lpthread) : programme ``exThread.c``. - Exemple d'attente active avec des threads (compiler avec l'option -lpthread) : programme ``attenteActive.c``.
CM3 : Sémaphores et mutex
- Entêtes de fonctions POSIX (II) : fonctions_POSIX_2.pdf. - Implémentation du problème "producteurs/consommateurs" avec sémaphores et mutex (compiler avec l'option -lpthread) : programme ``prod_cons.c``.
CM4 : Sémaphores POSIX et mémoire partagée
- Entêtes de fonctions POSIX (III) : fonctions_POSIX_3.pdf. - Sémaphores non nommés avec threads (compiler avcec l'i: programme ``semThread.c``. - Sémaphores nommés avec processus distincs (compiler avec l'option -lpthread) : programme ``createur.c``. programme ``destructeur.c``. programme ``gestionnaire.c``. programme ``parleur.c``. - Mémoire partagée (compiler avec l'option -lrt) : programme ``mp_lecture.c``. programme ``mp_affichage.c``.
CM5 : Interblocages
- Banque virtuelle 2 : exemple d'interblocage (compiler avec l'option -lpthread) : programme ``banqueVirtuelle.c``.
CM6 : VAriables de condition et barrières de synchronisation
- Implémentation du problème producteur/consommateur avec variables de condition (compiler avec l'option -lpthread) : programme ``prodCons_cnd.c``. - Exemple simple d'utilisation d'une barrière de synchronisation (compiler avec l'option -lpthread) : programme ``barriere.c``.
TD :
- [ http://lama.univ-savoie.fr/~provencal/INFO622/TD/TD1.pdf Première feuille de TD.] - [ http://lama.univ-savoie.fr/~provencal/INFO622/TD/TD2.pdf Deuxième feuille de TD.] - [ http://lama.univ-savoie.fr/~provencal/INFO622/TD/TD3.pdf Troisième feuille de TD.] - [ http://lama.univ-savoie.fr/~provencal/INFO622/TD/TD4.pdf Quatrième feuille de TD.]
Exercices personnels
- [ http://lama.univ-savoie.fr/~provencal/INFO622/exo/devoir1.pdf Exercice personnel #1.] - [ http://lama.univ-savoie.fr/~provencal/INFO622/exo/sol_devoir1.c Une solution de l'exercice personnel #1.] - [ http://lama.univ-savoie.fr/~provencal/INFO622/exo/devoir2.pdf Exercice personnel #2.] - [ http://lama.univ-savoie.fr/~provencal/INFO622/exo/sol_devoir2.c Une solution de l'exercice personnel #2.]
Entêtes de fonctions
- [ http://lama.univ-savoie.fr/~provencal/INFO622/fct_posix/fonctions_POSIX_1.pdf Fork et création de threads.] - [ http://lama.univ-savoie.fr/~provencal/INFO622/fct_posix/fonctions_POSIX_2.pdf Sémaphores et mutex.] - [ http://lama.univ-savoie.fr/~provencal/INFO622/fct_posix/fonctions_POSIX_3.pdf Mémoire partagée.] - [ http://lama.univ-savoie.fr/~provencal/INFO622/fct_posix/fonctions_POSIX_3.pdf Variables de condition et barrières de synchronisation.]