Conservatoire national des arts et métiers

Vous êtes ici

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

  • 6 ECTS

    Objectifs pédagogiques

    • Comprendre les principaux concepts et paradigmes des systèmes d'exploitation modernes.
    • Etudier les mécanismes de base mis en oeuvre dans le noyau de systèmes tels que Linux ou Unix BSD.
    • Obtenir des bases dans la compréhension des mécanismes de gestion du parallélisme utilisés dans les noyaux des systèmes.
    • Comprendre les nouvelles fonctions intégrées dans les architectures matérielles récentes :
    • processeurs multi-coeurs,
    • architectures NUMA (Non Uniform Memory Architecture),
    • support matériel de la virtualisation de systèmes.
    • Comprendre et maîtriser les objectifs et les principes de la virtualisation de systèmes
    • Etude des différentes techniques mises en oeuvre dans les hyperviseurs logiciels (VMware, Xen, KVM)
    • 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.
    • Mise en oeuvre de la virtualisation dans l'infrastructure des télécommunications et de l'Internet
    • Comprendre la mise en oeuvre de la virtualisation dans l'infrastructure des télécommunications et de l'Internet (Cloud Computing, réseaux d'entreprise, téléphonie mobile).
    • Comprendre les notions de Network Function Virtualization (NFV) et de Virtual Switch (commutateur virtuel), et leur complémentarité. Appréhender la notion de Software Defined Network (SDN) et de réseau programmable, et leur application dans le contrôle des infrastructures réseau virtualisées.

    A l'aide des exemples écrits en langage C sur lesquels sont basés les exercices dirigés, faire découvrir les méthodes de conception et de mise en forme de programmes selon les normes professionnelles en vigueur dans l'industrie du logiciel, et dans les projets open-source tels que le noyau Linux par exemple.

    Faire connaître l'environnement du logiciel libre, par l'intermédiaire des logiciels disponibles gratuitement utilisés pour la réalisation du cours et des exercices dirigés :

    - Noyau Linux
        https://www.kernel.org/
        http://www.tldp.org/LDP/tlk/tlk.html
    - Distribution ubuntu
        http://www.ubuntu.com/
        http://www.ubuntu-fr.org/
    - Environnement de développement GNU
        http://gcc.gnu.org/
    - Gestionnaire de sources
        http://git-scm.com/
    - Suite bureautique libreoffice
       https://fr.libreoffice.org/
    - Composition de documents en reStructured Text
        http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html
        http://docutils.sourceforge.net/docs/user/rst/quickref.html
        http://sphinx-doc.org/
    - Outil de documentation de logiciel doxygen
        http://www.doxygen.org
    - Navigateur firefox
        http://www.mozilla.org/fr

    Public

    Elèves avec les connaissances de la programmation, du langage C et des systèmes informatiques vues  en premier cycle du Cnam ou équivalent

    Compétences

    Obtenir des bases solides dans les domaines apparentés à la conception de systèmes d'exploitation et dans la mise en oeuvre de la concurrence dans les systèmes temps-réel et dans les applications parallèles (applications réparties, par exemple).
    Comprendre l'architecture et le fonctionnement des systèmes d'exploitation tels que Unix et Linux pour maîtriser leur administration et le développement
    d'applications.
    Maîtriser les principes sous-jacents à la virtualisation de systèmes afin de
    faciliter l'intégration et l'administration de ce type de service dans un système informatique (Cloud Computing, Haute Disponibilté, Tolérance aux pannes, etc.)

    Modalité de validation

    Examen écrit

    Contenu de la formation

    1. Principes de base d'un système d'exploitation
    Rappel sur l'architecture des ordinateurs :
    modes d'exécution, interruptions, gestion des périphériques, entrés/sorties en mode DMA, pile d'exécution, etc.
    Environnement de développement et conception modulaire de programmes : compilation croisée, éditions de liens statique et dynamique, bibliothèques partagées. Exemple des "shared object" du système Linux
    Présentation de la notion de processus et de contexte d'exécution indépendant, d'espace d'adressage séparé, de chargement dynamique de programme.
    Introduction au parallélisme et à la programmation concurrente. Notions de thread et de processus multi-threads. Description des politiques d'ordonnancement pour l'attribution des processeurs.

    2. Gestion mémoire
    Introduction à la notion d'espace d'adressage (physique, virtuel).

    Analyse des architectures de type NUMA (Non Uniform Memory Architecture) et de la prise en compte de leurs propriétés lors de la conception de logiciels critiques.

    Etude du mécanisme matériel de protection de la mémoire physique de type MPU (Memory Protection Unit) introduit dans les processeurs dédiés aux systèmes enfouis (automobile, transport).

    Etude des techniques d'allocation mémoire.
    Tout d'abord des méthodes d'allocations classiques "historiques" : allocateurs first-fit, best-fit et worst-fit.
    Puis des allocateurs mémoire modernes à 2 étages.

    Etude de la pagination et de la gestion des espaces d'adressage paginés dans les systèmes Unix et Linux. Fonctionnement d'une MMU (Memory Management Unit) et d'un TLB (Translation Lookaside Buffer). Méthodes de gestion des défauts de page, principes du va-et-vient (swapping) et algorithmes de remplacement de pages.

    Principes de fonctionnement des caches mémoire et de leur mise en oeuvre dans les architectures modernes à base de processeurs multi-coeurs. Techniques logicielles d'exploitation des caches mémoire pour l'optimisation des performances des systèmes. da

    3. Gestion du parallélisme dans un noyau de système

    Etude du problème de l'exclusion mutuelle pour l'accès cohérent à des ressources partagées entre entités d'exécution concurrentes.
    Exemple des mécanismes de synchronisation de type mutex dans le contexte des applications multi-threads.

    Etude de réalisations d'un mécanisme de synchronisation de type mutex dans un noyau de système basées sur les méthodes suivantes :
       • le masquage des interruptions sur un mono-processeur
       • le masquage de la préemption de thread sur un mono-processeur
       • l'utilisation d'instructions atomiques et d'instructions de type "test-
          and-set" dans les architectures multi-processeurs.

    Etude comparée des politiques de synchronisation de type " coarse-grained locking " et de type " fine-grained locking ".
    Probléme de l'inversion de priorité et ses solutions.
    Problème de l'inter-blocage ("deadlock" en anglais) et ses solutions.

    Le cours sur la mise en oeuvre de la concurrence et des mécanismes de
    synchronisation est basé sur un exemple concret (
    écrit en langage C)
    d'un allocateur mémoire dans un noyau de système.

    4. Virtualisation de Systèmes
    Historique et objectifs de la virtualisation de systèmes : utilisation optimale des ressources, exécution simultanée de plusieurs systèmes hétérogènes sur une seule machine, etc.

    Description des notions de machine virtuelle, de virtualisation hébergée ("hosted virtualisation") ou autonome ("standalone virtualisation"), de systèmes invités et de systèmes hébergeur, d'hyperviseur.

    Virtualisation par émulation transparente du matériel - exemple de Qemu.

    Virtualisation transparente du matériel (VMware) :
    - virtualisation du CPU - problème des instructions critiques
    - virtualisation de MMU par la technique des “shadow page tables”
    - virtualisation des entrées/sorties par émulation de périphériques.

    Para-virtualisation (Xen) et entrées/sorties à travers des périphériques virtuels (Ethernet, disques).

    Support matériel de la virtualisation de système.
    Exemple de l'architecture Intel-VT intégrant le support de machine virtuelles (extension de la virtualisation VMX).
    Virtualisation de périphériques PCI et fonctions PCI virtuelles partagées entre systèmes invités.
    Exemple de Ethernet et des communications entre machines virtuelles et/ou des machines virtuelles avec l'extérieur.
    Etude de la mise en œuvre optimisée de transferts de données entre les Machines Virtuelles clientes et les serveurs d'un Data Center munis de disques SSD.

    Etude de la virtualisation de systèmes dans les systèmes embarqués s'appuyant
    sur l'exemple des téléphones intelligents ("Smartphones") fonctionnant sous le système Android de Google.
    Conclusion sur l'évolution des techniques de la virtualisation de système, des défis posés par sa diffusion (logiciel libre, open source, etc.)

    5) Mise en oeuvre de la virtualisation de systèmes dans le contexte de l'infrastructure des télécommunications et de l'Internet
    - Notion de Network Function Virtualization (NFV). Etude des avantages de la virtualisation de fonctions réseau, et des défis posés par leur mise en oeuvre dans des machines virtuelles. Exemple de la virtualisation d'un Broadband Remote Access Server (BRAs).
    - Principe d'un commutateur réseau virtuel, intégration de la solution Open Virtual Switch (OVS) dans un hyperviseur.
    - Notion de Software Defined Network (SDN) permettant le contrôle centralisé des infrastructures réseau, de la solution OpenFlow et de sa mise en oeuvre dans des infrastructures réseau
    - Présentation des Smart NIC,  cartes réseau intelligentes qui incluent des  services de haut niveau comme la commutation et/ou le routage de paquets, services couramment intégrés dans l'hyperviseur des solutions de virtualisation de réseaux
    - Présentation du DPDK (Data Plane Development Kit)
      Projet open-source pour le développement de piles de protocoles réseau à haut-débit.
      Mise en oeuvre du DPDK dans les infrastructures de réseau virtualisées pour en optimiser les performances.
     

    Bibliographie

    S. Bouzefrane Les systèmes d'exploitation, Unix, Linux et Windows XP, avec C et Java, Dunod 2003 (566 pages), ISBN : 2100071890

     POSIX Threads - Linux Tutorial : http://www.yolinux.com/TUTORIALS/LinuxTutorialPosixThreads.html

    R. H. Carver, Kuochung Tai Modern Multithreading Wiley 2005 (465 pages)

    M. Divay Unix, Linux et les systèmes d'exploitation, Dunod 2004 (429 pages)

    D. Bovet, M. Cesati Le noyau Linux, O' Reilly 2006 (1007 pages), ISBN 2841772438

    J.E. Smith, R. Nair Virtual Machines ?versatile platforms for systems and processes?, Elsevier

    Ce cours se déroule une fois par semaine pendant un semestre dans le centre d'inscription. Les cours programmés en soirée ont lieu de 18h30 à 21h30.

     

    Centre(s)
    Lu
    Ma
    Me
    Je
    Ve
    Sa
    Foad
    ParisS1-S2-
    Saint-DenisS1-

    Informations données à titre indicatif sous réserve de modification

    Légende :

    S1 : premier semestre, il s'étend de fin septembre/début octobre à fin janvier/début février (dates indicatives, renseignez-vous auprès de votre centre).
    S2 : second semestre, il s'étend de fin février/début mars à début juillet (dates indicatives, renseignez-vous auprès de votre centre).
    A : annuel (il s'étend de fin septembre/début octobre à début juillet (dates indicatives, renseignez-vous auprès de votre centre).)
    : cours du soir, les cours commencent le plus souvent à 18 h 30 dans les centres
    : cours hybride, cette modalité mixe des cours en présentiel (en cours du soir ou en journée) et des cours en ligne
    : cours en journée, se renseigner auprès du centre pour connaître les horaires
    : cours en ligne, les cours sont diffusés sous forme de séances numériques via une plateforme d'E-learning animées et tutorées par un enseignant. Des regroupements peuvent être proposés.
    : cours en ligne hybride régional, cette modalité mixe des cours en ligne tuteurés et des regroupements en présentiel obligatoires
    : cours à distance organisés par un autre centre Cnam régional* les cours sont diffusés sous forme de séances numériques via une plateforme d'E-learning animées et tutorées par un enseignant


    *Pour vous inscrire aux cours en ligne organisés par un autre centre régional Cnam, vous devez contacter soit l’un de nos centres de formation, soit directement le service FOD du Cnam Ile-de-France. Attention, ces unités d’enseignement ont des tarifs spécifiques.

    Pour les cours situés à PARIS, les informations fournies sont indicatives, vous devez impérativement consulter le planning détaillé sur le site du Centre Cnam Paris : cliquez-ici

    FAQ

    Questions - Réponses

    Le Conservatoire national des arts et métiers est un établissement public d'enseignement supérieur placé sous la tutelle du Ministère de l'Éducation Nationale et de la Recherche.

    Il propose des parcours de formation s'adaptant au rythme de chaque auditeur qui peut suivre ses cours le soir, le samedi matin ou à distance sur Internet.

    L'offre de formation, riche et diversifiée, permet d'acquérir un diplôme, un certificat ou simplement de développer ses compétences.

    Le Cnam s'adresse à tous les adultes qui désirent :

    • obtenir un diplôme en suivant des cours de niveau Bac à Bac + 5
    • obtenir un certificat afin d'acquérir une qualification professionnelle
    • compléter, approfondir ou actualiser ses connaissances, à la carte

    En Ile-de-France, 12 lieux de formation vous accueillent pour vous aider à choisir et organiser votre parcours de formation et naturellement vous inscrire dans le centre de votre choix.

    Aucun diplôme n’est exigé pour préparer un titre RNCP III (Bac+2) ou un diplôme d’établissement.

    La préparation d’une licence nécessite d’être titulaire d’un baccalauréat, celle des titres RNCP II (Bac+4) ou d’un diplôme d’ingénieur d’avoir obtenu un Bac+2.

    Un cycle de remise à niveau est conseillé pour les auditeurs qui reprennent leurs études après une interruption.

    Un diplôme Cnam s’obtient par la validation des UE le constituant, crédits d’expérience professionnelle et parfois la rédaction d’un rapport d’activité ou d’un mémoire de fin d’études.

    Pour en savoir plus : prenez contact avec un conseiller pédagogique du Cnam Ile-de-France, proche de votre travail ou de votre domicile

    Le Cnam offre la possibilité de préparer, à son rythme, un diplôme, un titre ou un certificat, allant de Bac + 1 à Bac + 5.

    Parcourez nos thèmes de formation :

    Le Cnam inscrit son offre de formation dans un contexte international d’harmonisation des diplômes et propose notamment, à l'image des universités, une organisation des études en Licence, Master, Doctorat.

    Les formations sont regroupées en domaines de formation. Pour chaque domaine de formation, trois cycles sont proposés :

    • Licence : Bac+3
    • Master : Bac+4
    • Doctorat : Bac+8

    Chacun de ces cycles débouche sur un diplôme national, reconnu dans l'espace européen.

    Les formations et diplômes du Cnam sont composés de cours appelés UE ou unités d'enseignement.

    Ces UE sont cumulables pour :

    • vous spécialiser et acquérir rapidement des compétences nouvelles en préparant un certificat
    • vous engager dans une formation diplômante
    • composer votre formation à la carte, sans objectif de diplôme ni de durée.

    Dans nos centres  : Rendez-vous dans un de nos centres franciliens pour rencontrer nos conseillers pédagogiques, bâtir votre projet de formation et procéder à votre inscription.

    Contactez-nous

    En ligne  : Vous pouvez vous inscrire directement en ligne à partir de notre site

    Rechercher une Unité d'enseignement (cours du soir, en journée ou en ligne)

    A noter : l'inscription en ligne est réservée à un public averti. Pour une première inscription, il est recommandé de rencontrer un conseiller pédagogique.

    Le choix des UE dépend de l’objectif de formation.

    Certaines formations (diplômantes ou certifiantes) imposent un parcours précis et la capitalisation d’UE prédéfinies.

     

    Si votre objectif est d’acquérir des connaissances, vous pouvez choisir vos UE à la carte. Vous construirez ainsi une formation plus courte et mieux adaptée à vos besoins.

    A noter : la nécessité de valider certaines UE et leurs bases indispensables pour progresser vers d'autres UE.

    Selon votre disponibilité. A titre d'exemple, un rythme de 4 à 6 UE dans l'année, soit 2 à 3 par semestre est raisonnable et assez dense.

    Il s'agit du système européen de transfert de crédit ou European Credit Transfer System.

    A chaque diplôme correspond un volume précis de crédits ECTS : 180 crédits pour la Licence, 120 crédits pour le Master après la Licence.

    Les crédits facilitent la souplesse entre les parcours et la mobilité.
    Ils sont cumulables, donc définitivement acquis, et transférables d'une université à l'autre, en France et en Europe.

    Le coût de la formation dépend du nombre d’UE suivies et du nombre de crédits que valident ces UE.

    A chaque UE, correspond un nombre de crédits (généralement de 4 à 12 crédits).

    Chaque formation diplômante ou certifiante, regroupe plusieurs UE.

    Les droits d’inscription par année universitaire sont de 160€ et le prix des UE varie entre 56€* et 168€* par semestre.

    Le coût de la formation dépend du nombre d’UE suivies et du nombre de crédits que valident ces UE.

    * tarifs applicables au 01/08/2017

    Pour en savoir plus sur votre projet de formation, sur les possibilités de financement, prenez contact avec un conseiller pédagogique

    Contactez-nous

    Pleiad est la plateforme d'enseignement à distance du Cnam sur Internet.

    Ce dispositif permet d'obtenir une partie ou la totalité d'un diplôme du Cnam.

    • La totalité de votre expérience professionnelle compte : activités non salariées, bénévoles, etc.
    • Il faut avoir au moins 3 ans d'expérience en relation avec le diplôme envisagé

    A noter : un dossier de V.A.E. consiste à rassembler les preuves de l'expérience acquise par le/la candidat(e) durant sa vie professionnelle et personnelle et d'en démontrer le lien direct avec le contenu des UE ou du diplôme visé(es).

    Après vérification et évaluation du dossier constitué, un jury se prononce sur la demande de validation.

    Le Registre national des certificats professionnels ou RNCP regroupe l’information sur tous les titres professionnels et diplômes en France.

    L'objectif est de rendre plus lisibles et comparables les diplômes des pays européens et à terme de faciliter l’accès à l’emploi, la gestion des ressources humaines et la mobilité professionnelle.

    Le Cnam offre aux salariés et aux demandeurs d’emploi, la possibilité de se former tout au long de la vie.

    Chacun peut préparer à son rythme l’un des diplômes, titres ou certificats proposés.

    Dans ce contexte, tout est conçu pour suivre sa formation de façon continue ou discontinue :

    Chaque UE validée par un examen est valable à vie.

    En cas de déménagement, vous pouvez poursuivre vos études dans un autre centre Cnam présent en France ou même à l’étranger, dans l’un des quarante pays partenaires. Vous avez aussi la possibilité de suivre des cours à distance sur Internet.

    À partir de votre situation présente, cet outil vous permet de faire le point sur vos compétences professionnelles et personnelles et sur vos motivations

    Le bilan de compétences permet de les identifier, les valoriser et construire votre projet professionnel.

    Il s'adresse à toute personne justifiant d'au moins 5 ans d'expérience professionnelle dont un an en entreprise.

    Certains centres Cnam sont agréés FONGECIF en Île-de-France.

    Début des cours du 1er semestre & Annuel pour les centres IDF (hors Paris) : à partir du 9 octobre 2017

    Début des cours du 1er semestre & Annuel pour le centre PARIS : 25 septembre 2017

    Début des cours du 2ème semestre pour les centres IDF (hors Paris) : à partir du 5 mars 2018

    Début des cours du 2ème semestre pour le centre PARIS : 12 février 2018

    • Choississez une modalité, un semestre et un centre parmi les cours disponibles à l'inscription en ligne.
    • Ajoutez l'unité au panier
    • Cliquez sur "voir le panier" et laissez vous guider !
    84 EUR

    voir le panier

    * Seul le financement à titre individuel est proposé à l'inscription en ligne. Si vous souhaitez financer votre formation par votre entreprise ou le CPF, vous devez demander un devis auprès de l\'un de nos centres.

    Tarifs en vigueur depuis le 1er août 2017

    Région Ile-de-France

    A propos

    L’objectif principal du Cnam Ile-de-France est de permettre aux franciliens de se former tout au long de la vie. Il accompagne ainsi chaque année, plus de 8 800 adultes dans la construction de leur projet professionnel, en partenariat avec la région Ile-de-France.

    En savoir plus

     

    FacebookTwitterLinkedIn

    NOS CENTRES DE FORMATION EN ILE-DE-FRANCE