« INFO622 : Systèmes de synchronisation et Processus » : différence entre les versions
Aller à la navigation
Aller à la recherche
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 37 : | Ligne 37 : | ||
[http://lama.univ-savoie.fr/~provencal/INFO622/CM5/banqueVirtuelle2.c programme ``banqueVirtuelle.c``.] |
[http://lama.univ-savoie.fr/~provencal/INFO622/CM5/banqueVirtuelle2.c programme ``banqueVirtuelle.c``.] |
||
CM6 : |
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) : |
- Implémentation du problème producteur/consommateur avec variables de condition (compiler avec l'option -lpthread) : |
||
[http://lama.univ-savoie.fr/~provencal/INFO622/CM6/prodCons_cnd.c programme ``prodCons_cnd.c``.] |
[http://lama.univ-savoie.fr/~provencal/INFO622/CM6/prodCons_cnd.c programme ``prodCons_cnd.c``.] |
||
Ligne 43 : | Ligne 43 : | ||
[http://lama.univ-savoie.fr/~provencal/INFO622/CM6/barriere.c programme ``barriere.c``.] |
[http://lama.univ-savoie.fr/~provencal/INFO622/CM6/barriere.c 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 : |
|||
[http://lama.univ-savoie.fr/~provencal/INFO622/CM7/tubeFork.c programme ``tubeFork.c``.] |
|||
- 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 ``fifoEcriture.c``.] |
|||
- 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``.] |
|||
TD : |
TD : |
||
Ligne 49 : | Ligne 57 : | ||
- [ http://lama.univ-savoie.fr/~provencal/INFO622/TD/TD3.pdf Troisiè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/TD4.pdf Quatrième feuille de TD.] |
||
- [ http://lama.univ-savoie.fr/~provencal/INFO622/TD/TD5.pdf Cinquième feuille de TD.] |
|||
Ligne 63 : | Ligne 72 : | ||
- [ 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_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 Mémoire partagée.] |
||
- [ http://lama.univ-savoie.fr/~provencal/INFO622/fct_posix/ |
- [ 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.] |
Version du 5 mars 2012 à 21:53
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.]