web-dev-qa-db-fra.com

Linux est-il un Unix?

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 qu'une implémentation d'Unix. Tous les "vrais" Unices sont-ils des descendants réels de l'original? Sinon, qu'est-ce qui sépare Linux d'Unix?

194
Shawn J. Goff

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

  • UNIX est un 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 n'est pas générique en raison de l'utilisation généralisée de "Unix" se référant à des systèmes de type Unix (voir ci-dessous). Actuellement, l'Open Group accorde l'utilisation de la marque à tout système qui passe un Single UNIXcertification . Voir aussi Pourquoi y a-t-il un * Quand il est fait mention d'Unix sur Internet? .

  • nix est un système d'exploitation né en 1969 chez Bell Labs . Diverses sociétés ont vendu et vendent toujours du code dérivé de ce système d'origine, 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, utilisateurs et administrateurs. Le système de production le plus ancien est le Berkeley Software Distribution , qui est progressivement passé d'un système basé sur Unix (c'est-à-dire contenant du code dérivé de l'implémentation d'origine) à un style Unix (c'est-à-dire ayant une interface similaire). Il existe de nombreux systèmes d'exploitation basés sur BSD ou dérivés de BSD: FreeBSD , NetBSD , OpenBSD , Mac OS X , etc. D'autres exemples incluent OSF/1 (maintenant abandonné, il s'agissait d'un système commercial non basé sur Unix), Minix (à l'origine un jouet semblable à Unix) système d'exploitation utilisé comme outil pédagogique, maintenant un système de type Unix intégré à la production), et surtout Linux .


  • À proprement parler, 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 qui utilisent Linux comme noyau. Comme de nombreux outils en dehors du noyau font partie du projet GN , ces systèmes sont souvent appelés GNU/Linux . Tous les principaux distributions Linux se composent 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 embarqué, mais je ne pense pas qu'aucun d'entre eux ne supprime GNU, en particulier GCC .

  • Il existe des systèmes d'exploitation qui ont Linux comme noyau mais qui ne sont pas de type Unix. Le plus connu est Android , qui n'a pas d'expérience utilisateur de type Unix (bien que vous puissiez installer une ligne de commande de type Unix) ou d'expérience administrateur ou (principalement) une expérience de programmeur ("native "Android utilisent une API complètement différente d'Unix).

À toutes fins utiles, une distribution Linux moderne typique (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é, donc à la place, les gens disent qu'ils le sont Unix-like. Ils s'inspirent d'Unix et perpétuent sa culture.

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

Mac OS X est certifié Unix, c'est donc Unix à la fois en nom et en effet. (et il est en fait basé sur BSD).

Il convient de noter que, puisque Linux lui-même n'est qu'un noyau, il peut être utilisé pour créer des systèmes non similaires à Unix (tels que Android).

60
hasen

Linux est plus 'Unix-like', donc oui, vous pourriez l'appeler un clone, de même pour les BSD (bien que les BSD puissent être considérés comme plus proches d'Unix que Linux).

La principale chose qui donne à Linux le titre de type Unix est le fait qu'il est presque entièrement conforme w/ POSIX (Interface du système d'exploitation portable [pour Unix]) normes qui se sont accumulées au fil du temps.

L'autre élément clé, c'est le héritage de code, etc. , comme démontré sur Wikipedia, Linux ne provient pas réellement de sources Unix, mais est plutôt construit à partir de zéro (cela est contesté cependant).

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

23
N J

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

Vous devez d'abord 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 faite par la FSF (RMS et d'autres personnes), qui développaient également leur propre noyau et GNU.

Ce que nous appelons habituellement Linux est, dans un premier temps, le noyau, plus tous les autres outils originaires du projet GNU. Ces deux projets sont historiquement différents, car à l'époque, le noyau de la FSF les gens ont été abandonnés pour privilégier le noyau Linux, ce qui était bien mieux.

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 considérer lorsque vous pensez à "* nix", est également tout ce qui concerne POSIX et d'autres éléments normalisés par l'architecture. C'est un sujet de conception/recherche de système d'exploitation, mais il définit précisément le fonctionnement des systèmes d'exploitation impliqués, et est crucial lorsque vous avez un noyau qui fonctionne bien avec ses outils.

11
jokoon

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é Unix légitime. Dans une 1999 interview pour LinuxFocus.org , on lui a demandé,

quelle est votre opinion sur toute la dynamique de Linux et 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 assez agréable, car il s'appuie tellement sur la base qu'Unix a fournie. Linux semble être parmi les dérivés Unix directs les plus sains, bien qu'il existe également les différents systèmes BSD ainsi que les offres plus officielles des fabricants de stations de travail et de mainframes. Je ne peux pas m'empêcher d'observer, bien sûr, le monde dérivé d'Unix "source libre" semble souffrir exactement du même type de fragmentation et de conflits qui se sont produits et se produisent toujours dans le monde commercial.

6
Anthony Geoghegan

Historiquement, Linus Torvalds a créé un clone amélioré de Minix OS. Le développement de Linux n'est pas axé sur une plate-forme et une base de clients spécifiques, et les développeurs Linux ont une variété d'expériences et de perspectives. Des systèmes d'exploitation tels que HP-UX, AIX, Solaris et d'autres sont principalement affinés pour les fournisseurs.

Dans la communauté Linux, il n'y a pas d'ensemble standard strict d'outils ou d'environnements. Ce manque de standardisation conduit à des incohérences importantes au sein de Linux. Pour certains développeurs, la possibilité d'utiliser les meilleures réalisations d'autres systèmes d'exploitation est un atout, mais il n'est pas toujours pratique de copier des éléments UNIX sur Linux, par exemple, lorsque les noms de périphériques à l'intérieur de Linux peuvent être empruntés à AIX, tandis que les outils pour l'utilisation du système de fichiers se concentre sur HP-UX. Des incompatibilités de ce type se retrouvent également entre les différentes distributions Linux.

1
Quarind

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

Unix (sous la marque UNIX) est une famille de systèmes d'exploitation informatiques multitâche et multi-utilisateurs qui dérivent de AT&T Unix d'origine. Le développement a commencé en 1969 et annoncé à l'extérieur des abdos Bell en octobre 1973.

Variété de variantes académiques et commerciales d'Unix 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) a fourni une base pour plusieurs projets de développement open source en cours, par exemple FreeBSD, OpenBSD, NetBSD, Darwin et TrueOS.
  • Xenix est une version arrêtée du système d'exploitation Unix pour diverses plates-formes de micro-ordinateurs, sous licence Microsoft.
  • AIX ( [~ # ~] a [~ # ~] avancé [~ # ~] i [~ # ~] nteractive e [~ # ~] x [~ # ~] ecutive) 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 open source construits autour du noyau Linux. Le composant déterminant de Linux est le noyau Linux, un noyau de système d'exploitation sorti le 17 septembre 1991 par Linus Torvalds.

Linux est empaqueté sous une forme connue sous le nom de distribution Linux (ou distribution en abrégé) pour une utilisation à la fois sur le bureau et sur le serveur. Certaines des distributions Linux les plus populaires et les plus courantes sont Arch Linux, CentOS, Debian, Fedora, Gentoo Linux, Linux Mint, Mageia, openSUSE et Ubuntu, ainsi que des distributions commerciales telles que Red Hat Enterprise Linux

L'interface utilisateur, également connue sous le nom de Shell, est soit une interface de ligne de commande (CLI), une interface utilisateur graphique (GUI), soit via des contrôles attachés au matériel associé, ce qui est courant pour les systèmes embarqués. Pour les systèmes de bureau, le mode par défaut est généralement une interface utilisateur graphique, bien que la CLI soit généralement disponible via des fenêtres d'émulation de terminal ou sur une console virtuelle distincte.

  • Les shells CLI sont des interfaces utilisateur basées sur du texte, qui utilisent du texte à la fois pour l'entrée et la sortie. Le Shell dominant utilisé sous Linux est le Bourne-Again Shell (bash), développé à l'origine pour le projet GNU.
  • Les shells GUI sont K Desktop Environment (KDE), GNOME, MATE, Cinnamon, Unity, LXDE, Pantheon et Xfce, bien qu'il existe une variété d'interfaces utilisateur supplémentaires . Les interfaces utilisateur les plus populaires sont basées sur le système X Window, souvent simplement appelé "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 sous la GNU propre GPL du projet. GNU est un récursif acronyme de "GNU's Not Unix!", choisi parce que la conception de GNU est semblable à Unix, mais diffère d'Unix en étant un logiciel libre et ne contenant pas 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 GNU Compiler Collection (GCC), la bibliothèque GNU C (glibc) et GNU Core Utilities) (coreutils), mais aussi le GNU Debugger (GDB), GNU Binary Utilities (binutils), le GNU Bash) Shell et l'environnement de bureau GNOME.

0
Premraj