Résumé
Souhaitez-vous enquêter au-delà de la surface de Windows, MacOS, Linux et Android ? Vous en avez assez de ne pas comprendre l'origine des fautes de segmentation, pourquoi vous devez éjecter une clé USB avant de la retirer physiquement, ou pourquoi/comment votre système Android peut exécuter Pokemon Go et Snapchat en même temps ? Vous voulez vous plonger dans les détails du fonctionnement interne du noyau Linux ? Rejoignez-nous pour découvrir la puissance des systèmes d'exploitation !
Modalités pédagogiques : Cours magistraux (40%), séances de travaux pratiques(40%) et un projet (20%).
Règles du cours : La présence est obligatoire dans quelques sessions de travaux pratiques et de projet.
Tous les documents nécessaires, et en particulier les livres recommandés et les examens des années antérieures, avec leurs solutions, sont disponibles sur : http://soc.eurecom.fr/OS
Connaissances de base en programmation. Si nécessaire, vous pourrez suivre un court tutoriel sur la programmation en C.
Description
Des concepts de base aux concepts avancés - BIOS, interruptions, planification, temporisations -, vous entrerez progressivement dans les éléments fondamentaux et pratiques des systèmes d'exploitation. En laboratoire, vous expérimenterez les fonctions avancées fournies par les systèmes d'exploitation et modifierez le noyau Linux. Dans le cadre du projet, vous programmerez des applications en temps réel pour des robots fonctionnant sous Linux et vous vous affronterez dans une bataille ultime pour la suprématie des systèmes d'exploitation. Pas de panique, les maîtres des systèmes d'exploitation vous aideront !
Objectifs d'apprentissage :
-
Principes fondamentaux des systèmes d'exploitation : processus, threads, techniques de synchronisation, politiques d'ordonnancement, gestion de la mémoire, pilotes de périphériques.
-
Fondamentaux des systèmes d'exploitation en temps réel : ordonnancement en temps réel, temporisateurs, programmation avec POSIX, programmation en temps réel avec Linux
-
Utilisation pratique des fonctions fournies par les systèmes d'exploitation : utilisation des appels système dans différents domaines, par exemple la gestion des processus, les entrées/sorties. Programmation en temps réel de robots.
Nombre d'heure : 42 heures
Evaluation :
- Rapports de travaux pratiques (10% de la note finale),
- Projet (30% de la note finale),
- Examen écrit (60% de la note finale).