v2.11.0 (5687)

Cours scientifiques - IN201 : Systèmes d'exploitation

Domaine > Sciences et technologies de l'information et de la communication.

Descriptif

Les systèmes d'exploitation se retrouvent sur la plupart des ordinateurs, de la carte à puce au supercalculateur, en passant par les systèmes embarqués, smartphones, ordinateurs de bureau, mainframes... Quel que soit l'ordinateur, le rôle du système d'exploitation est de permettre un partage des resources (processeur, mémoire, périphériques) entre les différentes tâches du système, et d'offrir une interface de programmation facilitant l'accès à ces resources. Le but de ce cours est de présenter à l'élève les principales abstractions fournies par un système d'exploitation, et lui apprendre à les utiliser, voire implanter.
 
BYOD avec gcc, binutils, qemu ou bochs (+ serveur Linux de secours pour pallier certains problèmes sur Mac).

Objectifs pédagogiques

Au terme de ce cours, l'étudiant doit être capable :
  - 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.

21 heures en présentiel (7 blocs ou créneaux)
réparties en:
  • Cours magistral : 7
  • Petite classe : 12
  • Contrôle : 2

effectifs minimal / maximal:

1/111

Diplô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 20

Littérale/grade européen

Pour 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
L'UE est acquise si Note finale >= 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

Mots clés

Principes des systèmes d'exploitation: threads, processus, ordonnanceur, synchronisation, protection mémoire, contrôle d'accès, interruption, système de fichier, virtualisation, assembleur.
Veuillez patienter