Est-ce que Linux est un Unix?

190

Il existe donc de nombreuses versions différentes d'Unix: HP-UX, AIX, BSD, etc. Linux est considéré comme un clone Unix plutôt que comme une implémentation d'Unix. Tous les "vrais" Unices sont-ils les descendants réels de l'original? Si non, qu'est-ce qui sépare Linux d'Unix?

Shawn J. Goff
la source

Réponses:

224

Cela dépend de ce que vous entendez par «Unix» et par «Linux».

  • UNIX est une marque déposée de The Open Group . La marque a eu une histoire mouvementée et il n'est pas tout à fait clair qu'elle ne soit pas générique en raison de l'utilisation répandue de «Unix» faisant référence à des systèmes de type Unix (voir ci-dessous). Actuellement, le groupe ouvert autorise l'utilisation de la marque à tout système qui passe une certification UNIX unique . Voir aussi Pourquoi existe-t-il un * lorsqu'il y a une mention d'Unix sur Internet? .

  • Unix est un système d'exploitation né en 1969 chez Bell Labs . Plusieurs sociétés ont vendu, et vendent encore, du code dérivé de ce système original, par exemple AIX , HP-UX , Solaris . Voir aussi Evolution des systèmes d'exploitation sous Unix .

  • Il existe de nombreux systèmes de type Unix, dans la mesure où ils offrent des interfaces similaires aux programmeurs, aux utilisateurs et aux administrateurs. Le système de production le plus ancien est Berkeley Software Distribution , qui est passé progressivement d’un système basé sur Unix (c’est-à-dire contenant du code dérivé de la mise en œuvre initiale) à un système de type Unix (c’est-à-dire ayant une interface similaire). Il existe de nombreux systèmes d'exploitation dérivés de BSD BSD ou: FreeBSD , NetBSD , OpenBSD , Mac OS X , etc. D' autres exemples comprennent OSF / 1 (maintenant discontinué, il était un système non basé sur Unix Unix commercial), Minix(à l’origine un système d’exploitation jouet de type Unix utilisé comme outil pédagogique, maintenant un système de production de type Unix intégré de production), et le plus célèbre de Linux .


  • Strictement parlant, Linux est un noyau de système d’exploitation conçu comme le noyau d’Unix.

  • Linux est le plus souvent utilisé comme nom de systèmes d'exploitation de type Unix utilisant Linux comme noyau. Comme de nombreux outils en dehors du noyau font partie du projet GNU , ces systèmes sont souvent appelés GNU / Linux . Toutes les principales distributions Linux sont constituées de GNU / Linux et d’autres logiciels.

  • Il existe des systèmes de type Unix basés sur Linux qui n'utilisent pas beaucoup d'outils GNU, en particulier dans le monde intégré, mais je ne pense pas qu'aucun d'entre eux supprime les outils de développement GNU, en particulier GCC .

  • Il existe des systèmes d'exploitation dont le noyau est Linux mais qui ne sont pas de type Unix. Le plus connu est Android , qui n’a pas une expérience utilisateur semblable à Unix (bien que vous puissiez installer une ligne de commande semblable à Unix) ou une expérience administrateur ou (surtout) une expérience programmeur (les programmes Android "natifs" utilisent une API qui est complètement différent de Unix).

Gilles
la source
70
Et n'oublions pas que GNU signifie "GNU is Not Unix"!
alex
57
"Gnu is not Unix" signifie que Gnu n'est pas basé sur le code original d'Unix, même s'il ne veut pas implémenter les spécifications Unix. Citant rms: "Unix libre! À partir de cette action de grâce, je vais écrire un système logiciel complet compatible Unix, appelé GNU (pour Gnu's Un Unix), et le donner gratuitement (1) à tous ceux qui peuvent l’utiliser."
Juillet
8
Si une distribution Linux souhaitait être certifiée UNIX, elle n'aurait pas à changer beaucoup et cela pourrait être le cas. Mais je n'ai entendu parler de personne qui aurait dépensé tout cet argent pour ce qui aurait, à ce stade, valu si peu.
Kevin Cantu
6
@Kevin: Caldera (maintenant connue sous le pseudonyme sous un autre nom) a déjà travaillé dessus, bien qu'elle n'ait pas fait tout ce qu'elle a fait (ils semblent avoir abandonné l'idée et poussé à la place de LSB bien avant d'oublier soudainement qu'ils en avaient entendu parler Linux).
Gilles
4
@ milkovsky Non. Comme je l'explique dans ma réponse, le mot «Linux» a deux significations. «Android est basé sur Linux» est vrai avec le sens 1 (le noyau). “Linux est semblable à Unix” est vrai avec le sens 2 (le système d'exploitation).
Gilles
58

À toutes fins pratiques, une distribution typique de Linux moderne (Ubuntu, Debian, Red Hat, Fedora, Slackware, etc.) est un Unix, mais à proprement parler, aucun système ne peut prétendre être Unix sans être certifié. Unix-like. Ils sont inspirés par Unix et perpétuent sa culture.

Ceci s'applique également aux systèmes BSD.

Mac OS X est certifié Unix, il s'agit donc d'un nom et d'un nom. (et c'est en fait basé sur BSD).

Il convient de noter que, étant donné que Linux n’est qu’un noyau, il peut être utilisé pour créer des systèmes de type non-unix (comme Android).

hasen
la source
1
Remarque: le noyau Mac OS X n'est basé sur aucun noyau BSD. Le mode utilisateur est basé sur FreeBSD et NetBSD à ma connaissance.
0xC0000022L
2
Le noyau actuel est peut-être assez différent du noyau BSD, mais je pense qu'il a été initialement (au moins en partie) basé sur celui-ci.
Hasen
3
Il convient de noter que FreeBSD est un descendant direct d’ATT Unix et qu’il contenait une fois le code ATT Unix. Ce n'était pas juste "inspiré" par Unix.
Rob
2
@ 0xC0000022L et nous allons maintenant plus loin "Les premières versions de Mach avaient des noyaux monolithiques, avec une grande partie du code de BSD dans le noyau. Mach 3.0 était la première implémentation de micro-noyau." Quant à moi, osxbook.com/book/bonus/ancient/whatismacosx/arch_xnu.html est une source qui fait autorité.
Poige
2
Et pour conclure: "Certains aspects relevant de BSD sont notamment les suivants: identifiants utilisateur des modèles de processus, autorisations, règles de sécurité de base, API POSIX, pile système TCP / IP de style BSD, sockets BSD, pare-feu VFS et systèmes de fichiers (voir Mac OS X Filesystems pour plus de détails). détails) Divers systèmes de synchronisation "Crypto Framework System V IPC". Quant à moi, cela suffit pour dire que c'est basé sur BSD. Regarder la vérité en face.
poige
23

Linux ressemble plus à 'Unix', alors oui, on pourrait appeler cela un clone, il en va de même pour les BSD (bien que les BSD puissent être considérés comme plus proches de Unix que de Linux).

La principale caractéristique qui attribue à Linux le titre de type Unix est le fait qu’il est presque entièrement conforme aux normes POSIX (interface portable pour le système d’exploitation [pour Unix]) qui se sont construites au fil du temps.

L'autre élément clé est l' héritage du code, etc. , comme le montre Wikipedia, Linux ne provient pas de sources Unix, il est plutôt construit à partir de rien (c'est contesté cependant).

Donc, l'essentiel qui sépare Unix de Linux est l'ascendance et les normes auxquelles il répond.

New Jersey
la source
1
Il faut également tenir compte de la spécification Single Unix .
Dennis Williamson
Je dirais certainement que les BSD sont plus proches de Unix que de Linux. En raison de la licence plus libérale de BSD et de son développement étroit avec AT & T UNIX, une grande partie du code source de BSD et de ses API est utilisée dans Unix commercial. Le système de fichiers UFS sous Solaris et un autre système UNIX commercial provenaient directement de BSD. En outre, l'API Berkely Sockets (pas nécessairement la source) utilisée par tout, y compris Linux, a été développée sur BSD.
Penguin359
3
Après tout le bazar SCO vs IBM, il est devenu évident que le noyau Linux ne contient aucun code Unix.
vonbrand
11

La réponse choisie l'explique de manière assez exhaustive, mais il faudrait regarder tout un documentaire pour connaître tous les détails entre le développement initial d'UNIX et la manière dont Linux s'est développé.

Tout d’abord, vous devez considérer que Linux est le noyau, qui a été créé par linus et d’autres programmeurs. Il a choisi de le publier avec la GPL, qui à l’époque était une licence de la FSF (RMS et d’autres personnes), qui développaient également leur propre noyau et GNU.

Ce que nous appelons habituellement Linux est, au début, le noyau, ainsi que tous les autres outils issus du projet GNU. Ces deux projets sont historiquement différents, car à l’époque, le noyau des responsables de la FSF avait été abandonné au profit du noyau Linux, ce qui était bien meilleur.

Je me souviens qu'il y a un documentaire, vous devriez vraiment le regarder, je le trouve important pour votre culture de programmation.

Une autre chose que vous devez prendre en compte lorsque vous pensez à "* nix", concerne également tout ce qui concerne POSIX et d'autres éléments normalisés par l'architecture. Il fait l’objet de la conception et de la recherche de systèmes d’exploitation, mais il définit avec précision le fonctionnement des systèmes d’exploitation impliqués. Il est crucial lorsque le noyau fonctionne bien avec ses outils.

jokoon
la source
En réalité, POSIX s’appelle maintenant SUS (Single Unix Specification), ce qui a été mentionné.
0xC0000022L
1
@STATUS POSIX était la base de SUSv2. Le groupe Austin a ensuite été formé en tant que groupe de travail conjoint entre l'IEEE, qui a créé POSIX, et The Open Group, propriétaire de la marque UNIX et de la spécification UNIX. Ils ont publié POSIX: 2001, également connu sous le nom de SUSv3. Ils sont un dans la même mesure que je peux dire. POSIX est toujours en cours de développement avec POSIX: 2004 et POSIX: 2008, qui sont au cœur de SUSv4. Je ne pense pas que POSIX est encore mort. fr.wikipedia.org/wiki/Single_UNIX_Specification
penguin359
Je comprends que SUS est POSIX avec quelques ajouts.
vonbrand
Lien vers ce documentaire?
Edward Torvalds
edward torvalds Désolé, je ne me souviens pas du titre. Il présentait principalement RMS et ressemblait à un vieux doc.
jokoon
6

Il y a déjà beaucoup de bonnes réponses mais je pensais que les vues du grand Dennis Ritchie (co-créateur d'Unix) seraient un complément intéressant aux autres réponses plus techniques.

Il semble que Dennis Ritchie considérait Linux comme un dérivé légitime de Unix. Dans une interview de 1999 pour LinuxFocus.org , il a été interrogé:

quelle est votre opinion sur l’ensemble de l’élan Linux et sur la décision de nombreuses entreprises de commencer à développer des logiciels pour cela?

Sa réponse à la question était

Je pense que le phénomène Linux est très agréable, car il tire tellement sur la base fournie par Unix. Linux semble être l’un des plus sains des dérivés Unix directs, bien qu’il existe également les divers systèmes BSD ainsi que les offres plus officielles des fabricants de stations de travail et d’ordinateurs centraux. Je ne peux pas m'empêcher d'observer, bien sûr, que le monde "source libre" dérivé d'Unix semble souffrir exactement du même genre de fragmentation et de conflits qui se sont produits et se produisent encore dans le monde commercial.

Anthony Geoghegan
la source
1

Historiquement, Linus Torvalds a créé un clone amélioré de Minix OS. Le développement de Linux ne se concentre pas sur une plate-forme ni sur une base de clients spécifiques, et les développeurs Linux ont une variété d’expériences et de perspectives. Les systèmes d'exploitation tels que HP-UX, AIX, Solaris et autres sont généralement optimisés pour les fournisseurs.

Dans la communauté Linux, il n’existe pas d’ensemble d’outils ou d’environnements standardisés. Ce manque de standardisation conduit à des incohérences significatives au sein de Linux. Pour certains développeurs, il est un atout supplémentaire, mais il n’est pas toujours pratique de copier des éléments UNIX sous Linux, par exemple, lorsque les noms de périphérique sous Linux peuvent être extraits de AIX, tandis que les outils de travaillant avec le système de fichiers se concentrent sur HP-UX. Des incompatibilités de ce type se retrouvent également entre différentes distributions Linux.

Quarind
la source
0

Unix, à l'origine UNICS (UNiplexed Infomation and Computing Service).

Unix (sous la marque UNIX) est une famille de systèmes d’exploitation informatiques multitâches et multi-utilisateurs dérivés du système Unix d’origine. Le développement a commencé en 1969 et annoncé à l'extérieur des abdos de Bell en octobre 1973.

Variété de variantes à la fois académiques et commerciales d'Unix provenant de fournisseurs tels que l'Université de Californie, Berkeley (BSD), Microsoft (Xenix), IBM (AIX) et Sun Microsystems (Solaris).

  • BSD ( B erkeley S oftware D istribution) communiqués a fourni une base pour plusieurs projets de développement open source qui sont en cours, par exemple, FreeBSD, OpenBSD, NetBSD, Darwin et TrueOS.
  • Xenix est une version abandonnée du système d'exploitation Unix pour diverses plates-formes de micro-ordinateurs, sous licence Microsoft.
  • AIX ( A VANCÉES I nteractive e X EXÉCUTIVE) développé et vendu par IBM pour plusieurs de ses plates - formes informatiques.

Linux est une famille de systèmes d’exploitation logiciels libres et à code source ouvert construits autour du noyau Linux. Le composant qui définit Linux est le noyau Linux, un noyau de système d’exploitation lancé pour la première fois le 17 septembre 1991 par Linus Torvalds.

Linux est présenté sous une forme connue sous le nom de distribution Linux (ou distribution en abrégé) à la fois pour les ordinateurs de bureau et les serveurs. Arch Linux, CentOS, Debian, Fedora, Gentoo Linux, Linux Mint, Mageia, openSUSE et Ubuntu, ainsi que des distributions commerciales telles que Red Hat Enterprise Linux, figurent parmi les distributions les plus courantes et les plus courantes de Linux.

L'interface utilisateur, également appelée shell, est une interface de ligne de commande (CLI), une interface utilisateur graphique (GUI) ou des contrôles associés au matériel associé, commun aux systèmes intégrés. Pour les systèmes de bureau, le mode par défaut est généralement une interface utilisateur graphique, bien que l'interface de ligne de commande soit généralement disponible via des fenêtres d'émulateur de terminal ou sur une console virtuelle séparée.

  • Les shells CLI sont des interfaces utilisateur textuelles, qui utilisent du texte pour les entrées et les sorties. Le shell dominant utilisé sous Linux est le Bourne-Again Shell (bash), développé à l'origine pour le projet GNU.
  • Coquilles GUI sont K Desktop Environment (KDE), GNOME, MATE, la cannelle, l' unité, LXDE, le Panthéon et Xfce, mais une variété d'interfaces utilisateurs supplémentaires existent. Les interfaces utilisateur les plus courantes sont basées sur le système X Window, souvent appelé simplement "X".

GNU est un système d'exploitation et une vaste collection de logiciels. GNU est entièrement composé de logiciels libres dont la plupart sont sous licence GPL du projet GNU. GNU est un acronyme récursif pour "GNU's Not Unix!", Choisi parce que la conception de GNU est de type Unix, mais se distingue d'Unix par son logiciel libre et son absence de code Unix. Le développement du système d’exploitation GNU a été lancé par Richard Stallman alors qu’il travaillait au laboratoire d’Intelligence Artificielle du Massachusetts Institute of Technology (MIT) en 1983.

Les composants de base incluent la collection de compilateurs GNU (GCC), la bibliothèque GNU C (glibc), les utilitaires principaux GNU (coreutils), mais également le débogueur GNU (GDB), les utilitaires binaires GNU (binutils), le shell GNU Bash et GNOME. environnement de bureau.

Premraj
la source
-7

Linux est un système d'exploitation de type Unix développé par Linus Torvalds et des milliers d'autres.
BSD est un système d'exploitation UNIX qui, pour des raisons juridiques, doit s'appeler Unix.
OS X est un système d'exploitation UNIX graphique développé par Apple Inc.

Linux est l'exemple le plus frappant d'un "vrai" système d'exploitation Unix. Il fonctionne sur n'importe quoi et supporte bien plus de matériel que BSD ou OS X. Une citation intéressante que j'ai trouvée lorsque je comparais BSD et Linux:

Linux est ce que vous obtenez quand un groupe de pirates informatiques s’assieds et essaie d’écrire un système Unix pour le PC. BSD est ce que vous obtenez lorsqu'un groupe de hackers UNIX s'assoit et tente de porter un système Unix sur le PC.

BSD ressemble plus à un système d'exploitation Unix qu'à Linux. Il convient également de noter qu'Apple utilise des composants BSD et Linux. Apple utilise APT de Debian et Ubuntu sur les plateformes iOS et OS X. Et il est basé sur BSD. (Le noyau est Darwin, mais c'est son propre noyau. Beastie l'ornithorynque est la mascotte de Darwin, car il est un mélange entre Beastie de BSD et un ornithorynque.)

Si vous voulez un "vrai" système d'exploitation Unix (qui tourne sur n'importe quoi et supporte beaucoup de matériel), essayez Linux.
Si vous voulez un support matériel bas de gamme et des maux de tête (je sais que je vais avoir une tonne de haine mais je m'en fiche), utilisez BSD.
Si vous voulez dépenser plus de 1 000 $, utilisez OS X et iOS. (Encore une fois je vais probablement avoir une tonne de haine.)

Je suis un utilisateur Linux de longue date, je l'ai utilisé de manière intermittente des années 90 au début des années 2000, puis j'ai cessé de l'utiliser pendant un certain temps, mais j'ai recommencé à l'utiliser à la mi-2012, ce qui me permet de le recommander à quiconque le souhaite. d'essayer autre chose que Windoze.

Craig Wessel
la source
4
Comme Linux est en train de changer récemment avec Wayland / systemd / etc, il s’efface de plus en plus d’être un système de type Unix et de devenir sa propre entité. Il se rend moins compatible avec les véritables systèmes Unix et de type Unix, au point que ces systèmes réels ont développé une attitude indifférente à Linux. Vos "recommandations" sont tout à fait hors de la base et me font penser que vous n’avez touché à rien de ce genre de choses depuis 15 ans.
Rob
11
Linux n'est pas un système d'exploitation, mais un noyau.
Martin Schröder
3
Apple n'utilise pas APT de Debian. Il inclut un outil complètement différent nommé APT (Annotation Processing Tool de Java). Et la communauté de jailbreak utilise APT en tant que gestionnaire de paquets pour l'installation de logiciels iOS contre la volonté d'Apple.
abarnert
4
En fait, presque chaque affirmation de cette réponse est fausse. "Fonctionne sur beaucoup de systèmes == Unix" est ridicule. Apple n'a jamais publié un système de plus de 1000 $ sous iOS. BSD est une famille de systèmes Unix et de systèmes similaires, pas un système d’exploitation unique. Linux est un noyau qui peut être combiné avec un environnement utilisateur de type Unix (comme GNU), un utilisateur simplifié Unix (comme eLinux ou Android), ou tout autre chose de votre choix. Etc.
abarnert