Programmation système et réseau

Description

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.

Objectifs

A la fin de ce module, l’étudiant devra avoir compris et pourra expliquer (principaux concepts) :
la programmation concurrente avec des threads
les interactions possibles avec les systèmes d’exploitation (principaux appels système)
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
les notions fondamentales associées à la programmation d'applications distribuées dans l’Internet via l’API socket
l’utilisation de machines à états finies (MAE) pour la spécification de protocole

L’étudiant devra être capable :
- d’utiliser et de programmer un système d’exploitation sur des machines mono et multi processeurs (threads)
- d’utiliser l'API socket pour développer (en langage C) une application distribuée dans l’Internet de type client / serveur
- de spécifier sous forme de MAE et de programmer en langage C un protocole de niveau Transport optimisé pour le transfert d’une vidéo en temps réel
- de gérer l'asynchronisme dans la communication entre l’application et le service de Transport
- d'élaborer et de mettre en œuvre des scénarios expérimentaux (visant ici à prouver les bénéfices du protocole optimisé comparativement à un protocole classique de type TCP).

Pré-requis

Introduction aux systèmes d’exploitation (3e année MIC)
Introduction aux réseaux informatiques (3e année MIC)
Langage C (3e année MIC)
Notion d’assembleur (3ème année MIC)

Évaluation

L’évaluation des acquis d’apprentissage est réalisée en continu tout le long du semestre. En fonction des enseignements, elle peut prendre différentes formes : examen écrit, oral, compte-rendu, rapport écrit, évaluation par les pairs…

En bref

Crédits ECTS :

Nombre d’heures :

EN 1 Clic

Annuaire

ENT

Rejoindre
les équipes

Marchés publics

Soutenir l'excellence

Fondation
INSA
Taxe
apprentissage

INSA Toulouse
135 avenue de Rangueil
31077 Toulouse cedex 4
Tél : 05 61 55 95 13
Fax : 05 61 55 95 00

Logo Communauté d'universités et établissements de Toulouse
Logo Bienvenue En France

Dans un souci d'alléger le texte et sans aucune discrimination de genre, l'emploi du genre masculin est utilisé à titre épicène.

INSA Toulouse
Résumé de la politique de confidentialité

Ce site utilise des cookies afin que nous puissions vous fournir la meilleure expérience utilisateur possible. Les informations sur les cookies sont stockées dans votre navigateur et remplissent des fonctions telles que vous reconnaître lorsque vous revenez sur notre site Web et aider notre équipe à comprendre les sections du site que vous trouvez les plus intéressantes et utiles.
En cliquant sur "Accepter", vous acceptez l'utilisation de cookies en provenance de ce site ainsi que notre politique de protection des données personnelles.