GNU/Linux >> Tutoriels Linux >  >> Linux

Linux vs Unix :Quelle est la différence ?

Si vous êtes un développeur de logiciels dans la vingtaine ou la trentaine, vous avez grandi dans un monde dominé par Linux. Il a été un acteur important dans le centre de données pendant des décennies, et bien qu'il soit difficile de trouver des rapports définitifs sur la part de marché des systèmes d'exploitation, la part de Linux dans les systèmes d'exploitation des centres de données pourrait atteindre 70 %, les variantes Windows portant presque tout le pourcentage restant. . Les développeurs utilisant n'importe quel cloud public majeur peuvent s'attendre à ce que le système cible exécute Linux. La preuve que Linux est partout s'est accrue ces dernières années lorsque vous ajoutez des systèmes embarqués basés sur Android et Linux dans les smartphones, les téléviseurs, les automobiles et de nombreux autres appareils.

Même ainsi, la plupart des développeurs de logiciels, même ceux qui ont grandi au cours de cette vénérable "révolution Linux", ont au moins entendu parler d'Unix. Cela ressemble à Linux, et vous avez probablement entendu des gens utiliser ces termes de manière interchangeable. Ou peut-être avez-vous entendu dire que Linux était un système d'exploitation "de type Unix".

Alors, qu'est-ce que cet Unix ? Les caricatures parlent de "barbes grises" ressemblant à des sorciers assis derrière des écrans verts brillants, écrivant du code C et des scripts shell, alimentés par du café à l'ancienne infusé au goutte à goutte. Mais Unix a une histoire beaucoup plus riche au-delà de ces programmeurs C barbus des années 1970. Alors que les articles détaillant l'histoire d'Unix et les comparaisons "Unix vs Linux" abondent, cet article offrira un contexte de haut niveau et une liste des différences majeures entre ces mondes complémentaires.

Les débuts d'Unix

L'histoire d'Unix commence à AT&T Bell Labs à la fin des années 1960 avec une petite équipe de programmeurs cherchant à écrire un système d'exploitation multi-tâches et multi-utilisateurs pour le PDP-7. Deux des membres les plus remarquables de cette équipe du centre de recherche des laboratoires Bell étaient Ken Thompson et Dennis Ritchie. Alors que de nombreux concepts d'Unix étaient dérivés de son prédécesseur (Multics), la décision de l'équipe Unix au début des années 1970 de réécrire ce petit système d'exploitation en langage C est ce qui a séparé Unix de tous les autres. À l'époque, les systèmes d'exploitation étaient rarement, voire jamais, portables. Au lieu de cela, de par la nature de leur conception et de leur langage source de bas niveau, les systèmes d'exploitation étaient étroitement liés à la plate-forme matérielle pour laquelle ils avaient été créés. En refactorisant Unix sur le langage de programmation C, Unix pourrait désormais être porté sur de nombreuses architectures matérielles.

En plus de cette nouvelle portabilité, qui a permis à Unix de s'étendre rapidement au-delà des Bell Labs vers d'autres utilisations de recherche, universitaires et même commerciales, plusieurs principes de conception clés du système d'exploitation étaient attrayants pour les utilisateurs et les programmeurs. D'une part, la philosophie Unix de Ken Thompson est devenue un puissant modèle de conception de logiciels modulaires et d'informatique. La philosophie Unix recommandait d'utiliser de petits programmes spécialement conçus pour effectuer des tâches globales complexes. Étant donné qu'Unix a été conçu autour de fichiers et de tubes, ce modèle d'entrées et de sorties de programmes "conduites" ensemble dans un ensemble linéaire d'opérations sur l'entrée est toujours en vogue aujourd'hui. En fait, le modèle actuel de cloud computing sans serveur doit une grande partie de son héritage à la philosophie Unix.

Croissance rapide et concurrence

À la fin des années 1970 et 1980, Unix est devenu la racine d'un arbre généalogique qui s'est étendu à la recherche, au milieu universitaire et à une entreprise commerciale de systèmes d'exploitation Unix en pleine croissance. Unix n'était pas un logiciel open source et le code source d'Unix était licenciable via des accords avec son propriétaire, AT&T. La première licence logicielle connue a été vendue à l'Université de l'Illinois en 1975.

Unix s'est rapidement développé dans le milieu universitaire, Berkeley devenant un centre d'activité important, compte tenu du congé sabbatique de Ken Thompson dans les années 70. Avec toute l'activité autour d'Unix à Berkeley, une nouvelle livraison de logiciels Unix est née :la Berkeley Software Distribution, ou BSD. Initialement, BSD n'était pas une alternative à Unix d'AT&T, mais un add-on avec des logiciels et des capacités supplémentaires. Au moment où 2BSD (Second Berkeley Software Distribution) est arrivé en 1979, Bill Joy, un étudiant diplômé de Berkeley, avait ajouté des programmes désormais célèbres tels que vi et le shell C (/bin/csh).

En plus de BSD, qui est devenu l'une des branches les plus populaires de la famille Unix, les offres commerciales d'Unix ont explosé dans les années 1980 et dans les années 90 avec des noms comme HP-UX, AIX d'IBM, Solaris de Sun, Sequent et Xenix. Au fur et à mesure que les branches se sont développées à partir de la racine d'origine, les «guerres Unix» ont commencé et la normalisation est devenue un nouveau centre d'intérêt pour la communauté. La norme POSIX est née en 1988, ainsi que d'autres suivis de normalisation via The Open Group dans les années 1990.

Plus de ressources Linux

  • Aide-mémoire des commandes Linux
  • Aide-mémoire des commandes Linux avancées
  • Cours en ligne gratuit :Présentation technique de RHEL
  • Aide-mémoire sur le réseau Linux
  • Aide-mémoire SELinux
  • Aide-mémoire sur les commandes courantes de Linux
  • Que sont les conteneurs Linux ?
  • Nos derniers articles Linux

À cette époque, AT&T et Sun ont publié System V Release 4 (SVR4), qui a été adopté par de nombreux fournisseurs commerciaux. Séparément, la famille de systèmes d'exploitation BSD s'est développée au fil des ans, conduisant à certaines variantes open source qui ont été publiées sous la licence BSD désormais familière. Cela comprenait FreeBSD, OpenBSD et NetBSD, chacun avec un marché cible légèrement différent dans l'industrie des serveurs Unix. Ces variantes d'Unix continuent d'être utilisées aujourd'hui, bien que beaucoup aient vu leur part de marché des serveurs se réduire à un chiffre (ou moins). BSD peut avoir la plus grande base d'installation de tous les systèmes Unix modernes aujourd'hui. En outre, chaque unité matérielle Apple Mac livrée dans l'histoire récente peut être revendiquée par BSD, car son système d'exploitation OS X (maintenant macOS) est un dérivé de BSD.

Alors que l'histoire complète d'Unix et de ses variantes académiques et commerciales pourrait prendre beaucoup plus de pages, pour les besoins de notre article, passons à l'essor de Linux.

Entrez Linux

Ce que nous appelons aujourd'hui le système d'exploitation Linux est en fait la combinaison de deux efforts du début des années 1990. Richard Stallman cherchait à créer une alternative véritablement libre et open source au système propriétaire Unix. Il travaillait sur les utilitaires et les programmes sous le nom de GNU, un acronyme récursif signifiant « GNU n'est pas Unix ! Bien qu'un projet de noyau soit en cours, il s'est avéré difficile et sans noyau, le rêve d'un système d'exploitation libre et open source ne pouvait pas être réalisé. C'est le travail de Linus Torvald - produire un noyau fonctionnel et viable qu'il a appelé Linux - qui a donné vie au système d'exploitation complet. Étant donné que Linus utilisait plusieurs outils GNU (par exemple, la collection de compilateurs GNU ou GCC), le mariage des outils GNU et du noyau Linux correspondait parfaitement.

Les distributions Linux ont vu le jour avec les composants de GNU, le noyau Linux, l'interface graphique X-Windows du MIT et d'autres composants BSD pouvant être utilisés sous la licence BSD open source. La popularité précoce de distributions comme Slackware puis Red Hat a donné à "l'utilisateur commun de PC" des années 1990 un accès au système d'exploitation Linux et, avec lui, à de nombreuses capacités et utilitaires propriétaires du système Unix qu'ils utilisaient dans leur vie professionnelle ou universitaire.

En raison de la qualité libre et open source de tous les composants Linux, n'importe qui pouvait créer une distribution Linux avec un peu d'effort, et bientôt le nombre total de distributions a atteint des centaines. Bien sûr, de nombreux développeurs utilisent Linux soit via des fournisseurs de cloud, soit en utilisant des distributions gratuites populaires telles que Fedora, Ubuntu de Canonical, Debian, Arch Linux, Gentoo et de nombreuses autres variantes. Les offres Linux commerciales, qui fournissent un support en plus des composants gratuits et open source, sont devenues viables car de nombreuses entreprises, y compris IBM, ont migré d'Unix propriétaire vers l'offre de middleware et de solutions logicielles sur Linux. Red Hat a construit un modèle de support commercial autour de Red Hat Enterprise Linux, tout comme le fournisseur allemand SUSE avec SUSE Linux Enterprise Server (SLES).

Comparer Unix et Linux

Jusqu'à présent, nous avons examiné l'histoire d'Unix et l'essor de Linux et les fondements de la GNU/Free Software Foundation d'une alternative libre et open source à Unix. Examinons les différences entre ces deux systèmes d'exploitation qui partagent une grande partie du même héritage et bon nombre des mêmes objectifs.

Du point de vue de l'expérience utilisateur, peu de choses sont différentes ! Une grande partie de l'attrait de Linux était la disponibilité du système d'exploitation sur de nombreuses architectures matérielles (y compris le PC moderne) et la possibilité d'utiliser des outils familiers aux administrateurs et aux utilisateurs du système Unix.

En raison des normes et de la conformité POSIX, les logiciels écrits sur Unix pourraient être compilés pour un système d'exploitation Linux avec un effort de portage généralement limité. Les scripts shell pourraient être utilisés directement sur Linux dans de nombreux cas. Alors que certains outils avaient des options de drapeau/ligne de commande légèrement différentes entre Unix et Linux, beaucoup fonctionnaient de la même manière sur les deux.

Une note secondaire est que la popularité du matériel et du système d'exploitation macOS en tant que plate-forme de développement qui cible principalement Linux peut être attribuée au système d'exploitation macOS de type BSD. De nombreux outils et scripts destinés à un système Linux fonctionnent facilement dans le terminal macOS. De nombreux composants logiciels open source disponibles sur Linux sont facilement accessibles via des outils comme Homebrew.

Les différences restantes entre Linux et Unix sont principalement liées au modèle de licence :open source contre logiciel propriétaire sous licence. De plus, l'absence d'un noyau commun dans les distributions Unix a des implications pour les fournisseurs de logiciels et de matériel. Pour Linux, un fournisseur peut créer un pilote de périphérique pour un périphérique matériel spécifique et s'attendre, dans des limites raisonnables, à ce qu'il fonctionne sur la plupart des distributions. En raison des branches commerciales et académiques de l'arborescence Unix, un fournisseur peut avoir à écrire différents pilotes pour les variantes d'Unix et avoir des problèmes de licence et d'autres problèmes liés à l'accès à un SDK ou à un modèle de distribution pour le logiciel en tant que pilote de périphérique binaire sur de nombreux Variantes Unix.

Au fur et à mesure que les deux communautés ont mûri au cours de la dernière décennie, de nombreuses avancées de Linux ont été adoptées dans le monde Unix. De nombreux utilitaires GNU ont été mis à disposition en tant que modules complémentaires pour les systèmes Unix où les développeurs voulaient des fonctionnalités de programmes GNU qui ne font pas partie d'Unix. Par exemple, AIX d'IBM offrait une boîte à outils AIX pour les applications Linux avec des centaines de progiciels GNU (tels que Bash, GCC, OpenLDAP et bien d'autres) qui pouvaient être ajoutés à une installation AIX pour faciliter la transition entre Linux et les systèmes AIX basés sur Unix. .

Unix propriétaire est toujours bien vivant et, avec de nombreux grands fournisseurs promettant une prise en charge de leurs versions actuelles jusque dans les années 2020, il va sans dire qu'Unix sera là dans un avenir prévisible. De plus, la branche BSD de l'arborescence Unix est open source, et NetBSD, OpenBSD et FreeBSD ont tous de solides bases d'utilisateurs et des communautés open source qui ne sont peut-être pas aussi visibles ou actives que Linux, mais qui se maintiennent dans les récents rapports de partage de serveur. , avec bien au-dessus des numéros Unix propriétaires dans des domaines tels que le service Web.

Là où Linux a montré un avantage significatif sur Unix propriétaire, c'est dans sa disponibilité sur un grand nombre de plates-formes matérielles et de périphériques. Le Raspberry Pi, populaire auprès des amateurs et des passionnés, est piloté par Linux et a ouvert la porte à toute une gamme d'appareils IoT exécutant Linux. Nous avons déjà mentionné les appareils Android, les automobiles (avec Automotive Grade Linux) et les téléviseurs intelligents, où Linux détient une part de marché importante. Chaque fournisseur de cloud sur la planète propose des serveurs virtuels exécutant Linux, et bon nombre des piles cloud natives les plus populaires d'aujourd'hui sont basées sur Linux, qu'il s'agisse d'environnements d'exécution de conteneurs ou de Kubernetes ou de nombreuses plates-formes sans serveur qui gagnent en popularité.

L'une des représentations les plus révélatrices de l'ascendant de Linux est la transformation de Microsoft ces dernières années. Si vous aviez dit aux développeurs de logiciels il y a dix ans que le système d'exploitation Windows "exécuterait Linux" en 2016, la plupart d'entre eux auraient ri de façon hystérique. Mais l'existence et la popularité du sous-système Windows pour Linux (WSL), ainsi que des capacités annoncées plus récemment comme le port Windows de Docker, y compris la prise en charge de LCOW (conteneurs Linux sur Windows), sont la preuve de l'impact que Linux a eu - et continuera clairement d'avoir—dans le monde du logiciel.


Cet article a été initialement publié en mai 2018 et a été mis à jour par l'éditeur.


Linux
  1. Quelle est la différence entre la commande locate et find sous Linux

  2. Qu'est-ce qu'umask sous UNIX/Linux

  3. Quel est l'équivalent Unix/Linux des E/S enregistrées ?

  4. quelle est la longueur maximale du mot de passe sur le système unix/linux ?

  5. Qu'est-ce que le message Vous avez un nouveau message sous Linux/UNIX ?

Quelle est la différence entre Linux et Unix ?

Quelle est la différence entre Rsync et BTRFS sous Linux ?

iptables vs nftables :quelle est la différence ?

Chemin absolu ou relatif sous Linux :quelle est la différence ?

Linux contre Unix

Qu'est-ce que la commande kill sous Linux ?