Linus Torvalds est un pionnier, un visionnaire. C'est à l'âge de 22 ans seulement qu'il conçoit les prémices du noyau Linux, dont il publiera la version 1.0.0 à l'âge de 25 ans . On vous en dit plus dans cet article !
Linus Torvalds
Linus Benedict Torvalds est né le 28 décembre 1969 à Helsinki, en Finlande. Ses parents, tous deux journalistes, l’ont nommé ainsi en référence à Linus Pauling, lauréat du prix Nobel de chimie américain.
Cependant, Linus Torvalds préfère une tout autre référence : le personnage Linus van Pelt du dessin animé Snoopy. Quoi qu'il en soit, Linus a marqué l’histoire de l’informatique en laissant une empreinte indélébile bien au-delà de ces références.
C’est en découvrant l’ordinateur de son grand-père, un Commodore VIC-20, à l’âge de onze ans, que le jeune Linus se passionne pour l’informatique.
Notre génie en devenir poursuit ensuite des études à l'université d'Helsinki, où il obtiendra un master en informatique en 1996. C'est durant cette période que naissent les premiers balbutiements de Linux.
Alors jeune étudiant, Linus découvre un système d'exploitation baptisé Minix, dont il s'inspire pour développer un noyau pour son propre ordinateur. Il publie un premier prototype de Linux en 1991, et ces travaux constitueront plus tard son sujet de thèse : Linux: A Portable Operating System.
En 2010, Linus obtient la nationalité américaine.
Les succès de Linus Torvalds
- 1991 : Débuts de Linux
- 1994 : Version 1.0.0 de Linux
- 2003 : Entrée dans l'Open Source Development Labs
- 2005 : Création de Git
- 2007 : l'Open Source Development Labs est intégré à la Fondation Linux
- 2012 : Réception du prix Millennium Technology, décerné par la Technology Academy Finland
- 2014 : Lauréat du Computer Pioneer Award, décerné par l'IEEE Computer Society
Linux, mais qu'est-ce donc ?
Linux, dans sa version initiale, est un noyau de système d'exploitation de type UNIX, ce qui signifie qu'il est multitâche, multi-utilisateur, et qu'il respecte un certain nombre de standards regroupés sous la norme POSIX. De ce fait, Linux, ainsi que les autres systèmes d'exploitation de type UNIX (comme BSD, iOS, et macOS), reposent sur les mêmes normes.
Linux est principalement développé en langage C. En tant que système de type UNIX, il dispose de nombreux petits programmes indépendants, chacun spécialisé dans une tâche précise, ainsi que d’interpréteurs de commandes appelés « shells ». Il est possible de créer des flux de programmes via des pipes (représentés par le symbole |
).
Remarque : La comparaison avec les microservices est tentante : ces tâches sont indépendantes et se limitent à leur rôle le plus strict. On peut les "câbler" ensemble pour les faire interagir, de manière similaire aux microservices.
Et la mascotte, d'où vient elle ?
Elle s'appelle Tux ! Il s'agit d'un manchot (et non d'un pingouin, il pourrait finir par se vexer !) dessiné par Larry Ewing en 1996. Son usage est évidemment libre.
Reconstitution très approximative :
Matt : « Le logo devrait être un requin ! C'est un animal fort, qui en veut ! »
Alan : « Non, si on va par là, il faudrait un aigle, majestueux, qui survole tout et, avec sa vue perçante, repère les proies à des centaines de mètres ! »
Matt : « Oui, mais le requin, c'est le roi des océans ! »
Des avis fusent, les échanges se multiplient, chacun y va de sa propre idée et la défend... Requins, tigres, aigles, nombreux sont les animaux candidats, jusqu'à ce que...
Linus : « Moi, j'aime bien les manchots... »
Bon, alors on va partir là-dessus.
Il faut savoir que Linus s'y connaît en manchots, il les adore ! L'idée derrière cette image était pour lui de représenter un manchot heureux (qui vient de manger), pas « gros » mais suffisamment rond pour qu'on ait envie de le câliner.
Quelles différences avec d'autres systèmes d'exploitation ?
Windows : Windows est un système d'exploitation propriétaire dont le noyau est développé par Microsoft. Cela signifie que, contrairement à Linux, seuls les développeurs de Microsoft peuvent modifier le système. Le code source n'est pas public, il n'est donc pas possible de créer une version dérivée de Windows.
FreeBSD : FreeBSD adopte une architecture monolithique, où toutes les fonctions et pilotes principaux sont directement intégrés au noyau. Cela vise à garantir stabilité et performances. En revanche, Linux a fait le choix de la modularité, ce qui permet de charger ou décharger des fonctionnalités pendant l'exécution du système.
macOS : macOS se situe un peu entre les deux. Il est basé sur UNIX, mais reste un système propriétaire contrôlé par Apple. De plus, il s'adresse à un public plus large et moins technique que Linux.
Mais pourquoi avoir créé Linux ?
Initialement ? Pour le fun ! Les cours sur Minix ne lui conviennent pas. Il décide donc de sécher les cours pour écrire un émulateur de terminal à partir de zéro. Son programme prend petit à petit de l'ampleur, et finalement, c'est un véritable petit système d'exploitation qui voit le jour.
Voici l'un des premiers messages qu'il publie sur comp.is.minix le 5 octobre 1991 :
Vous regrettez le bon vieux temps de Minix 1.1, lorsque les hommes étaient des hommes et écrivaient eux-mêmes les pilotes pour leur matériel ? Vous n’avez pas de projet intéressant en cours et vous crevez d’envie de mettre les mains dans le cambouis d’un OS que vous pouvez adapter à vos besoins ? Ça vous agace quand tout marche bien sous Minix ? Finies les nuits blanches pour faire fonctionner un petit logiciel bien pratique ? Alors ce message est sûrement pour vous.
Comme je l’ai dit il y a un mois, je travaille en ce moment sur une version libre d’un minixoïde pour les machines de type AT-386. J’en suis à un stade où c’est même utilisable, et je suis prêt à distribuer les sources à plus grande échelle.
Les sources de mon petit projet sont disponibles sur le serveur FTP de l’université, dans le répertoire/pub/OS/Linux
. Ce répertoire contient également un fichierREADME
et une poignée de binaires pour travailler sous Linux. Les sources complètes du noyau sont fournies, vu qu’aucune ligne de code Minix n’a été utilisée.
Je vous entends déjà vous demander : « Pourquoi ? ». Hurd va sortir d’ici un an ou deux, ou dans un mois, qui sait, et j’ai déjà Minix. C’est un système fait par un bidouilleur pour les bidouilleurs. Je me suis bien amusé à l’écrire et ça fera peut-être plaisir à quelqu’un d’y jeter un coup d’œil et même de l’adapter à ses propres besoins. Il est suffisamment petit pour qu’on puisse le comprendre, l’utiliser et le modifier. J’attends les commentaires que vous pourrez y apporter.
L'utilisation de Linux aujourd'hui
Aujourd'hui, plusieurs distributions sont issues du noyau Linux, comme Ubuntu, Debian ou Fedora, pour ne citer qu'elles. Ces distributions ne sont pas seulement destinées au grand public, mais elles sont également utilisées dans de nombreuses applications déployées dans le cloud et servent souvent de base à des architectures de microservices.