Des pilotes plus faciles à développer pour MacOS X

Cloud

Quelques semaines après avoir levé le voile sur une nouvelle version des librairies Carbon, Apple livre le kit de développement des pilotes sous MacOS X. Cette fois-ci, la Pomme le réserve uniquement aux développeurs.

Rappelez-vous. Pendant quelques heures seulement, on pouvait télécharger avec l’ensemble Carbon un document bien curieux décrivant une petite partie de l’interface Aqua (voir édition du 22 février 2000). Apple a réagi très vite en retirant discrètement ce document confidentiel. Pour le kit de développement des pilotes de périphériques, Apple a veillé au grain dès le début. Le document n’est accessible qu’aux développeurs ayant signé une clause de non-divulgation.

Pourquoi ce kit est-il aussi important que cela ? Pour pouvoir créer et/ou adapter des pilotes de périphériques (imprimantes, disques durs, lecteurs ZIP?) on utilise souvent sans le savoir des pilotes (souvent également désignés par leur équivalent anglais drivers). Ces pilotes sont installés dans le dossier Système, le plus souvent. Cela permet à MacOS de reconnaître les périphériques et ainsi de pouvoir les piloter (d’où le nom) lorsque l’utilisateur le demande. Or, les pilotes de MacOS 9 ne fonctionne pas sous MacOS X. L’architecture des deux systèmes est totalement différente. Sous MacOS, la couche logicielle (le système et tous les éléments associés) est très liée à la couche matérielle (processeur, périphériques?). Or, sous MacOS X, chaque couche est indépendante, c’est une caractéristique des systèmes dits modernes. Cela implique que le pilote ne communique pas directement avec le matériel, il doit passer par une couche basse du système, soit un service système dédié à la gestion des pilotes, soit directement par l’intermédiaire du micro-noyau. Tout cela vous semble sans doute très compliqué. Mais pour les développeurs et les utilisateurs cette méthode est plus souple et surtout plus performante.

Le I/O Driver Kit (nom du kit de développement qui succède au Driver Kit de MacOS X Server qui était en fait celui de NextStep) apporte une bien plus grande facilité de développement. Comparé à la programmation d’un pilote sous MacOS 9, développer un pilote pour MacOS X sera presque aussi simple que de créer une application native Cocoa. Tout d’abord, le développeur est obligé d’utiliser ce kit pour pouvoir créer son pilote. Pour simplifier la programmation, le I/O Driver Kit est une librairie objets écrite en Objective C (langage objet de MacOS X créé pour NextStep). Une des particularités de ce kit est qu’il se spécialise en plusieurs catégorie de pilotes. Ainsi, le développeur a une partie réseau, une autre son/vidéo, pour les volumes, l’impression? Il existe une véritable hiérarchie et spécialisation qui n’existe absolument pas sous le MacOS actuel, qui n’est en fin de compte qu’un fourre-tout. Et Apple n’a jamais livré de kit de développement spécifique, seulement des kits séparés ou des documentations.

La disponibilité de I/O Driver Kit est un tournant important pour MacOS X. Plus vite, les développeurs adapteront leurs pilotes, plus vite, à la sortie de MacOS X, on aura des périphériques compatibles ! Dommage qu’Apple ait pris plusieurs semaines de retard sur la planning initial, ce kit devait être disponible en décembre 1999.