Minix
Le Linux Journal du mois de juin inclut un article sur MINIX. Qu’est-ce que MINIX ? Le professeur Andrew S. Tanenbaum a conçu un système d’exploitation de type Unix minimaliste (il fonctionnait sur un 8086) afin que ses étudiants puissent comprendre les principes d’un système d’exploitation. C’était l’un des rares Unix que l’on pouvait installer sur un simple PC à la fin des années 1980s. Et il fallait l’acheter (en fait, il était inclus dans un livre sur les systèmes d’exploitation du dit professeur).
MINIX a servi d’inspiration (et de modèle à ne pas suivre) à Linus Torvalds. Au début des années 1990s, Linux se distinguait de MINIX par le type de Kernel qu’il employait, par le processeur requis (il nécessitait un 386, car il faisait un emploi intensif du nouveau jeu d’instructions d’Intel), mais surtout par sa gratuité. Là où Hurd n’avait toujours pas livré la marchandise, Linux se montrait prometteur.
Mais la différence de philosophie entre les deux créateurs a donné lieu à quelques échanges pimentés. Ils sont toujours intéressants à lire, ne serait-ce que pour constater le chemin parcouru. MINIX 3 est maintenant gratuit. Il n’a jamais dépassé Linux. De son côté, Linux a été porté sur une multitude de plateformes. Et de l’aveu même de sont créateur original, il s’avère de plus en plus lourd.
De nos jours, nous disposons de bien plus de ressources que ces gens. Et pourtant, la création d’un nouveau système d’exploitation est devenu une tâche titanesque. Malgré les prouesses techniques dans le dernier Core i7, ce n’est pas aussi intéressant de créer un OS qui lui serait dédié que ne l’était le 386 pour Linux. Et il est fichtrement ardu de comprendre un OS en étudiant le code de la dernière version du kernel. Ce n’est plus quelques milliers de lignes de code en C.
Au milieu des années 1990s, bien des gens auraient parié sur le remplacement des processeurs Intel par des PowerPC (ou autre RISC) comme processeur dominant. 15 ans plus tard, les processeurs Intel sont toujours dominants pour les ordinateurs portatifs et de table, et ils ont intégré quelques éléments des processeurs RISC. Les processeurs RISC sont dominants sur d’autres plateformes, en nombre beaucoup plus élevé que les ordinateurs “traditionnels”. Même chose pour les systèmes d’exploitation. Ce n’est pas Windows qui aurait obtenu la faveur à l’époque. La majorité des systèmes prometteurs au début des années 1990 ont disparu ou vivotent. Comme quoi l’évolution informatique répond à d’autres critères que les simples qualités intrinsèques (ou leur absence) des produits.
J’ai encore l’impression que nous sous-exploitons le matériel et les logiciels qui sont à notre disposition (un peu moins qu’auparavant toutefois). Ce sentiment vient entre autres de la lecture de la doc des CPUs. Il me semble qu’il y a toujours des fonctionnalités avancées qui sont peu ou pas exploitées pour différentes raisons. Certains OS du passé, comme l’AmigaOS 4, ont peu d’équivalent “moderne”. Le concept de microkernel semble toujours prometteur, mais il est peu employé (à ma connaissance, deux OS seulement parviennent à l’implanter correctement). Mac OS X offre un kernel hybride, à mi-chemin entre le micro et le monolithique. Les technologies sur lesquelles il repose ne sont pas toute à la fine pointe et plusieurs de ses éléments sont cachés sous la jupe d’Apple. QNX serait un OS intéressant à étudier, mais il est fermé.
Reste que maintenant une panoplie de systèmes d’exploitation au code source ouvert s’offrent à notre étude. MINIX a ouvert la voie et demeure un point de départ. Mais il sera nécessaire d’étudier d’autres OS afin de pouvoir le comparer et étudier des notions plus avancées.


