Systèmes d'exploitation : principes, programmation et virtualisation

Public Concerné

Elèves ayant des connaissances de base en systèmes informatiques vues en UTC502 au Cnam ou équivalent, ainsi que des connaissances en programmation (de préférence en langage C).

L'avis des auditeurs

Les dernières réponses à l'enquête d'appréciation pour cet enseignement :

Présence et réussite aux examens

Pour l'année universitaire 2022-2023 :

  • Nombre d'inscrits : 212
  • Taux de présence à l'évaluation : 74%
  • Taux de réussite parmi les présents : 93%

Objectifs pédagogiques

Ce cours a pour objectif de présenter les concepts des systèmes d'exploitation et leur programmation en étudiant les mécanismes de base des systèmes d'exploitation classiques mais aussi ceux des systèmes temps réel, des systèmes embarqués et des objets connectés. Les principes de virtualisation des systèmes d'exploitation sont aussi abordés dans ce cours.

Contenu de la formation

Concepts et paradigmes des systèmes d'exploitation classiques.
  • Mécanismes de mise en oeuvre des primitives dans le noyau de systèmes tels que Linux ou Unix BSD : notion de processus et de thread, parallélisme et synchronisation, ordonnancement, gestion de la mémoire virtuelle, gestion des signaux, etc.
o Concepts et paradigmes des systèmes temps réel.
  • Architecture, notion de tâche périodique et apériodique, gestion des interruptions, politiques d'ordonnancement temps réel, gestion des handlers, etc.
o Concepts et paradigmes des systèmes embarqués et objets connectés.
  • Etude de quelques exemples microcontrôleurs
  • Programmation d'un système embarqué et d'un objet connecté
  • Principes de l'Internet des objets.
o Concepts et principes de la virtualisation de systèmes et de la conteneurisation
  • Etude des différentes techniques mises en oeuvre dans les hyperviseurs logiciels (VMWare, Xen, KVM).
  • Support matériel de la virtualisation de systèmes.
  • Etude du support de la virtualisation intégré dans les architectures matérielles récentes : processeurs Intel-VT, mécanismes de Direct I/Os, fonctions PCI virtuelles.
  • Etude des principes de la conteneurisation et de l'orchestration des conteneurs (exemple de Docker containers et Kubernetes)
Les séances de cours sont suivies de séances de TP permettant d'illustrer les concepts étudiés. En plus de TP sous Linux, des TP peuvent être proposés sur d'autres plates-formes comme FreeRTOS pour les systèmes temps réel, Raspberry pi ou Arduino pour illustrer la programmation des systèmes embarqués et les plates-formes mobiles (Android par exemple) comme exemple d'objets connectés. La virtualisation traitera de la gestion des machines virtuelles à l'aide d'hyperviseurs mais aussi de solutions de virtualisation avec empreinte plus légère comme les Container Docker. Ainsi des TP sur la virtualisation et la conteneurisation (exemple de Kubernetes) viennent illustrer les concepts étudiés en séances de cours.

Description des modalités de validation

Examen écrit

En alternance ou en formation continue en journée :

Merci de consulter directement le secrétariat pédagogique de votre formation pour obtenir le planning.

En formation « à la carte Hors Temps de Travail », en présentiel, à distance ou hybride :

Voir les dates, les lieux d'enseignement et les modalités d'inscription sur les sites internet des centres régionaux qui proposent cette formation.

  • Grand Est
    • Grand Est
      • 2024-2025 1er semestre: Formation ouverte et à distance soir ou samedi
      • 2024-2025 2nd semestre: Formation ouverte et à distance soir ou samedi
      • 2026-2027 2nd semestre: Formation ouverte et à distance soir ou samedi
  • Ile-de-France (sans Paris)
  • Paris
    • Paris
      • 2024-2025 1er semestre: Formation à distance planifiée soir ou samedi
      • 2026-2027 1er semestre: Formation à distance planifiée soir ou samedi
Code : SMB101
6
crédits