« INFO622 : Systèmes de synchronisation et Processus » : différence entre les versions
Aller à la navigation
Aller à la recherche
Aucun résumé des modifications |
|||
Ligne 37 : | Ligne 37 : | ||
== Déroulement (2016-2017) == |
== Déroulement (2016-2017) == |
||
- CM1 : |
- CM1 : Multiprogrammation |
||
- Introduction à la multiprogrammation |
- Introduction à la multiprogrammation |
||
- Condition de concurrence |
- Condition de concurrence |
||
Ligne 55 : | Ligne 55 : | ||
- [http://lama.univ-savoie.fr/~provencal/enseignement/INFO622/TD/TD1-sol/q3e.c Solution question 3e)] |
- [http://lama.univ-savoie.fr/~provencal/enseignement/INFO622/TD/TD1-sol/q3e.c Solution question 3e)] |
||
- CM2 : Processus et threads |
|||
- Commandes : fork, waitpid, wait. |
|||
- Threads, définition, principe, fonctionnement, librairie pthread. |
|||
- Méthodes d'exclusion mutuelle. |
|||
= Archives = |
= Archives = |
Version du 16 janvier 2017 à 09:23
- Responsable pour 2015--2016: Xavier Provençal
- Intervenants : Xavier Provençal (CM/TD/TP), Rodolphe Lepigre (TD/TP)
Ouvrage de référence
- Andrew Tanenbaum, Systèmes d'exploitation. Principalement les chapitres 2 et 6.
Documentation remise en classes
- Entêtes de fonctions POSIX (I).
TP
À venir
Déroulement (2016-2017)
- CM1 : Multiprogrammation - Introduction à la multiprogrammation - Condition de concurrence - Section critique. - Banque virtuelle : exemple de condition de concurrence - programme ``banqueVirtuelle.c``.
- TD1 : - Énoncé du TD1 (en salle machine). - Solution question 1a) - Solution question 2a) - Solution question 2c) - Solution question 2e) - Solution question 3a) - Solution question 3d) - Solution question 3e)
- CM2 : Processus et threads - Commandes : fork, waitpid, wait. - Threads, définition, principe, fonctionnement, librairie pthread. - Méthodes d'exclusion mutuelle.
Archives
Déroulement (2015-2016)
- CM1 : - Introduction à la multiprogrammation - Condition de concurrence - Section critique. - Banque virtuelle : exemple de condition de concurrence - programme ``banqueVirtuelle.c``.
- TD1 : - Énoncé du TD1 (en salle machine). - Solution question 1a) - Solution question 2a) - Solution question 2c) - Solution question 2e) - Solution question 3a) - Solution question 3d) - Solution question 3e)
- CM2 : - Threads et processus. - Ressources physiques et espace d'adressage. - Commandes fork, wait, pthread_create, pthread_join. - programme ``zombies.c``. - Mécanismes d'exclusion mutuelle (première partie).
- TD2 : - Énoncé du TD2.
- CM3 : - Mécanismes d'exclusion mutuelle (deuxième partie) - Mutex et sémaphores - Programme verrou.c - Programme mutex.c - Programme ParleurCC.c (avec condition de concurrence) - Programme ParleurSem.c (sans condition de concurrence) - Communication interprocessus - Problème "producteurs/consommateurs"
- TD3 : - Énoncé du TD3.
- CM4 : - Sémaphores nommés vs non-nommés - Implémentation du duo "Parleur/gestionnaire" avec un sémaphore non-nommé. - Parleur/gestionnaire avec threads et sémaphore non-nommé. - Parleur/gestionnaire avec fork et sémpaphore non-nommé (non-fonctionnel). - Implémentation du duo "Parleur/gestionnaire" avec un sémphore nommé. - createur.c (crée un sémaphore nommé). - gestionnaire.c (fait des POST sur un sémaphore nommé). - parleur.c (fait des WAIT sur un sémaphore nommé). - destructeur.c (détruit un sémaphore nommé). - Mémoire partagée - Exemple simplissime d'utilisation de mémoire partagée. - mp_1.c (à compiler avec l'option -lrt). - mp_2.c (à compiler avec l'option -lrt).
- TD4 : - Énoncé du TD4.
- CM5 - Mémoire partagée (suite et fin) - Solution du devoir sur le comportement par défaut de la mémoire partagée lors d'un fork. - sol_devoir.c - Exemple un peu plus évolué d'utilisation de mémoire partagée. - mp_maStruct.h. - mp_affichage.c (à compiler avec l'option -lrt). - mp_lecture.c (à compiler avec l'option -lrt). - Variable de condition - Programme ``decrémenteur`` avec une variable de condition. - Implémentation de ``Producteur/consommateur`` avec des variables de condition. - Barrière de synchronisation - Exemple simplissime d'utilisation d'une barrière de synchronisation.
- TD5 - Énoncé du TD5.
- CM6 - Tubes Unix - tubeFork.c - fifoEcriture.c - fifoLecture.c - ficoLectureMultiple.c (utilisation de la fonction select)
- TD6 - Énoncé du TD5.
- CM7 - Tubes Unix (suite et fin) - Interblocages - banqueVirtuelle2.c