Nous avons maintes fois évoqué le développement de pilotes Linux dans les colonnes de GLMF ou Open Silicium, et ce depuis de nombreuses années (pour ma part depuis 2000 ! [1]). Dans ces nombreux articles, nous avons abordé les principes ainsi que des API spécifiques (PCI, USB, etc.). Dans ce nouvel article, nous allons spécifiquement nous attacher à une fonctionnalité bien connue des systèmes UNIX/Linux (y compris des « UNIX like ») en l’occurrence l’appel système ioctl().
Rédiger un article dédié à ioctl() peut paraître saugrenu au commun des mortels. L’idée peut paraître étrange même dans le clan des spécialistes Linux, car les développeurs de pilotes noyau sont finalement assez peu nombreux, la tendance étant – à juste titre – de privilégier les solutions en espace utilisateur pour la majorité des développements industriels. L’auteur lui-même a publié dans Open Silicium numéro 19 un article intitulé « Comment ne pas écrire de pilote Linux » [2] et ça n’était pas (uniquement) de la provocation ! D’autres spécialistes comme notre confrère Chris Simmonds (2net.com) ont d’ailleurs publié des articles dans le même sens [3].
Malgré tout et en dépit des difficultés et désavantages d’une solution en espace noyau (licence, complexité d’écriture, mise au point, maintenance), l’écriture d’un pilote est parfois nécessaire lorsqu’il s’agit de piloter un périphérique spécial avec les...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première