web-dev-qa-db-fra.com

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

Quelle est la différence très fondamentale entre UNIX, Linux, BSD et GNU? Unix était le premier système d'exploitation, le terme "Unix" comme "est compréhensible, car ils ont du noyau, la structure du système de fichiers, la plupart des commandes, des utilisateurs, etc. sont identiques à UNIX. Néanmoins pourquoi sont-ils différents? Qu'est-ce qui les a rendu partis? Est-ce le noyau?

33
Kapish M

C'est une question difficile à répondre.

Premier "Unix comme" ou "* nix" signifie généralement POSIX. Tous les systèmes que vous avez répertoriés sont les systèmes POSIX. POSIX est un ensemble de normes à mettre en œuvre.

Maintenant pour les questions plus difficiles.

GNU n'est pas vraiment un système d'exploitation. Il s'agit davantage d'un ensemble de règles ou de philosophies qui régissent les logiciels libres, qu'en même temps a donné naissance à un tas d'outils tout en essayant de créer un système d'exploitation. SO GNU Outils est fondamentalement des versions d'outils qui existaient déjà, mais ont été refaits pour être conformes aux principes de logiciels ouverts. GNU/Linux est un maillage de ces outils et du noyau Linux pour former un système d'exploitation complet. , mais il y a 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 totalement fermé à la source, mais il existe autant de saveurs de Unix qu'il y a 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. Il s'agit également d'une licence également autorisée à une utilisation commerciale avec beaucoup moins de restrictions que les licences plus "ouvertes" autorisées.

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

La principale différence en matière de gouvernement est idéale. Unix, Linux et BSD ont des idéaux différents qu'ils implémentent. Ils sont tous POSIX et sont tous essentiellement interchangeables. Ils résolvent certains des mêmes problèmes de différentes manières. Ainsi, autres que les idéaux et la manière dont ils choisissent d'implémenter des normes de 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 inclinés vers leurs idées individuelles, mais lorsque vous avez lu, vous aurez une bonne idée des différences.

Ce diagramme de généalogie UNIX montre clairement l'historique d'UNIX, BSD, GNU et Linux ( à partir de wikimedia ):

Unix genealogy diagram

37
coteyr

Linux n'est pas un système d'exploitation, c'est un noyau. Linux par lui-même n'a pas d'environnement "Userland" (pas d'applications, aucune commande, non ... etc ...).

Si vous souhaitez avoir un système d'exploitation complet, vous devez ajouter une zone user à votre noyau. Historiquement, pour Linux, c'est GNU. Tous (?) Les distributions Linux ne sont pas des distributions "réelles Linux". Ce sont des distributions GNU/Linux (GNU + Linux).

BSD est un système d'exploitation complet 'Unix-like', avec son propre noyau et sa propre zone user (pas de noyau Linux ni GNU).

GNU/Linux et * BSD Family (FreeBSD, OpenBSD et NetBSD) sont un système d'exploitation "Unix-like", ils se comportent comme Unix.

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

17
dirtyvader