Quelle est la différence fondamentale entre Unix, Linux, BSD et GNU? Unix était le premier système d'exploitation, donc le terme «Unix like» est compréhensible, car ils ont le noyau, la structure du système de fichiers, la plupart des commandes, les utilisateurs, etc. sont les mêmes que Unix. Mais pourquoi sont-ils différents? Qu'est-ce qui les a mis à part? Est-ce le noyau?
27
Réponses:
C'est une question difficile à répondre.
Le premier "Unix Like" ou "* nix" signifie généralement POSIX. Tous les systèmes que vous avez répertoriés sont des systèmes POSIX. POSIX est un ensemble de normes à implémenter.
Maintenant pour les questions les plus difficiles.
GNU n'est pas vraiment un OS. 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. Les outils GNU sont donc essentiellement des versions ouvertes d'outils qui existaient déjà mais qui ont été refaites pour se conformer aux principes des logiciels ouverts. 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 que les licences plus «ouvertes» 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 les outils GNU 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 implémentent. 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 façon dont ils choisissent de mettre en œuvre 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 ):
la source
man unimplemented
(IIRC, il se peutman security
) sur un système GNU / Linux.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 ... etc ...).
Si vous voulez avoir un OS complet, vous devez ajouter un espace utilisateur à votre noyau. Historiquement, pour Linux, c'est GNU. Toutes les distributions (?) Linux ne sont pas des distributions «Linux réel». 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 «de type Unix», 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
la source