Principes et fonctionnement du Noyau Linux

Catalogue des cours de Télécom SudParis

Code

CSC 4512

Niveau

Graduate (M1)

Période

Spring (P2)

Domaine

Informatique

Langue d'enseignement

Français

Crédits ECTS

4

Heures programmées / Charge de travail

45 / 90

Responsable(s)

  • LAOUITI Anis

Département

- Réseaux et Services Multimédia Mobiles

Objectif

- Connaître les principales composantes de base du noyau du système d’exploitation de la famille Linux
- Comprendre des mécanismes internes du noyau de la famille Linux(orientée réseau : gestion des interfaces, protocoles réseau, TCP/IP, Netfilter)
- Savoir développer et intégrer dans le noyau type Linux de nouveaux éléments : module, driver, protocole de communication

Contenu

- Configurer, compiler, et installer un noyau Linux, un module Linux
- Rappels sur les systèmes d’exploitation et la communication inter-processus :
- Accès concurrent, sections critiques, exclusion mutuelle
- Sémaphores, Moniteurs
- Problèmes classiques en communication inter-processus : problème des philosophes, lecteurs/rédacteurs
- Aperçu général sur la structure d’un noyau et éléments de base de programmation noyau Linux :
- Différents types de périphériques : bloc, caractère
- Contextes de fonctionnement du noyau : appel système, interruption et threads - Synchronisation des appels système par sémaphores et mutex
- Protection des variables globales par spinlocks
- Eléments temporels : ticks et jiffies, mesures horaires, attentes actives et sommeil
- Programmation d'actions différées et timers
- Communication avec les processus par le système /proc
- Comprendre les mécanismes internes du noyau (orientée réseau):
- Gestion des paquets et structure sk_buff
- Interfaces réseau et structure net_device
- TCP/IP, explorer le code source de TCP/IP,
- Netfilter, architecture de netfilter
- Introduction aux systèmes embarqués
- Linux pour routeurs embarqués
- TinyOs pour capteurs
- Ecriture d’un driver
- Conception et implémentation d’un driver sous Linux

Prérequis

- Systèmes d’exploitation type Unix/Linux (Bases - cf CSC3001 à Télécom SudParis), - Réseaux et TCP/IP (Bases - cf NET 3502, NET 4001 à Télécom SudParis),- Programmation en C (Bases - cf CSC 3002 à Télécom SudParis)

Mots-clés

- Linux, Linux embarqué, noyau, driver, module, Netfilter

Evaluation

CC = Moy (TP notés)
C1 = QCM
Note finale = CC*0,7+C1*0,3

Approches pédagogiques

 

Programme

Programme Ingénieur

Fiche mise à jour : 20/12/2016 14:37:07