OS X sur Intel

Ces jours, il y a eu beaucoup de bruits concernant Mac OS X. Plus précisément, des gens ont réussi à faire tourner la version développeur du système d’exploitation OS X sur des PC génériques. En soi, cela n’a rien de très étonnant, vu que Darwin le noyau open source, tourne déjà sur des PCs génériques, et que la version PPC fonctionne dans un émulateur PPC. Il est clair que la situation sera un peu différente avec la version finale de l’OS, peut-être à cause de mesures qu’Apple aura pris, très probablement surtout à cause de changements internes entre les versions de développement et la version finale. La question que beaucoup de gens se sont posées est naturellement, que va faire Apple ? Naturellement, je ne peux proposer que des conjectures gratuites, n’oublions pas que ceci est un blog.

Tout d’abord je doute que les gens d’Apple ont un plan précis. Le changement d’architecture a été passablement abrupt, et à ce stade ils auraient tord d’exclure des possibilités. À une extrémité du spectre des possibilités, Apple vend son OS pour des machines génériques, et ses propres machines ne sont qu’un cas spécial, à l’autre extrémité, OS X ne tourne que sur les machines Apple et l’authenticité du hardware est vérifiée grâce à des puces de sécurité. Naturellement, les choix sont surtout dictés par des considération commerciales, mais au delà il reste une question techniques, celle des drivers

Les drivers sont les composantes logicielles qui assurent l’interface entre le système d’exploitation et le matériel. Sans drivers, l’OS ne peut tout simplement rien faire. Le problème, c’est qu’écrire des drivers est une tâche ardue. D’abord parce qu’un des rôles du système d’exploitation est de simplifier la programmation, cette aide n’est pas disponible quand on programme un driver, qui s’exécute dans le système d’exploitation. Ensuite quand du hardware est fabriqué, un certain nombre de choses sont prises en compte: simplicité, réutilisation, performance, mais en général, concevoir du hardware pour que le driver soit simple est quelque chose d’assez rare. C’est une tendance qui a tendance à s’atténuer pour des composants génériques, comme les appareils photos ou les clefs USB qui partagent en fait le même driver générique USB, mais cela reste l’exception plutôt que la règle.

Or pour faire tourner OS X sur du matériel il faut des drivers. OS X contiendra des drivers pour le matériel Apple, et certains types de hardware génériques, mais cela ne suffira pas pour faire fonctionner la pléthore de matériel qu’on trouve dans le monde PC. À ce niveau, il faut comprendre qu’il y a de nombreuses interprétations de la phrase ce système d’exploitation fonctionne sur telle machine, la plus brute est que le système est capable de parler aux composantes de base : le processeur, la mémoire, un contrôleur disque et un disque. Si on ajoute une carte réseau, c’est suffisant pour faire tourner un serveur, à l’autre extrême le système d’exploitation est capable de gérer toutes les fonctionnalités de la machine, ce qui inclut les fonctions de veilles de la carte mère, le son, et la carte graphique avec de bonnes performances. Avec des drivers génériques et de l’émulation, on peut très vite arriver au premier niveau. Arriver au second requiert les bons drivers ce qui demande beaucoup de travail. Il faut noter que les autres systèmes d’exploitation ont le même problème, trouver les bons drivers pour avoir toutes les fonctionnalités d’un laptop sous Linux n’est pas toujours simple.

Techniquement, rien n’empêche qui que ce soit d’écrire des drivers pour un matériel donné pour Mac OS X que ce soit la version PPC ou la version i8086. Un exemple notable est le project XPost-Facto. Ce projet gère une série de drivers permettant de faire tourner OS X sur de vieilles machines qui ne sont plus supportées par Apple. Naturellement, dans ce cas, comme il s’agit de matériel Apple, le projet a droit, sinon au support, au moins à l’indifférence de Apple. Le projet semble être partiellement supporté par des compagnies qui vendent des cartes accélératrices. Malgré cela, le niveau de support reste assez approximatif : beaucoup de composantes ne fonctionnent pas, ou pas complètement. Par exemple, j’avais reçu d’Alias un vieux G3 beige sur lequel j’avais joué avec XPostFacto et les composantes suivants n’était pas reconnus:

  • Le lecteur de disquettes
  • La carte vidéo accessoire
  • La cache de niveau 2 du processeur
  • La fonction de veille

Outre cela, l’OS était incapable de gérer la souris ADB Logitech qu’Alias m’avait donné avec la machine, heureusement j’ai trouvé une souris Apple dans les poubelles du CERN. Bref si la machine fonctionnait à peu près, et pouvait servir de serveur, comme machine pour travailler c’était vraiment pas ça.

Si je n’ai aucun doute que quelque soit les protections qu’Apple mettra en place pour éviter que leur OS tourne sur du matériel non Apple, elles seront brisées assez rapidement. Par contre, je suis moins sûr en ce qui concerne les drivers pour les cartes mères qui ne sont pas de Apple. Car les cartes de Apple seront probablement assez différentes vu qu’elles n’ont aucun besoin d’être compatibles avec 30 ans d’histoires de PC. Dans ce conditions, je soupçonne qu’Apple se contentera de mettre des protections symboliques, suffisantes pour que personne ne puisse prétendre avoir installé l’OS par erreur et laisser les enthousiastes écrire des drivers, surtout si ce faisant, ils écrivent des drivers pour leurs périphériques – ce qui intéresserait Apple beaucoup plus.

2 thoughts on “OS X sur Intel”

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.