INFO622 : Systèmes de synchronisation et Processus
Aller à la navigation
Aller à la recherche
- Responsable pour 2012--2013: Xavier Provençal
- Xavier Provençal (CM/TD/TP)
Ouvrage de référence
- Andrew Tanenbaum, Systèmes d'exploitation
Documentation remise en classes
- Entêtes de fonctions POSIX (I) : fonctions_POSIX_1.pdf. - Entêtes de fonctions POSIX (II) : fonctions_POSIX_2.pdf. - Entêtes de fonctions POSIX (III) : fonctions_POSIX_3.pdf. - Entêtes de fonctions POSIX (IV) : fonctions_POSIX_4.pdf. - Entêtes de fonctions POSIX (V) : fonctions_POSIX_5.pdf.
Déroulement (2012-2013)
CM1 : Introduction
- Banque virtuelle : exemple de condition de concurrence. programme ``banqueVirtuelle.c``.
CM2 : Processus vs Threads, exclusion mutuelle I
- Exemple d'utilisation du fork : programme ``exFork.c``. - Exemple d'utilisation de threads (compiler avec l'option -lpthread) : programme ``exThread.c``. - Exemple de récupération d'un valeur retournée par un thread. (compiler avec l'option -lpthread) : programme ``exThread2.c``.
CM3 : Producteur/Consommateur et Sémaphores
- Exemple d'attente active avec des threads (compiler avec l'option -lpthread) : programme ``attenteActive.c``. - Exemple d'utilisation d'un sémaphore par des threads (compiler avec l'option -lpthread) : programme ``semThread.c``.
CM4 : Sémaphores POSIX et mémoire partagée
- 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) : fichier entête ``mp_maStruct.h``. programme ``mp_lecture.c``. programme ``mp_affichage.c``.
CM5 : Variables de condition et barrières de synchronisation
- Exemple producteur/consommateur implémenté avec des sémaphores. Programme ``prodCons_sem.c``. - Exemple producteur/consommateur implémenté avec des variables de conditions et un mutex. Programme ``prodCons_cnd.c``. - Exemple d'utilisation d'une barrière de synchronisation. Programme ``barriere.c``.
CM6 : Tubes
- Exemple d'utilisation d'un tube non-nommé entre processus père et fils. Programme ``tubeFork.c``. - Exemnple d'utilisation d'un fifo entre deux processus non-apparentés. Programme ``fifoEcriture.c``. Programme ``fifoLecture.c``.
TD :
- TD1. - TD2. - programme ``rsa.c``. - exemples de clés RSA valides au format ( n, d, e ) ``exCleRSA.txt``. - Solution question 1. - Solution question 2. - Solution question 3. - TD3 - Programme ``poste.c`` - Fichier ``makefile`` pour compiler ``poste.c`` - TD4. - TD5.
TP :
- TP1 : Tri rapide en parallèle - [ http://lama.univ-savoie.fr/~provencal/INFO622/TP/tp1.pdf Énoncé du TP1.] - [ http://lama.univ-savoie.fr/~provencal/INFO622/TP/info622-tp1.tgz Archive contenant les sources nécessaire au TP1 ( format tgz ).] - [ http://lama.univ-savoie.fr/~provencal/INFO622/TP/info622-tp1.zip Archive contenant les sources nécessaire au TP1 ( format zip ).]