SMB101

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


6 crédits Samia BOUZEFRANE EPN05 - Informatique Unité d'enseignement de type mixte

Publié Du 01-09-2019 au 31-08-9999

Prérequis

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).

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.

L'unité SMB101 apparaît dans 15 cursus.

CC13800A

Certificat de compétence Analyste en cybersécurité

LG02500B

Licence Sciences technologies santé mention informatique En alternance

CC14800A

Certificat de compétence Gestionnaire de la sécurité des données, des réseaux et des systèmes

LG02501A

Licence Sciences technologies santé mention informatique parcours Informatique générale

CYC9101A

Diplôme d'ingénieur Spécialité informatique parcours Architecture et ingénierie des systèmes et des logiciels (AISL)

CYC9102A

Diplôme d'ingénieur Spécialité informatique parcours Informatique modélisation optimisation

CYC9104A

Diplôme d'ingénieur Spécialité informatique parcours Informatique, réseaux, systèmes et multimédia

CYC9105A

Diplôme d'ingénieur Spécialité informatique parcours Informatique systèmes d'information

CYC9106A

Diplôme d'ingénieur Spécialité informatique parcours Cybersécurité

CRN0801A

Titre RNCP Niveau 6 Concepteur intégrateur d'infrastructures informatiques (systèmes et réseaux, applicatives, ou de sécurité) parcours Systèmes et réseaux

CRN0802A

Titre RNCP Niveau 6 Concepteur intégrateur d'infrastructures informatiques (systèmes et réseaux, applicatives, ou de sécurité) parcours Systèmes d'information

CRN0803A

Titre RNCP Niveau 6 Concepteur intégrateur d'infrastructures informatiques (systèmes et réseaux, applicatives, ou de sécurité) parcours Cybersécurité

CRN0801A

Titre RNCP Niveau 6 Concepteur intégrateur d'infrastructures informatiques (systèmes et réseaux, applicatives, ou de sécurité) parcours Systèmes et réseaux

CRN0802A

Titre RNCP Niveau 6 Concepteur intégrateur d'infrastructures informatiques (systèmes et réseaux, applicatives, ou de sécurité) parcours Systèmes d'information

CRN0803A

Titre RNCP Niveau 6 Concepteur intégrateur d'infrastructures informatiques (systèmes et réseaux, applicatives, ou de sécurité) parcours Cybersécurité

Contenu

Concepts et paradigmes des systèmes d'exploitation classiques.

  • Mécanismes de mise en œuvre 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.

• 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.

• 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.

• Concepts et principes de la virtualisation de systèmes et de la conteneurisation

  • Etude des différentes techniques mises en œuvre 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.

Modalités de validation

  • Examen final

Description des modalités de validation

Examen écrit

Bibliographie

TitreAuteur(s)
Les systèmes d'exploitation, Unix, Linux et Windows XP, avec C et Java, Dunod 2003 (566 pages), ISBN : 2100071890S. Bouzefrane
Modern Multithreading Wiley 2005 (465 pages)R. H. Carver, Kuochung Tai
Virtual Machines - versatile platforms for systems and processes, ElsevierJ.E. Smith, R. Nair
Hardware and Software Support for Virtualization - Morgan and Claypool Life Sciences ISBN: 1627056939E. Bugnon, J. Nich, D. Tsafrir
http://cedric.cnam.fr/~bouzefra/cours_smb101.htmlpage web de Samia Bouzefrane

Thésaurus du Cnam :

  • Smartphone
  • Système d'exploitation
  • Système UNIX
  • Développement système
  • Virtualisation
  • Mémoire virtuelle
  • Programmation d'application concurrente
  • Programmation système temps réel
  • Système linux
  • VMware
  • Hyperviseur
  • Network Function Virtualization (NFV)

Thésaurus Formacode :

  • 31015 - virtualisation
  • 31032 - système exploitation informatique
  • 31088 - programmation
  • 24252 - réseau télécom

Secrétariat

Libellé
EPN05 - Informatique
Nom du contact
Safia Sider
Adresses email
safia.sider@lecnam.net
Numéros de téléphone
01 40 27 26 81
Adresse postale
2 rue Conté 33.1.13A
Paris 75003