GNU/Linux >> Tutoriels Linux >  >> Linux

Quelle est la différence entre Unix, Linux, BSD et GNU ?

C'est une question difficile à répondre.

D'abord "Unix Like" ou "*nix" signifie généralement POSIX. Tous les systèmes que vous avez énumérés sont des systèmes POSIX. POSIX est un ensemble de standards à implémenter.

Passons maintenant aux questions les plus difficiles.

GNU n'est pas vraiment un système d'exploitation. Il s'agit plutôt d'un ensemble de règles ou de philosophies qui régissent les logiciels libres, qui ont en même temps donné naissance à un tas d'outils tout en essayant de créer un système d'exploitation. Ainsi, les outils GNU sont essentiellement des versions ouvertes d'outils qui existaient déjà mais qui ont été refaits pour se conformer aux principes du logiciel ouvert. GNU/Linux est un maillage de ces outils et du noyau Linux pour former un système d'exploitation complet, mais il existe d'autres "GNU". GNU/Hurd par exemple.

Unix et BSD sont des implémentations "plus anciennes" de POSIX qui sont différents niveaux de "source fermée". Unix est généralement une source totalement fermée, mais il existe autant de versions d'Unix que de Linux, sinon plus. BSD n'est généralement pas considéré comme "ouvert" par certaines personnes, mais en vérité, il est beaucoup plus ouvert que tout ce qui existait. Ses licences sont également autorisées pour une utilisation commerciale avec beaucoup moins de restrictions, car les licences plus "ouvertes" sont autorisées.

Linux est le nouveau venu. Strictement parlant, c'est "juste un noyau", cependant, en général, il est considéré comme un système d'exploitation complet lorsqu'il est combiné avec GNU Tools et un tas d'autres choses.

La principale différence de gouvernance réside dans les idéaux. Unix, Linux et BSD ont des idéaux différents qu'ils mettent en œuvre. Ils sont tous POSIX et sont tous fondamentalement interchangeables. Ils résolvent certains des mêmes problèmes de différentes manières. Donc, à part les idéaux et la manière dont ils choisissent d'implémenter les normes POSIX, il y a peu de différence.

Pour plus d'informations, je vous suggère de lire un bref article sur la création de GNU, OSS, Linux, BSD et UNIX. Ils seront orientés vers leurs idées individuelles, mais lorsque vous lirez, vous aurez une bonne idée des différences.

Ce diagramme de généalogie Unix montre clairement l'histoire d'Unix, BSD, GNU et Linux (de Wikimedia) :


Linux n'est pas un OS, c'est un noyau. Linux en lui-même n'a pas d'environnement "userland" (pas d'applications, pas de commandes, pas de ...etc...).

Si vous voulez avoir un système d'exploitation complet, vous devez ajouter un userland à votre noyau. Historiquement, pour Linux, c'est GNU. Toutes les distributions Linux (?) ne sont pas de "vraies distributions Linux". Ce sont des distributions GNU/Linux (GNU + Linux).

BSD est un système d'exploitation complet "unix-like", avec son propre noyau et son propre espace utilisateur (pas de noyau linux ni GNU).

GNU/Linux et la famille *BSD (FreeBSD, OpenBSD et NetBSD) sont des systèmes d'exploitation "unix-like", ils se comportent comme Unix.

Voici une comparaison entre (GNU)/Linux et *BSD :http://www.freebsd.org/doc/en/articles/explaining-bsd/comparing-bsd-and-linux.html


Linux
  1. Quelle est la différence entre un conteneur Linux et une image ?

  2. Quelles sont les principales différences entre Bsd et Gnu/linux Userland ?

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

  4. Quelle est la différence entre env et set (sur Mac OS X ou Linux) ?

  5. Quelle est la différence entre fsck et e2fsck ?

Quelle est la différence entre les noyaux macOS et Linux

Quelle est la différence entre Linux et Unix ?

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

Qu'est-ce qu'un Hyperviseur ? Quelle est la différence entre les types 1 et 2 ?

Quelle est la différence entre curl et Wget ?

Quelle est la différence entre un appel Library et un appel System sous Linux ?