L’UF est décomposée en 3 parties :
Partie 1 : « Programmation système et multi-threading » (12,5h CM, 6,25h TD, 11h TP)
Le cours enseigne les concepts et les techniques liés à l’utilisation et à la manipulation sur une instance d’un système d’exploitation des mécanismes :
de multi-programmation (processus, thread),
de communication locale (IPC),
de synchronisation de processus (signalisation, sémaphores, variables condition)
d’ordonnancement.
Une introduction au traitement parallèle est également fournie. L’ensemble est illustré par des TP de programmation multi-threadée utilisant des fonctions de synchronisation et d’ordonnancement.
Partie 2 : « Application Internet et Programmation socket » (6,25h CM, 5,5h TP)
La première partie du cours détaille les principales applications distribuées dans l’Internet : http, ftp, sftp, SMTP – POP3/IMAP4, Telnet, SSH + techniques de mutualisation/clusterisation, modèle P2P, applications multimédia,
La deuxième partie présente l’interface de programmation par « socket » (API socket), technologie de base pour coder une application distribuée dans (en particulier) l’Internet
Deux séances de TP sont dédiées à la mise en œuvre (en langage C) des concepts associés à la programmation distribuée par socket UDP et TCP (via la programmation d’un générateur / récepteur de trafic paramétrable).
Partie 3 : « BE intégrateur » (13,75h TP + 3,75h TD)
Un bureau d’étude (BE) vient conclure l’UF. Son objectif est de concevoir et de développer en langage C un protocole de niveau Transport (niveau TCP) optimisé pour le transport de flux vidéo distribués en temps réel. L’optimisation consiste à développer un mécanisme de reprise des pertes à fiabilité partielle, permettant de tirer partie de la tolérance aux pertes des applications vidéo pour minimiser le délai de transit de paquets applicatifs. Le service offert est accessible par le biais d’une API dont la spécification des primitives de service est fournie, et qu’ont à développer les étudiants. La gestion de l’asynchronisme dans la communication entre l’application et le service de Transport est également traitée, en liaison avec le cours de programmation système et multithreading.
L’évaluation des objectifs est faite sur la base d’un rapport de projet intégrateur et d’une appréciation de l’implication des étudiants durant les séances de TP. Des examens écrits et/ou des QCM sont susceptibles de compléter la validation des compétences théoriques.