Je continue de lire cette phrase:
Linux est un système de type Unix, mais ce n'est pas Unix.
Je ne sais pas quelle est la vraie différence entre les deux. Je sais que Linux a eu beaucoup d'idées d'Unix et les licences des deux sont différentes. En dehors de cela, comme je ne suis expert dans aucun d'entre eux, je veux savoir s'il existe des différences fondamentales entre eux dans la conception ou d'autres aspects importants.
linux
operating-systems
unix
Gnijuohz
la source
la source
Réponses:
Un système "semblable à Unix" peut être entièrement conforme à la spécification UNIX unique , le nom collectif de normes pour ce qui est considéré comme un système Unix, mais en même temps, Unix est une marque déposée de The Open Group et les fournisseurs de systèmes de type Unix ont besoin pour que leurs systèmes soient enregistrés pour se qualifier officiellement comme Unix. Actuellement, les systèmes UNIX 03 enregistrés sont:
Les fournisseurs de systèmes open source de type Unix (principalement Linux et FreeBSD) ne s'inscrivent généralement pas auprès de The Open Group, soit pour éviter les coûts de certification, soit parce qu'ils n'y trouvent pas beaucoup de valeur. En théorie, il est tout à fait possible qu'un système de type Unix soit techniquement Unix, et il ne manque que la certification.
La Linux Foundation, d'autre part, a créé la Linux Standard Base , une norme ISO , dans le but de normaliser Linux. La conformité avec POSIX est au cœur du SUS et du LSB, maintenant en quelque sorte le lien entre Unix et Linux.
Les systèmes Unix et Unix similaires ont tendance à être plus similaires que différents, en théorie, toutes les saveurs Unix populaires, enregistrées ou non, sont conformes à POSIX (complètes ou principalement), donc elles partagent une interface de programmation, des shells et des utilitaires de base (et beaucoup d'autres) des trucs). IEEE et The Open Group maintiennent une copie disponible gratuitement de la dernière version, POSIX.1-2008 , où vous pouvez trouver plus d'informations sur ce que signifie réellement la conformité POSIX.
Maintenant, en dehors des raisons juridiques et techniques, Linux a hérité du mantra "not Unix" de son association avec GNU , un système d'exploitation de type Unix initié par Richard Stallman. GNU signifie "GNU's not Unix", car les intentions de Stallman étaient de construire un système compatible Unix qui serait gratuit, et pour ce faire, il ne devrait contenir aucun code Unix, car Unix est propriétaire.
Les premiers développeurs Linux ont commencé à porter des outils GNU vers Linux, et le système résultant a été appelé GNU / Linux dès 1992 . Il existe une controverse de longue date sur la question de savoir si Linux doit être appelé Linux ou GNU / Linux (car il intègre plusieurs parties de GNU), mais cela n'est pas pertinent pour votre question, ce qui est pertinent, c'est que "pas Unix" peut simplement faire référence à l'association avec GNU et ont peu à voir avec sa conception, selon le contexte.
L'article "Histoire de Linux" sur Wikipédia explique les origines de Linux et sa relation avec Unix (via Minix et GNU) en détail, et vous devriez également prendre le temps de lire les références de l'article, si vous êtes intéressé par Apprendre plus.
la source
UNIX est une famille de systèmes d'exploitation et de nos jours UNIX est plus une marque appartenant à The Open Group. Pour qu'un système d'exploitation soit marqué UNIX, il doit subir un test de conformité, et pour Linux, cela signifierait que chaque distribution (Ubuntu, Debian, Fedora, Red Hat, etc.) devrait subir séparément ce test de conformité pour chaque version. . C'est donc l'une des principales raisons pour lesquelles Linux est un système de type Unix et non UNIX.
Ce test que j'ai mentionné vise à garantir la conformité du système d'exploitation avec la spécification Single Unix, qui est actuellement à la version 4 SUSv4 (Single Unix Specification version 4). Cette spécification définit un ensemble d'API qui doivent être disponibles pour les applications pour qu'un système soit qualifié pour le nom UNIX.
la source
Les réponses existantes mentionnent déjà certaines des différences que vous recherchez. Sans être l'expert du noyau Linux, j'ajouterais également que de nombreuses différences de conception / implémentation entre GNU / Linux et les divers Unices sont couvertes dans la série des modèles de conception du noyau Linux .
la source
"UNIX" est une chose compliquée à cerner. En termes de conformité aux normes, Solaris et Mac OS X sont "officiellement" UNIX mais vous n'avez pas besoin de passer beaucoup de temps avant de trouver des différences assez importantes entre les deux. Il y a un grand diagramme qui documente la sortie de différentes versions de systèmes d'exploitation UNIX ou UNIX et comment ils s'influencent et divergent les uns des autres.
Dans le grand schéma des choses qui ressemblent, marchent et charlatanent comme UNIX, un système Linux [*] est l'une des versions les plus conventionnelles. Il est assez courant que les gens se réfèrent à Unices ou * nix et signifient "tout ce qui ressemble à UNIX", ce qui inclut probablement Linux. Cependant UNIX est une marque déposée avec des limitations sur la façon dont il peut être appliqué commercialement; aucune distribution Linux n'est conforme à ces limitations.
[*] Parce que cette question invite à un niveau de séparation des cheveux sémantique, je pense que c'est le sujet dans ce cas de souligner que Linux lui-même n'est qu'un noyau sur lequel un système d'exploitation peut être construit. Il est courant de construire un système de type UNIX au-dessus de Linux, ce pour quoi il a été conçu, et ce système est généralement construit à partir de composants de projet GNU. Dans la réponse ci-dessus, "Linux" pourrait être interprété comme un raccourci pour "un système d'exploitation qui incorpore le noyau Linux".
la source
J'ai lu une fois que Linux est ce que vous obtenez lorsque vous prenez un développeur PC et lui demandez d'écrire un OS Unix, tandis que FreeBSD est ce que vous obtenez lorsque vous prenez un développeur Unix et lui demandez de faire un PC OS .... don ' N'oubliez pas les BSD dans votre comparaison!
Les différences sont principalement dans le noyau car les applications de l'espace utilisateur (y compris des choses comme ls) font toutes partie du projet GNU. Cela signifie que Unix, FreeBSD et Linux semblent tous être à peu près la même chose.
Cependant, il existe des différences une fois que vous regardez de près. La disposition du répertoire sera différente (mais de nombreuses distributions Linux utilisent leurs propres dispositions principalement compatibles mais toujours différentes de toute façon), les systèmes de fichiers sont différents (Unix utilise UFS, FreeBSD utilise FFS, Linux utilise Ext3 pour être simpliste - tous peuvent utiliser des ports de FS communs, par exemple ZFS)
Ensuite, il y a des différences dans les API principales, Linux vous donnera l' API inotify pour vous dire quand les fichiers changent, Mac OSX vous donne FSEvents et FreeBSD vous donne kqueue .
Ils peuvent donc être considérés comme la même famille - comparer un système Windows avec des outils GNU qui y sont portés avec un système Linux avec les mêmes outils. Ils n'apparaîtront que superficiellement les mêmes, mais un système Unix ou FreeBSD semblera toujours comparable. En y regardant de plus près, vous trouverez le portage d'applications entre FreeBSD, Unix et Linux relativement facile par rapport au portage vers d'autres systèmes d'exploitation tels que Windows.
la source
Unix n'est plus un système d'exploitation unique. Auparavant, c'était une implémentation de Bell Labs / AT&T, mais maintenant c'est une norme.
Techniquement, Linux n'est qu'un noyau. Ce noyau peut être trouvé dans des systèmes d'exploitation non Unix, le plus populaire étant Android. D'un autre côté, il existe de nombreux systèmes d'exploitation basés sur Linux qui ressemblent à Unix. La plupart (sinon tous) utilisent les bibliothèques et les utilitaires Gnu. Cette combinaison fournit aux distributions Linux l'API Unix et la conformité (ou la non-conformité) aux normes.
La norme Unix n'exige pas qu'un système conforme soit propriétaire ou ait une licence particulière. BSD, OpenSolaris / Illumos, darwin sont des exemples d'implémentations Unix non Linux encore libres.
Les systèmes conformes sont généralement, mais pas toujours, un mélange de composants propriétaires et open source, tandis que Gnu / Linux peut être entièrement Open Source ou inclure des éléments propriétaires.
En ce qui concerne la conformité Unix, il n'y a pas beaucoup de différences. La plupart des distributions Linux et des implémentations Unix partagent le même ensemble de commandes en utilisant le même ensemble d'options. Cependant, vous trouverez de nombreuses extensions des commandes standard, en particulier du côté Gnu où elles sont appelées Gnuismes, et de nombreuses commandes qui ne sont pas définies par les normes en premier lieu (compilateurs, commandes administratives, installation, packaging, environnement graphique). C'est un domaine où vous pouvez trouver beaucoup de divergences, d'incompatibilités et parfois de guerres saintes.
Le modèle de développement Gnu / Linux est généralement considéré comme plus "organique" et "bazar", tandis que d'autres systèmes de type Unix sont plus "conçus" et "cathédrale". Selon les sous-systèmes, la différence n'est pas très nette et dépend des individus et / ou des entreprises qui les soutiennent.
la source
Linux est livré avec de nombreux outils tels que:
Cependant, la plupart des systèmes d'exploitation UNIX sont considérés comme un système d'exploitation complet car tout provient d'une seule source ou d'un seul fournisseur.
Certaines choses qu'ils partagent:
la source
Pas vraiment, Linux était une ingénierie inverse pavée d'Unix après tout, donc la conception du noyau suivait la philosophie de Ken Thompson. La manière Linux semble être d'imiter la philosophie Unix aussi près que possible sans jamais se surcharger avec une pensée originale.
la source