Niveau d'étude
BAC +4
ECTS
5 crédits
Composante
Faculté des sciences
Objectifs
― Programmation Réseau : conception de protocoles, sockets TCP, client-serveur mono/multithread.
― Programmation système : Processus lourds/ Processus légers ; Recouvrement de processus ; Multi-threading ; Synchronisation de processus ; Exclusion mutuelle ; Communication entre processus ; Signaux ; Tubes et tubes nommés.
Heures d'enseignement
- CMCours magistral16h
- TPTravaux pratique24h
Compétences visées
― Comprendre la problématique d’interopérabilité dans le cadre des protocoles réseaux et savoir concevoir un protocole pour répondre à un problème donné.
― Être capable de développer une application réseau client-serveur ou pair- à-pair à l’aide de sockets TCP ou UDP en Java.
― Être capable de développer des applications multi-processus en C ou C++ sous Unix (processus lourds).
― Être capable de développer des applications multi-threads en C++ moderne, et maîtriser ainsi les notions de base des processus légers aussi bien avec les concepts de bas niveau (thread, mutex, condition) que ceux de plus haut niveau (future, promise, async).
― Comprendre les différences entre processus lourds et processus légers pour choisir la solution adaptée à un problème. Être capable de mettre en œuvre du point de vue programmation des solutions pour l’accès à des ressources partagées et pour la communication entre processus.
― Être capable de faire le lien entre les concepts de la programmation réseau et de la programmation système et les exploiter conjointement.