Informations générales
Volumes horaires
- CM 8.0
- Projet 0
- TD 8.0
- Stage 0
- TP 28.0
Crédits ECTSCrédits ECTS
4.0
Objectif(s)
Ce cours est divisé en deux parties:
- Introduction aux OS et notion de processus communiquants:
Ce cours a pour but la compréhension des différents éléments qui composent un système d’exploitation. La notion de concurrence étant centrale dans beaucoup de ces éléments, il contient également une partie significative consacrée à la programmation concurrente.
Ce cours se focalisera sur les aspects utilisateur d'un OS, avec des travaux pratiques sur un système Linux.
- Notion de systèmes Temps Réel:
Cette seconde partie vise à enseigner les principes essentiels permettant de mettre en oeuvre une application logicielle à l'aide d'un système d'exploitation temps réel, dans un système matériel/logiciel devant offrir des garanties temporelles d'exécution.
Des exemples concrets sont étudiés en TP.
Contenu(s)
Le cours est orienté sur les aspects suivants
- De la nécessité d'un système d'exploitation vs approche bare-metal
- Processus et tâches / Notion d'interblocage
- Gestion de processus, notion de processus léger, mécanismes de base pour la synchronisation
- Synchronisation de processus (mutex, sémaphore, mémoire partagée, pipe, boite de messagerie...)
- Approches d'implantation d'une application temps réel logicielle
- Étude des services proposés par les systèmes d'exploitation temps réel (tâches, ordonnancement, gestion des ressources partagées, communication, synchronisation, gestion du temps, ...)
- Ordonnancement temps réel
- Utilisation de Linux pour le temps-réel
Prérequis
- Connaissance des principes fondamentaux des systèmes d'exploitation
- Programmation C
- Utilisation d'un système Unix/Linux
Contrôle des connaissances
CC1 et CC2 : contrôles continus et comptes rendus de TP
ET1 et ET2 : 100% de la note d'ET sur un examen écrit
- 1 feuille recto/verso A4 manuscrite autorisée
- calculatrice PHELMA autorisé
Informations complémentaires
Le cours vaut 2.5 ECTS pour les étudiants du cursus 2A Ingénieur par l'apprentis. MT
Cursus ingénieur->Filière SEI->Semestre 8
Cursus ingénieur->Apprentissage MT->Semestre 8
Bibliographie
- Tanenbaum, A. Systèmes d'exploitation Pearson Education, 2008
- Trinquet, Y. Elloy J. P. Systèmes d'exploitation temps réel Technique de l'Ingénieur , 1999
- Liu, J. W. S. W. Real-Time Systems Prentice Hall PTR, 2000
- Labrosse, J. J. Microc/OS-II R & D Books, 1998
- Blaess, C. Solutions temps réel sous Linux Eyrolles, 2012