Je veux savoir quelle est la différence réelle entre Unix et Linux.
- Partagent-ils le même noyau?
- Linux est-il construit sur Unix?
- Les programmes écrits pour Linux fonctionnent-ils sous Unix et vice-versa?
linux
unix
operating-systems
Xinus
la source
la source
Réponses:
Unix n'est pas une chose, c'est le nom d'une grande famille de systèmes d'exploitation connexes, qui partagent à des degrés différents, l'histoire et l'architecture. Solaris, DEC Unix, IRIX, HP-UX sont des variantes Unix. Ils sont dans une certaine mesure compatibles avec les applications, car ils implémentent les normes POSIX à des degrés différents, ce qui signifie qu'ils exposent des commandes et des API similaires.
Leurs noyaux ne sont pas les mêmes, bien que si vous recherchez «arbre généalogique unix», vous verrez une histoire fascinante de la façon dont ces variantes ont évolué les unes des autres, comme les organismes. Autrement dit, un pinson et une hirondelle ne sont pas le même animal mais ils ont beaucoup en commun.
Linux est une réécriture, à partir de zéro, d'un système d'exploitation de type Unix. La question de savoir si les programmes écrits pour Unix / Linux contre un autre est une question complexe, mais dans certains cas, oui.
la source
Non, non, oui (source)
Pour vraiment comprendre la réponse, il est utile d'examiner l'historique des deux systèmes d'exploitation.
Unix a été inventé à AT&T Bell Labs par Ken Thompson. Son collègue Dennis Ritchie a contribué et a également inventé le langage C et a écrit le compilateur C. Au fil des ans, le code a également été apporté par UC Berkeley, d'autres travaux chez AT&T, Sun, IBM et d'autres.
Il a finalement été normalisé dans une série de publications appelées POSIX. Dans l'ensemble, le code était propriétaire, car il était protégé par les droits d'auteur d'AT & T, puis vendu ou concédé sous licence à d'autres sociétés, qui l'ont largement réécrit au fil des ans mais ont conservé divers droits.
Deux branches de "Unix libre" ont vu le jour dans les années 90. L'un était Linux , qui est un clone, écrit pour agir comme Unix sans contenir de code Unix réel.
L'autre branche existe aujourd'hui sous le nom de NetBSD , et qui a été rapidement suivie par FreeBSD , puis beaucoup plus tard par tout autre * BSD dont vous avez peut-être entendu parler. Ces projets sont un peu différents de Linux en ce qu'ils sont des "clones partiels". Ils contiennent un mélange de code source "réel Unix" (la partie qui a été librement concédée sous licence, principalement par UC Berkeley) et du code "clone" nouvellement écrit et d'autres codes ultérieurs émergeant dans le cadre de réécritures ou selon les besoins pour prendre en charge HW moderne et moderne Spécifications Posix.
Linux est beaucoup plus populaire car NetBSD et FreeBSD ont été bloqués pendant un certain temps dans un procès entre AT&T et UCB. Bien que résolus en faveur des BSD, ils ne se sont jamais remis du retard, du moins pas en termes de popularité.
Donc non, Linux et Unix commercial n'ont pas de code de noyau en commun, bien qu'Unix commercial et * BSD aient déjà eu pas mal de points communs. Les noyaux Unix des fournisseurs sous licence contiennent du code qu'ils ont eux-mêmes écrit, peut-être avec du code AT&T original toujours présent ici et là. Le noyau Linux est composé de code écrit par Linus Torvalds et d'autres auteurs.
Le "logiciel Unix" est un logiciel écrit sur les API Posix et fonctionne généralement sur toutes les versions d'Unix, Linux, NetBSD et FreeBSD. En théorie, Posix SW peut fonctionner sur des systèmes "non-Unix" mais cela ne semble pas très bien fonctionner. De nos jours, "Unix" est techniquement une marque de commerce, mais a tendance à être utilisé de manière informelle comme désignation pour Unix commercial, Linux et la famille BSD.
la source
Lorsque la plupart des gens parlent d'Unix, cela signifie un "système d'exploitation de type Unix compatible POSIX", ce que Linux est.
Partagent-ils un même noyau? Non, Linux EST un noyau, pas un système d'exploitation. Techniquement, les distributions Linux utilisent un noyau Linux et un "userland" GNU (voir gnu.org). L'espace utilisateur est constitué des programmes et bibliothèques de base, etc. qui relient les grandes applications et les tâches utilisateur à l'API de bas niveau du noyau.
Linux est-il construit sur Unix? Non, c'est un clone. Il est conçu pour fournir une version gratuite et utilisable d'Unix sur un PC de bureau modeste.
Les programmes écrits pour Linux peuvent-ils fonctionner sur Unix et vice versa? Parfois. Par exemple, sur FreeBSD, il y a un émulateur Linux ABI, qui détecte essentiellement que les programmes ont été créés pour Linux, et rend disponible un ensemble différent d'appels de noyau. Quelque chose de similaire est disponible pour Linux pour exécuter des trucs Unix System V standard (ou une version commerciale populaire d'Unix de toute façon), mais il est rarement utilisé, car la plupart des programmes sont fournis en tant que code source compatible POSIX et compilent sur Linux sans difficulté. De plus, la plupart des programmes binaires pour unix sont directement disponibles pour Linux. FreeBSD est une préoccupation plus petite et n'a pas ce luxe. Sous Linux, le système pour charger les binaires à partir d'autres systèmes est le plus souvent utilisé pour exécuter des programmes java, des programmes Windows (bien que cela soit déconseillé), etc.
Unix est une marque déposée, et donc Linux ne peut pas utiliser le nom. Unix est l'ancienne version officielle (inasmuchas il existe une version officielle), qui n'est pas si conviviale. La plupart des autres versions d'Unix ont été conçues un peu mieux, mais ne fonctionnent pas nécessairement aussi bien en termes pratiques. C'est à peu près tout. De nombreuses entreprises qui exécutaient Unix utilisent désormais Linux.
Si vous voulez voir les différences entre les différents systèmes d'exploitation de type Unix, procurez-vous des copies de FreeBSD, OpenSolaris et Debian. Je dis ces distributions spécifiquement parce qu'elles seront plus faciles à comparer, bien que d'autres comme pc-bsd, nexenta et ubuntu soient sans doute plus agréables, respectivement.
la source
Je pense que techniquement parlant, GNU / Linux n'est pas moins UNIX que n'importe lequel des systèmes UNIX officiels, mais ce n'est que pour des raisons juridiques que les gens décrivent Linux comme un système d' exploitation de type UNIX, au lieu d'un simple système d'exploitation "UNIX".
En ce qui concerne les noyaux, Linux est un noyau. Donc par définition, si un système utilise le noyau Linux, alors c'est un système Linux, pas un système UNIX.
Linux n'a pas été construit "sur" Unix, il est construit comme un clone UNIX. Tous les divers utilitaires gnu (bash, etc.) ont été écrits à partir de zéro en tant que clones des utilitaires unix correspondants.
Ironiquement, Mac OS X, qui a un noyau UNIX, est livré avec bash, gcc et éventuellement d'autres utilitaires GNU. C'est donc un système UNIX qui inclut des parties de GNU, et non l'inverse comme on pourrait s'y attendre.
la source
Historique UNIX Pas la réponse à vos questions, mais peut-être sera intéressant.
la source
De NixCraft
la source