« 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 10 : Ligne 10 :
[http://lama.univ-savoie.fr/~provencal/INFO622/fct_posix/fonctions_POSIX_1.pdf fonctions_POSIX_1.pdf.]
[http://lama.univ-savoie.fr/~provencal/INFO622/fct_posix/fonctions_POSIX_1.pdf fonctions_POSIX_1.pdf.]
- Entêtes de fonctions POSIX (II) :
- Entêtes de fonctions POSIX (II) :
[http://lama.univ-savoie.fr/~provencal/INFO622/fct_posix/fonctions_POSIX_II.pdf fonctions_POSIX_2.pdf.]
[http://lama.univ-savoie.fr/~provencal/INFO622/fct_posix/fonctions_POSIX_2.pdf fonctions_POSIX_2.pdf.]
- Entêtes de fonctions POSIX (III) :
- Entêtes de fonctions POSIX (III) :
[http://lama.univ-savoie.fr/~provencal/INFO622/fct_posix/fonctions_POSIX_III.pdf fonctions_POSIX_3.pdf.]
[http://lama.univ-savoie.fr/~provencal/INFO622/fct_posix/fonctions_POSIX_3.pdf fonctions_POSIX_3.pdf.]
- Entêtes de fonctions POSIX (IV) :
[http://lama.univ-savoie.fr/~provencal/INFO622/fct_posix/fonctions_POSIX_4.pdf fonctions_POSIX_4.pdf.]
- Entêtes de fonctions POSIX (V) :
[http://lama.univ-savoie.fr/~provencal/INFO622/fct_posix/fonctions_POSIX_5.pdf fonctions_POSIX_5.pdf.]




Ligne 46 : Ligne 50 :
[http://lama.univ-savoie.fr/~provencal/INFO622/CM4/mp_lecture.c programme ``mp_lecture.c``.]
[http://lama.univ-savoie.fr/~provencal/INFO622/CM4/mp_lecture.c programme ``mp_lecture.c``.]
[http://lama.univ-savoie.fr/~provencal/INFO622/CM4/mp_affichage.c programme ``mp_affichage.c``.]
[http://lama.univ-savoie.fr/~provencal/INFO622/CM4/mp_affichage.c programme ``mp_affichage.c``.]

CM5 : Variables de condition et barrières de synchronisation
- Exemple producteur/consommateur implémenté avec des sémaphores.
[http://lama.univ-savoie.fr/~provencal/INFO622/CM5/prodCons_sem.c Programme ``prodCons_sem.c``.]
- Exemple producteur/consommateur implémenté avec des variables de conditions et un mutex.
[http://lama.univ-savoie.fr/~provencal/INFO622/CM5/prodCons_cnd.c Programme ``prodCons_cnd.c``.]
- Exemple d'utilisation d'une barrière de synchronisation.
[http://lama.univ-savoie.fr/~provencal/INFO622/CM5/barriere.c Programme ``barriere.c``.]

CM6 : Tubes
- Exemple d'utilisation d'un tube non-nommé entre processus père et fils.
[http://lama.univ-savoie.fr/~provencal/INFO622/CM6/tubeFork.c Programme ``tubeFork.c``.]
- Exemnple d'utilisation d'un fifo entre deux processus non-apparentés.
[http://lama.univ-savoie.fr/~provencal/INFO622/CM6/fifoEcriture.c Programme ``fifoEcriture.c``.]
[http://lama.univ-savoie.fr/~provencal/INFO622/CM6/fifoLecture.c Programme ``fifoLecture.c``.]


<!--
<!--
Ligne 63 : Ligne 82 :
- [http://lama.univ-savoie.fr/~provencal/INFO622/TD/TD3/makefile Fichier ``makefile`` pour compiler ``poste.c``]
- [http://lama.univ-savoie.fr/~provencal/INFO622/TD/TD3/makefile Fichier ``makefile`` pour compiler ``poste.c``]
- [http://lama.univ-savoie.fr/~provencal/INFO622/TD/TD4.pdf TD4.]
- [http://lama.univ-savoie.fr/~provencal/INFO622/TD/TD4.pdf TD4.]
- [http://lama.univ-savoie.fr/~provencal/INFO622/TD/TD5.pdf TD5.]



Version du 18 mars 2013 à 12:15

Ouvrage de référence

  1. 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 ).]