Formation - Écriture de drivers et programmation noyau Linux

Public admis

  • Salarié en Poste
  • Demandeur d'emploi
  • Entreprise
  • Etudiant

Financements

Eligible CPF Votre OPCO Financement personnel

Objectifs de la formation

  • Cette formation fait l'objet d'une évaluation formative.

IB Cegos


Formations aux technologies et métiers du Numérique
Voir la fiche entreprise

Tarif

Contacter l'organisme

Durée 4 jours (28 heures)
Modes
  • Entreprise
  • Distance
  • Centre
Sessions
Lieux Partout en France

IB Cegos


Formations aux technologies et métiers du Numérique
Voir la fiche

Tarif

Contacter l'organisme

Durée 4 jours (28 heures)
Modes
  • Entreprise
  • Distance
  • Centre
Sessions
Lieux Partout en France

Programme

1 - 1ère partie : Programmer pour le noyau Linux

    2 - Noyau Linux et modules

    • Modèle
    • Versions
    • Licence GPL
    • Développement du noyau
    • Appels-systèmes
    • Modules
    • Travaux pratiques : observation des appels-système invoqués par des applications et commandes utilisateur et manipulation des modules précompilés

    3 - Outils de développement noyau

    • Sources
    • Compilation du noyau et des modules
    • Écriture et compilation de modules
    • Cross-compilation
    • Messages
    • Dépendances
    • Travaux pratiques : compilation et installation d'un noyau, écriture de modules simples, intégration dans le noyau, paramètres au boot, cross-compilation sur Raspberry Pi

    4 - API du noyau

    • Chaînes
    • Blocs mémoire
    • Fonctions numériques et conversions
    • Éléments temporels et actions différées
    • Préemptibilité du noyau
    • Travaux pratiques : écriture d'un module d'horodatage, chronométrage des phases de boot, mesure de précision d'horloge et mesure de durée d'un appel-système

    5 - Environnement du noyau

    • Tâches et processus courants
    • Espaces d'adressage
    • Dialogue avec /proc
    • Travaux pratiques : écriture d'un module d'information sur les structures internes des processus, écriture d'un module d'horodatage via /proc et tests sur Raspberry Pi

    6 - 2ème partie : Écriture d'un driver

      7 - Écriture d'un pilote de périphérique

      • Principe
      • Numéros majeurs et mineurs
      • Classes de périphériques
      • Enregistrement du driver
      • Fonctions de lecture et écriture
      • Travaux pratiques : manipulation des fichiers spéciaux, réservation de numéro majeur, enregistrement de périphérique et écriture d'un driver simple

      8 - Appels-système et I/O

      • Paramétrage par ioctl
      • Synchronisation d'appels-système par mutex
      • Accès matériel
      • Ports d'entrées-sorties
      • GPIO sur carte embarquée
      • Travaux pratiques : mise en évidence de la nécessité des mutex, écriture d'un driver d'entrées-sorties sur GPIO du Raspberry Pi

      9 - Gestion d'interruption

      • Contextes d'exécution
      • Installation d'un handler
      • Traitement différé (tasklet, workqueue et thread interrupt)
      • Travaux pratiques : écriture d'un gestionnaire sur interruption clavier PC et sur GPIO du Raspberry Pi, visualisation des threadeds interrupts

      10 - Interactions entre appels-système et interruptions

      • Protection des variables globales (spinlock)
      • Attentes d'événements (waitqueue)
      • Appels-système bloquants
      • Travaux pratiques : influence des priorités temps-réel sur les threads d'interruption et mesure de temps de latence des interruptions du Raspberry Pi

      11 - 3ème partie : Aspects avancés d'un driver de périphérique

        12 - Entrées-sorties avancées

        • Multiplexage d'entrée-sorties (select et poll)
        • Principes des transferts de données par DMA
        • Travaux pratiques : création d'un périphérique "file de messages" virtuel implémentant plusieurs appels-système, implémentation de select sur des entrées GPIO

        13 - Gestion de la mémoire

        • Allocation et libération de mémoire (kmalloc, vmalloc, get_free_pages, kmem_cache)
        • Projections (mmap)
        • Travaux pratiques : expériences sur la projection mémoire en espace utilisateur et allocations mémoire maximales

        14 - Périphériques blocs et VFS

        • Principes
        • Enregistrement
        • Disque générique
        • File de requêtes
        • Partitionnement
        • Sous-système Block, i/o scheduler
        • Virtual File System
        • Travaux pratiques : écriture d'un driver de disque virtuel, partitionnement, formatage et montage de disque virtuel, observation des effets des caches-disques du VFS

        15 - Périphériques PCI Express

        • Principe
        • Détection et enregistrement de driver
        • Base Address Registers
        • Interruptions classiques et MSI
        • Travaux pratiques : étude d'un driver PCIe de pilotage d'une carte à FPGA

        16 - 4ème partie : Autres types de périphériques

          17 - Périphériques réseau

          • Interfaces bas-niveau et protocoles réseau
          • Périphérique net_device
          • Enregistrement
          • Activation
          • Émission et réception de paquets
          • Travaux pratiques : écriture progressive d'un driver pour périphérique virtuel permettant l'utilisation du protocole IPv4

          18 - Communications réseau

          • Statistiques d'utilisation d'interface
          • Principes de la pile IP
          • Communications entre protocoles et interface bas-niveau
          • Travaux pratiques : examen du trajet des données au sein de la pile IPv4 lors de réception et d'émission de données avec le protocole TCP/IP

          19 - Utilisation du bus USB

          • Organisation du sous-système USB de Linux
          • Implémentation d'un driver Interrupt
          • Type de Endpoints
          • Communication avec les URB
          • Travaux pratiques : écriture d'un driver pour carte d'entrée-sortie Velleman K8055

          20 - Aspects avancés

          • Écritures successives rapides
          • Déconnexions intempestives
          • Accès concurrents
          • Exemples de drivers Bulk, Control et Isochrones

          21 - Conclusion : discussions libres sur l'ensemble des thèmes abordés

            22 - Travaux pratiques : expérimentations libres suivant les demandes des participants

              Prérequis

              • Connaissance de Linux (utilisateur) et du langage C

              Public

              • Toute personne intéressée par le développement systèmes temps réel sur Linux

              Ces formations pourraient vous intéresser

              Objectifs de la formation

              • Maîtriser la syntaxe du langage Python
              • Acquérir les notions essentielles de la programmation objet
              • Connaître et mettre en oeuvre les différents modules Python
              Tarif

              A partir de 1 390,00 €

              Durée

              2j / 14h

              Modes
              • Centre
              • Entreprise
              • Distance

              Objectifs de la formation

              Résoudre les problèmes du développement logiciel et produire des applications performantes.

               Objectifs pédagogiques :

              Concrètement, à l'issue de cette formation Design Patterns vous serez en mesure de :

              • Résoudre des problèmes de programmation complexes grâce aux design patterns standard
              • Produire un code sans erreur en utilisant le développement piloté par les tests et Visual Studio
              • Créer des architectures multicouches réutilisables et éliminer la duplication fonctionnelle
              Tarif

              A partir de 2 290,00 €

              Durée

              4j / 28h

              Modes
              • Centre
              • Entreprise
              • Distance

              Objectifs de la formation

              • Pendant la formation, le formateur évalue la progression pédagogique des participants via des QCM, des mises en situation et des travaux pratiques. Les participants passent un test de positionnement avant et après la formation pour valider leurs compétences acquises.
              Tarif

              Contacter l'organisme

              Durée

              4 jours (28 heures)

              Modes
              • Entreprise
              • Distance
              • Centre

              Objectifs de la formation

              À l'issue de cette formation VMware Horizon 8, vous aurez acquis les connaissances et compétences nécessaires pour :

              • Citer les caractéristiques et les avantages d'Horizon
              • Créer des machines virtuelles avec VMware vSphere, qui seront utilisées comme ordinateurs de bureau pour Horizon
              • Créer et optimiser les VM Windows pour créer des bureaux Horizon
              • Expliquer la configuration et la gestion des systèmes VMware Horizon Client et la connexion du client à un bureau VMware Horizon
              • Expliquer la configuration, la gestion et l'habilitation des pools de postes de travail de VM complets
              • Expliquer la configuration, la gestion et l'attribution des pools de bureaux à clonage instantané
              • Créer et utiliser des ordinateurs de bureau RDS (Remote Desktop Services) et des pools d'application
              • Appliquer la surveillance de l'environnement Horizon à l'aide du tableau de bord de la console Horizon et l'outil d'assistance Horizon
              • Identifier l'installation, l'architecture et le fonctionnement du serveur de connexion Horizon
              • Décrire les options d'authentification et de certification pour un environnement Horizon
              • Expliquer le processus d'intégration et les avantages de VMware Workspace ONE Access et Horizon 8
              • Discuter des options de performance et d'évolutivité disponibles dans Horizon 8
              • Décrire les différentes options de sécurité pour l'environnement Horizon
              Tarif

              A partir de 3 750,00 €

              Durée

              5j / 35h

              Modes
              • Centre
              • Entreprise
              • Distance

              Objectifs de la formation

              • Installer et configurer une base MongoDB
              • Effectuer des opérations de lecture, écriture et mise à jour de données
              • Extraire des données complexes
              • Mettre en œuvre le driver Java afin d'exploiter les données d'une base MongoDB
              • Implémenter un service d'accès aux données basé sur un mapping Objet-Document
              Tarif

              Contacter l'organisme

              Durée

              3j / 21h

              Modes
              • Centre
              • Entreprise
              • Distance

              Objectifs de la formation

              À l'issue de cette formation Access 2013 Avancé, vous aurez acquis les connaissances et compétences nécessaires pour :

              • Valider des données
              • Utiliser les fonctionnalités de programmation de Visual Basic for Applications dans les applications Access pour écrire des fonctions personnalisées et des procédures contrôlées par les événements
              • Accéder aux données contenues dans des tables et les manipuler à l'aide des objets de données ActiveX (ADO, ActiveX Data Object) et du langage SQL (Structured Query Language)
              • Rechercher les erreurs et les intercepter
              • Créer un panneau de distribution personnalisé pour une application Access
              Tarif

              Contacter l'organisme

              Durée

              3j / 21h

              Modes
              • Centre
              • Entreprise
              • Distance

              Objectifs de la formation

              • Cette formation fait l'objet d'une évaluation formative.
              Tarif

              Contacter l'organisme

              Durée

              3 jours (21 heures)

              Modes
              • Distance
              • Centre

              Visual Basic.NET - Prise en main

              Proposé par CIT FORMATION INFORMATIQUE

              Objectifs de la formation

              Développeurs souhaitant acquérir les connaissances de bases du langage VB.NET et évoluer vers sa mise en œuvre.

              À l'issue de la formation, le stagiaire sera capable de :

              • De comprendre le concept de la programmation orientée objet
              • Créer des applications Windows avec VB.NET
              Tarif

              Contacter l'organisme

              Durée

              5 jour(s)

              Modes
              • Entreprise
              • Centre

              Objectifs de la formation

              • Appréhender les différences entre les différentes technologies de scripting
              • Créer des scripts automatisés gérant le registre, les fichiers et l'annuaire
              • Concevoir des outils graphiques d'administration système
              • Se préparer aux évolutions majeures des scripts Windows
              Tarif

              A partir de 2 020,00 €

              Durée

              3j / 21h

              Modes
              • Centre
              • Entreprise
              • Distance

              Formation SQL Server 2017 sous Linux

              Proposé par PLB CONSULTANT

              Objectifs de la formation

              Concrètement, à l'issue de cette formation SQL Server 2017 sous Linux vous aurez acquis les connaissances et les compétences nécessaires pour :

              • Appréhender les capacités de SQL Server 2017 sous Linux en en connaître composants clés
              • Comprendre comment déployer et configurer SQL Server 2017 sous Linux
              • Savoir installer les composants facultatifs supplémentaires sur SQL Server 2017
              • Être en mesure de connecter et gérer les images de SQL Server 2017 sous Linux
              • Savoir migrer des bases de données à partir d'autres systèmes de bases de données vers SQL Server 2017 sous Linux et assurer la reprise après sinistre
              • Connaître les fonctionnalités de haute disponibilité de SQL Server 2017 sous Linux
              Tarif

              Contacter l'organisme

              Durée

              2j / 14h

              Modes
              • Centre
              • Entreprise
              • Distance

              Je cherche à faire...