Le système d'exploitation Minix, conçu pour être stable, sera financé par l'Union Européenne
Pourquoi est-on habitué à ce que les télévisions ou les téléphones fonctionnent sans souci des années durant, et à ce qu'il faille régulièrement réinitialiser des ordinateurs ? C'est avec cette question en tête que le professeur Andy Tanenbaum, qui enseigne au département des sciences informatiques de la Vrije Universiteit d'Amsterdam, a démarré la version 3 de Minix et obtenu pour ce faire une subvention de l'Union européenne de 2,4 M€. Pour Andy Tanenbaum, tout vient de l'instabilité du système d'exploitation. Windows, bien sûr, mais Linux n'est pas épargné, de par sa conception identique : des dizaines de pilotes logiciels - soit des bouts de code écrits par des centaines de développeurs - pour les périphériques sont chargés au sein du noyau, ce qui ouvre la porte à toutes sortes de problèmes. « C'est l'équivalent électronique de la personne qui accepterait d'emporter la valise d'un parfait inconnu à bord d'un avion », écrit Andy Tanenbaum dans son projet de recherche, R3S3 (Research on really reliable and secure system software). Le scientifique pointe en outre la complexité due à la taille, en nombre de lignes de code, des systèmes d'exploitation actuels. Non seulement leur taille les rend impossibles à appréhender pour un programmeur, mais en outre, statistiquement, ils accumulent les bugs potentiels. Andy Tanenbaum cite des études d'après lesquelles les logiciels disponibles aujourd'hui présentent des taux de 1 à 20 bugs pour 1 000 lignes de code. Or, Windows XP compte environ 50 millions de lignes de code, Windows Vista 70 millions... Un micro-noyau de 5 000 lignes de code, plus facile à déboguer Pour éliminer ces deux principaux problèmes, Andy Tanenbaum propose un OS reposant sur un micro-noyau, et exécutant des processus utilisateurs dans un mode sécurisé. Ainsi, ces processus pourraient redémarrer sans impacter la stabilité du système. Et la taille du micro-noyau rendrait la détection de bugs aisée. « Le micro-noyau [de Minix 3] fait environ 5 000 lignes de code, soit moins de 0,1% de la taille du noyau de Windows, ou moins de 0,2% de la taille du noyau de Linux. Statistiquement, cela signifie que le noyau comporte entre 5 et 100 bugs, qui peuvent être détectés. Et puis 5 000 lignes de code, c'est un listing de 100 pages, quelque chose qu'un développeur peut lire et comprendre en l'espace d'une semaine. » Minix est loin d'être nouveau dans le domaine des systèmes d'exploitation. L'OS a même été au coeur d'une controverse sur le fait que Linux aurait embarqué du code Minix (Linus Torvalds et Andy Tanenbaum ont depuis expliqué qu'il n'en était rien). La version 3 date même de 2005. Mais alors que ce système Unix proposé sous licence BSD avait surtout jusqu'à présent vocation à être un objet pédagogique, il est devenu en novembre dernier un projet de recherche financé par l'Union européenne. Le département des sciences informatiques de la Vrije Universiteit se réunissait aujourd'hui pour célébrer le lancement officiel du projet, d'une durée de 5 ans. En parallèle, Andy Tanenbaum a aussi obtenu que des étudiants de son équipe obtiennent un financement de la part de Google, dans le cadre du Google Summer of Code. A terme, les concepteurs de Minix 3 aimeraient le voir s'imposer dans les PC à bas prix, et dans tout système électronique dont on attend qu'ils ne tombent jamais en panne. « Le travail sera fini, explique Andy Tanenbaum, quand l'utilisateur moyen n'aura jamais connu aucun plantage dans sa vie, et que les boutons 'reset' des ordinateurs seront tombés dans les oubliettes de l'histoire, comme les disquettes souples 5 pouces un quart. »