English

Formation

Chez KMS, nous sommes passionnés par ce que nous faisons et nous aimons partager cette passion.

Nous offrons donc des formations techniques de différentes durées sur des sujets liés à notre expertise.

Nos clients peuvent choisir parmi des formations existantes ou encore convenir d'une formation conçue pour répondre à des besoins spécifiques.

Pilote Windows

Cette formation est une introduction au développement de pilotes Windows en utilisant KMDF ou UMDF, les deux parties de WDF. Elle aborde les concepts de base: architecture des pilotes, pile de pilotes, filtre, interface, signature... Elle explique aussi comment choisir la version de l'environnement à utiliser et le type de pilote à développer. Elle expose aussi les bonnes pratiques et donne plusieurs références qui aideront les participants à continuer leurs apprentissages et expérimentations.

C++ pour le noyau

L'utilisation du langage C++ pour la programmation de module noyau (kernel), comme les pilotes de périphériques, était autrefois proscrite et seul les plus braves s'y aventuraient. Maintenant, ce langage est mieux accepté, les outils le supportent mieux et surtout, le chemin à été défriché.

Cette formation vise justement à permettre d'utiliser le langage C++ dans le noyau et ainsi profiter de ses avantages sans tomber dans certains pièges dans lesquels d'autres sont tombés avant vous.

Debugger noyau

Cette formation explique comment configurer et utiliser WinDBG pour le debogage de pilote. Elle insiste sur les différences entre le debogage applicatif et le debogage de code s'exécutant en mode noyau.

OpenCL™

Cette formation présente la programmation parallèle à l'aide d'OpenCL™. Elle décrit et explique la programmation hôte utilisant la librairie OpenCL™ et la programmation pour processeur graphique utilisant le langage OpenCL™ C.

Surtout, elle guide le participant dans l'écriture de ses premiers programmes OpenCL™ complets comportant la gestion de la mémoire, le passage des arguments, le contrôle de l'exécution, le transfert des données et la synchronisation entre kernels et à l'intérieure d'un kernel.

Optimisation

Cette présentation a pour but d'amorcer une réflexion pratique au sujet de l'optimisation en posant les questions suivantes:

Tests logiciels

En seulement une heure, nous amorceons une réflexion au sujet des tests logiciels.

Assert

Cette présentation explique l'utilisation des asserts, les avantages et les limites. Elle présente aussi les bénéfices de ces vérifications lors des tests et du déverminage.

Conversion de types en C/C++

Cette présentation débute par décrire l'opérateur de conversion C et les dangers de celui-ci. Elle présente ensuite les opérateurs de conversion C++ et comment ils permettent d'éviter les dangers.