Une brève histoire de Linux

Introduction

En usage courant, « Linux » fait souvent référence à un groupe de distributions de systèmes d’exploitation construites autour du noyau Linux. Dans le sens le plus strict, cependant, Linux se réfère uniquement à la présence du noyau lui-même. Pour construire un système d’exploitation complet, les distributions Linux incluent souvent des outils et des bibliothèques du projet GNU et d’autres sources. De plus en plus de développeurs utilisent Linux récemment pour construire et exécuter des applications mobiles ; il a également joué un rôle clé dans le développement d’appareils abordables tels que les Chromebooks, qui exécutent des systèmes d’exploitation sur le noyau. Dans le cloud computing et les environnements de serveur en général, Linux est un choix populaire pour certaines raisons pratiques :

  • ses distributions restent actuelles et sont soutenues par des communautés d’autres développeurs.
  • Il peut fonctionner sur une large gamme de matériels et s’installera aux côtés de systèmes préexistants (une caractéristique utile dans les environnements de développement locaux).
  • Il prend en charge l’installation centralisée de logiciels à partir de référentiels préexistants.
  • Ses besoins en ressources sont faibles.
  • Il est souvent en tête de liste lorsque les développeurs construisent des écosystèmes d’applications et des outils pour les serveurs, ce qui entraîne un haut niveau de compatibilité.
  • Il soutient les modifications nécessaires aux comportements du système d’exploitation.

Linux trace également ses origines dans le mouvement des logiciels libres et open source, et en conséquence, certains développeurs le choisissent pour une combinaison de raisons éthiques et pratiques.

  • Pour certains développeurs, utiliser Linux représente un engagement envers l’accessibilité et la liberté d’expression.
  • La communauté Linux est également un attrait pour certains développeurs : lorsqu’ils ont des questions, ils peuvent consulter les ressources produites par cette communauté ou contacter directement l’un des nombreux mainteneurs actifs.

Pour comprendre le rôle de Linux au sein de la communauté des développeurs (et au-delà), cet article présentera brièvement l’histoire de Linux à travers Unix et discutera de certaines distributions Linux populaires.

Origines dans Unix

Linux puise ses racines dans Unix et Multics, deux projets ayant pour objectif le développement d’un système d’exploitation multi-utilisateur robuste.

Les débuts de Unix

Unix est issu de l’itération du projet Multics au Centre de recherche en sciences informatiques des laboratoires Bell. Les développeurs travaillant sur Multics chez Bell Labs et ailleurs étaient intéressés par la construction d’un système d’exploitation multi-utilisateur avec un stockage à un seul niveau, un lien dynamique (dans lequel un processus en cours d’exécution peut demander qu’un autre segment soit ajouté à son espace d’adressage, lui permettant d’exécuter le code de ce segment) et un système de fichiers hiérarchique.

Les laboratoires Bell ont cessé de financer le projet Multics en 1969, mais un groupe de chercheurs, dont Ken Thompson et Dennis Ritchie, a continué à travailler avec les principes fondamentaux du projet. En 1972-3, ils ont pris la décision de réécrire le système en C, ce qui a rendu Unix exceptionnellement portable : contrairement à d’autres systèmes d’exploitation contemporains, il pouvait à la fois se déplacer et survivre à son matériel.

La recherche et le développement aux laboratoires Bell (plus tard AT&T) ont continué, avec Unix System Laboratories développant des versions d’Unix, en partenariat avec Sun Microsystems, qui seraient largement adoptées par les fournisseurs commerciaux d’Unix. Pendant ce temps, la recherche a continué dans les milieux universitaires, notamment au Computer Systems Research Group de l’Université de Californie à Berkeley. Ce groupe a produit la Berkeley Software Distribution (BSD), qui a inspiré une gamme de systèmes d’exploitation, dont beaucoup sont encore utilisés aujourd’hui. Deux distributions BSD dignes de mention sont NeXTStep, le système d’exploitation pionnier de NeXT, qui est devenu la base de macOS, entre autres produits, et MINIX, un système d’exploitation éducatif qui a servi de base comparative à Linus Torvalds lorsqu’il développait Linux.

Caractéristiques clés d’Unix

Unix est orienté autour des principes de clarté, de portabilité et de simultanéité.

  • Clarté: La conception modulaire d’Unix permet aux fonctions de s’exécuter de manière limitée et définie. Son système de fichiers est unifié et hiérarchique, ce qui simplifie la manipulation des données. Contrairement à certains de ses prédécesseurs, Unix implémente des centaines (plutôt que des milliers) d’appels système, chacun étant conçu pour être direct et clair dans son objectif.
  • Portabilité: En écrivant Unix en C, le groupe de Bell Labs a positionné Unix pour une utilisation et une adoption à grande échelle. C a été conçu pour avoir un accès de bas niveau à la mémoire, un support d’exécution minimal et une relation efficace entre le langage et les instructions machine. Une base en C signifie qu’Unix est adaptable et facile à exécuter sur une variété de matériels.
  • Simultanéité: Le noyau Unix est adapté à l’objectif (partagé par le projet Multics) de soutenir plusieurs utilisateurs et flux de travail. L’espace noyau reste distinct de l’espace utilisateur dans Unix, ce qui permet à plusieurs applications de s’exécuter en même temps.

L’évolution de Linux

Unix a soulevé des questions importantes pour les développeurs, mais il est également resté propriétaire dans ses premières itérations. Le prochain chapitre de son histoire est donc l’histoire de la manière dont les développeurs ont travaillé en son sein et contre lui pour créer des alternatives libres et open-source.

Expériences Open Source

Richard Stallman était une figure centrale parmi les développeurs qui ont été inspirés à créer des alternatives non propriétaires à Unix. Alors qu’il travaillait au Laboratoire d’Intelligence Artificielle du MIT, il a initié le travail sur le projet GNU (récursif pour « GNU’s not Unix! »), quittant finalement le laboratoire en 1984 afin de pouvoir distribuer les composants GNU en tant que logiciel libre. Le noyau GNU, connu sous le nom de GNU HURD, est devenu le centre d’intérêt de la Free Software Foundation (FSF), fondée en 1985 et actuellement dirigée par Stallman.

Pendant ce temps, un autre développeur travaillait sur une alternative libre à Unix : l’étudiant finlandais Linus Torvalds. Après avoir été frustré par les licences de MINIX, Torvalds a annoncé à un groupe d’utilisateurs de MINIX le 25 août 1991 qu’il développait son propre système d’exploitation, qui ressemblait à MINIX. Bien qu’initialement développé sur MINIX en utilisant le compilateur C GNU, le noyau Linux est rapidement devenu un projet unique avec un noyau de développeurs qui ont publié la version 1.0 du noyau avec Torvalds en 1994.

Torvalds avait utilisé du code GNU, y compris le compilateur C GNU, avec son noyau, et il reste vrai que de nombreuses distributions Linux s’appuient sur des composants GNU. Stallman a fait pression pour étendre le terme « Linux » à « GNU/Linux », argumentant que cela refléterait à la fois le rôle du projet GNU dans le développement de Linux et les idéaux sous-jacents qui ont favorisé le projet GNU et le noyau Linux. Aujourd’hui, « Linux » est souvent utilisé pour indiquer à la fois la présence du noyau Linux et des éléments GNU. Dans le même temps, les systèmes embarqués sur de nombreux appareils portables et smartphones utilisent souvent le noyau Linux avec peu ou pas de composants GNU.

Principales caractéristiques de Linux

Bien que le noyau Linux ait hérité de nombreux objectifs et propriétés d’Unix, il diffère du système précédent de plusieurs manières:

  • Son composant central est le noyau, développé de manière indépendante des autres composants du système d’exploitation. Cela signifie que Linux emprunte des éléments à diverses sources (comme GNU) pour constituer un système d’exploitation complet.
  • Il est gratuit et open source. Maintenu par une communauté de développeurs, le noyau est sous licence de la GNU General Public License (une ramification du travail de la FSF sur le projet GNU), et disponible en téléchargement et modification. La GPL stipule que les travaux dérivés doivent respecter les termes de licence du logiciel d’origine.
  • Il possède un noyau monolithique, similaire à Unix, mais il peut charger et décharger dynamiquement du code noyau à la demande.
  • Il prend en charge la multiprocesseur symétrique (SMP), contrairement aux implémentations Unix traditionnelles. Cela signifie qu’un seul système d’exploitation peut avoir accès à plusieurs processeurs, qui partagent une mémoire principale et ont accès à tous les périphériques d’E/S.
  • Son noyau est préemptif, une autre différence par rapport à Unix. Cela signifie que le planificateur peut forcer un changement de contexte sur un pilote ou une autre partie du noyau pendant son exécution.
  • Son noyau ne fait pas de distinction entre les threads et les processus normaux.
  • Il inclut une Interface en Ligne de Commande (CLI) et peut également inclure une Interface Graphique Utilisateur (GUI).

Les développeurs maintiennent aujourd’hui de nombreuses distributions Linux populaires. Parmi les plus anciennes figure Debian, une distribution gratuite et open-source qui propose 50 000 paquets logiciels. Debian a inspiré une autre distribution populaire, Ubuntu, financée par Canonical Ltd. Ubuntu utilise le format de paquets deb de Debian et ses outils de gestion des paquets, et les développeurs d’Ubuntu contribuent aux changements en amont vers Debian.

A similar relationship exists between Red Hat, Fedora, and CentOS. Red Hat created a Linux distribution in 1993, and ten years later split its efforts into Red Hat Enterprise Linux and Fedora, a community-based operating system that utilizes the Linux kernel and elements from the GNU Project. Red Hat also has a relationship with the CentOS Project, another popular Linux distribution for web servers. This relationship does not include paid maintenance, however. Like Debian, CentOS is maintained by a community of developers.

Conclusion

Dans cet article, nous avons couvert les racines de Linux dans Unix et certaines de ses caractéristiques déterminantes. Si vous êtes intéressé par en savoir plus sur l’histoire de Linux et les variations d’Unix (y compris FreeBSD), une bonne étape pourrait être notre série sur FreeBSD. Une autre option pourrait être de consulter notre série introductive sur la prise en main de Linux. Vous pouvez également consulter cette introduction à la disposition du système de fichiers dans Linux, cette discussion sur la manière d’utiliser find et locate pour rechercher des fichiers sur un VPS Linux, ou cette introduction aux expressions régulières en ligne de commande.

Source:
https://www.digitalocean.com/community/tutorials/brief-history-of-linux