Descriptif
Objectifs pédagogiques
- d'expliquer le rôle des fonctionnalités fournies par un système d'exploitation : facilitation et partage sécurisé de l'accès aux ressources ;
- d'utiliser voire implanter les principales abstractions fournies par un système d'exploitation : threads, synchronisation, passage de message, processus, politique d'ordonnancement, protection mémoire, contrôle d'accès, appels systèmes, systèmes de fichier, virtualisation ;
- de développer des logiciels bas-niveau en C, tels que pilotes de périphériques dans un OS, shells, ou plus généralement programmation sur machine nue.
- Cours magistral : 7
- Petite classe : 12
- Contrôle : 2
effectifs minimal / maximal:
1/111Diplôme(s) concerné(s)
Parcours de rattachement
Pour les étudiants du diplôme Diplôme d'Ingénieur de l'Ecole Nationale Supérieure de Techniques Avancées
Langage C (IN102 & IN103) BYOD : gcc, binutils, qemu, bochs (les utilisateurs de Mac accéderont à un serveur pour pallier certaines impossibilités).
Format des notes
Numérique sur 20Littérale/grade européenPour les étudiants du diplôme Diplôme d'Ingénieur de l'Ecole Nationale Supérieure de Techniques Avancées
Vos modalités d'acquisition :
Examen sur papier + TD notés
Le rattrapage est autorisé (Max entre les deux notes écrêté à une note seuil)- le rattrapage est obligatoire si :
- Note initiale < 6
- le rattrapage peut être demandé par l'étudiant si :
- 6 ≤ note initiale < 10
- Crédits ECTS acquis : 2 ECTS
- Scientifique acquis : 2
Le coefficient de l'UE est : 1
La note obtenue rentre dans le calcul de votre GPA.
L'UE est évaluée par les étudiants.
Programme détaillé
---
(CC = Contrôle de Connaissances - CM = Cours Magistral - PC = Petite Classe - TD = Travaux Dirigés sur ordinateur)
1CM :
- Rôle et fonctionnement général du système d'exploitation
- Exemples de services rendus par le système d'exploitation.
1TD :
- Implantation d'un système de fichiers
2CM :
- Architecture matérielle (processeur et mémoire, language machine, assembleur)
- Organisation de la mémoire d'un processus (pile, tas; correspondance avec les concepts du C)
2TD :
- Implantation d'un allocateur mémoire
3CM :
- Implantation des threads
- Atomicité et synchronisation : utilisation et implantation
- Communication par passage de messages
3TD :
- Implantation de threads coopératifs
4CM :
- Notion d'interruption
- Ordonnancement et politiques d'ordonnancement
4TD :
- Implantation d'une politique d'ordonnancement
5CM :
- Protection et organisation de la mémoire (pagination)
- Sécurité des systèmes : séparation des privilèges, principe du moindre privilège
5TD :
- Protection mémoire et redémarrage de tâches qui plantent
6CM :
- Sécurité des systèmes : contrôle d'accès
- Virtualisation
- Systèmes distribué et cloud computing
6TD :
- Sandboxing et architecture sécurisée
7CC :
- Examen (sur papier)
7TD :
- Développement d'une application cloud en mode FaaS