« INFO622 : Systèmes de synchronisation et Processus » : différence entre les versions

De Wiki du LAMA (UMR 5127)
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 48 : Ligne 48 :
- Exemple de programmes communicant à l'aide d'une tube nommé (fifo), créez d'abord la fifo avec la commande ``mkfifo`` :
- Exemple de programmes communicant à l'aide d'une tube nommé (fifo), créez d'abord la fifo avec la commande ``mkfifo`` :
[http://lama.univ-savoie.fr/~provencal/INFO622/CM7/fifoLecture.c programme ``fifoLecture.c``.]
[http://lama.univ-savoie.fr/~provencal/INFO622/CM7/fifoLecture.c programme ``fifoLecture.c``.]
[http://lama.univ-savoie.fr/~provencal/INFO622/CM7/fifoLecture.c programme ``fifoEcriture.c``.]
[http://lama.univ-savoie.fr/~provencal/INFO622/CM7/fifoEcriture.c programme ``fifoEcriture.c``.]
- Exemple d'utilisation de la fonction select pour surveiller en même temps les tubres "fifo1" et "fifo2" ::w
- Exemple d'utilisation de la fonction select pour surveiller en même temps les tubres "fifo1" et "fifo2" ::w
[http://lama.univ-savoie.fr/~provencal/INFO622/CM7/fifoLecture.c programme ``fifo2Lecture.c``.]
[http://lama.univ-savoie.fr/~provencal/INFO622/CM7/fifo2Lecture.c programme ``fifo2Lecture.c``.]


TD :
TD :

Version du 5 mars 2012 à 21:54

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``.

CM 7 : Tubes (pipe et fifo), fonction select

- Utilisation typique d'un tube non-nommé (pipe) par un père et son fils :
   programme ``tubeFork.c``.
- Exemple de programmes communicant à l'aide d'une tube nommé (fifo), créez d'abord la fifo avec la commande ``mkfifo`` :
   programme ``fifoLecture.c``.
   programme ``fifoEcriture.c``.
- Exemple d'utilisation de la fonction select pour surveiller en même temps les tubres "fifo1" et "fifo2" ::w
   programme ``fifo2Lecture.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.]
- [ http://lama.univ-savoie.fr/~provencal/INFO622/TD/TD5.pdf Cinquiè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_4.pdf Variables de condition et barrières de synchronisation.]
- [ http://lama.univ-savoie.fr/~provencal/INFO622/fct_posix/fonctions_POSIX_5.pdf Tube.]