UE INF2160 - Concurrence dans les systèmes d'exploitation
Objectifs
Ce cours est une introduction aux applications concurrentes. Il s'agit de comprendre les mécanismes qui permettent qu'une machine exécute plusieurs tâches en quasi-simultanéité, et d'acquérir les compétences permettant d'écrire des applications concurrentes. Le cours présente les différents concepts théoriques de la concurrence en s'appuyant sur le système Linux.
Contenu
- Notion de processus : état et ordonnancement
- Synchronisation entre processus : verrous, sémaphores, moniteurs ...
- Familles d'algorithmes et problèmes d'interblocage
- Communication entre processus : flux ou messages
- Processus légers : concepts et programmation à l'aide de threads Java et des Posix Threads
Programmation
Cours : 22 h - TP : 22 h
Prérequis
Programmation C et Java
Bibliographie
- Jean-Marie Riflet, La programmation sous Unix, 3e édition, Ediscience International
- M.-J. Bach, The design of the Unix Operating System, Prentice Hall,1986
- Scott Oaks, Henry Wong, Java Threads, O'Reilly
Intervenants