Was ist der Unterschied zwischen Unix und Linux? [Duplikat]

13

Ich möchte wissen, was der eigentliche Unterschied zwischen Unix und Linux ist.

  • Teilen sie den gleichen Kernel?
  • Ist Linux auf Unix aufgebaut?
  • Funktionieren für Linux geschriebene Programme unter Unix und umgekehrt?
Xinus
quelle
wer kennt denn sonst linux und unix quellcode?
6
Ich glaube nicht, dass Sie Linux- und Unix-Quellcode benötigen, um die Geschichte der beiden Betriebssysteme zu kennen.
Simon P Stevens
Vielleicht müssen Sie dann den Windows- und Linux-Quellcode kennen, um sie als Unterschiede zu bezeichnen?
Pawka,
4
Linux -> L inux I s N ot U ni X :)
ukanth
yep .. aber Verzeichnisstruktur von beiden ist so gleich, Sie müssen in der Quelle graben, um die Unterschiede zu verstehen, oder zumindest Blockdiagramm kann den Unterschied zeigen .. Fenster auf der anderen Seite haben völlig andere Verzeichnisstruktur, so dass wir das Gefühl haben Unterschied ... das ist, warum ich es wissen wollte ..
Xinus

Antworten:

22

Unix ist nicht eine Sache, es ist ein Name für eine große Familie verwandter Betriebssysteme, die sich in unterschiedlichem Maße, in unterschiedlichem Verlauf und in unterschiedlicher Architektur teilen. Solaris, DEC Unix, IRIX und HP-UX sind Unix-Varianten. Sie sind zu einem gewissen Grad mit Anwendungen kompatibel, da sie POSIX-Standards in unterschiedlichem Maße implementieren, was bedeutet, dass sie ähnliche Befehle und APIs verfügbar machen.

Ihre Kerne sind nicht gleich Kerne. Wenn Sie jedoch nach dem "Unix-Stammbaum" suchen, werden Sie eine faszinierende Geschichte darüber sehen, wie sich diese Varianten wie Organismen voneinander entwickelt haben. Das heißt, ein Fink und eine Schwalbe sind nicht dasselbe Tier, aber sie haben viel gemeinsam.

Linux ist ein von Grund auf neues Schreiben eines Unix-ähnlichen Betriebssystems. Ob Programme für ein Unix / Linux im Vergleich zu anderen geschrieben sind, ist eine komplexe Frage, aber in einigen Fällen ja.

Sean Owen
quelle
21

Nein, Nein, Ja (Quelle)

Um die Antwort wirklich zu verstehen, ist es hilfreich, die Geschichte beider Betriebssysteme zu betrachten.

Unix wurde bei AT & T Bell Labs von Ken Thompson erfunden. Sein Kollege Dennis Ritchie hat dazu beigetragen und auch die C-Sprache erfunden und den C-Compiler geschrieben. Im Laufe der Jahre wurde Code auch von UC Berkeley beigesteuert, der unter anderem bei AT & T, Sun und IBM tätig war.

Es wurde schließlich in einer Reihe von Publikationen mit dem Namen POSIX standardisiert. Insgesamt war der Code urheberrechtlich geschützt, da er von AT & T urheberrechtlich geschützt und dann verkauft oder an andere Unternehmen lizenziert wurde, die ihn im Laufe der Jahre größtenteils umschrieben, jedoch verschiedene Rechte behielten.

In den 90er Jahren entstanden zwei Zweige von "freiem Unix". Eines davon war Linux , ein Klon, der so geschrieben wurde, dass er sich wie Unix verhält, ohne tatsächlichen Unix-Code zu enthalten.

Der andere Zweig existiert heute als NetBSD und wurde schnell von FreeBSD gefolgt und viel später von jedem anderen BSD, von dem Sie vielleicht gehört haben. Diese Projekte unterscheiden sich ein wenig von Linux darin, dass sie "Teilklone" sind. Sie enthalten eine Mischung aus "echtem" Unix-Quellcode (der Teil, der frei lizenziert wurde, hauptsächlich von UC Berkeley) und neu geschriebenem "Klon" -Code und anderem späterem Code, der im Rahmen von Umschreibungen oder zur Unterstützung moderner HW- und moderner Anwendungen auftaucht Posix-Spezifikationen.

Linux ist viel beliebter, weil NetBSD und FreeBSD eine Zeitlang in einem Rechtsstreit zwischen AT & T und UCB verwickelt waren. Obwohl sie zugunsten der BSDs beschlossen wurden, erholten sie sich nie von der Verzögerung, zumindest nicht in Bezug auf die Popularität.

Nein, Linux und kommerzielles Unix haben keinen gemeinsamen Kernel-Code, obwohl kommerzielles Unix und * BSD früher einiges gemeinsam hatten. Die Unix-Kernel der lizenzierten Hersteller enthalten Code, den sie selbst geschrieben haben, möglicherweise mit einem originalen AT & T-Code, der hier und da noch vorhanden ist. Der Linux-Kernel besteht aus Code, der von Linus Torvalds und anderen Autoren geschrieben wurde.

"Unix-Software" ist Software, die auf die Posix-APIs geschrieben wurde und normalerweise auf allen Versionen von Unix, Linux sowie NetBSD und FreeBSD ausgeführt wird. Theoretisch kann Posix SW auf "Nicht-Unix" -Systemen ausgeführt werden, aber das scheint nicht sehr gut zu funktionieren. Heutzutage ist "Unix" ein technisches Markenzeichen, wird jedoch eher informell als Bezeichnung für kommerzielles Unix, Linux und die BSD-Familie verwendet.

DigitalRoss
quelle
Tatsächlich ist BSD Unix in Bezug auf verkaufte Geräte am weitesten verbreitet: Es ist der Kern von Apple OS X, das auf Macs, iPhones und iPads vorhanden ist.
Mouviciel
7

Wenn die meisten Leute über Unix sprechen, meinen sie ein "Unix-ähnliches Betriebssystem, das POSIX-kompatibel ist", wie es Linux ist.

Teilen sie denselben Kernel? Nein, Linux ist ein Kernel, kein Betriebssystem. Technisch gesehen verwenden Linux-Distributionen einen Linux-Kernel und ein GNU (siehe gnu.org) "userland". Das Userland sind die grundlegenden Programme und Bibliotheken usw., die große Anwendungen und Benutzeraufgaben mit der Low-Level-API des Kernels verbinden.

Ist Linux über Unix aufgebaut? Nein, es ist ein Klon. Es wurde entwickelt, um eine kostenlose, verwendbare Version von Unix auf einem Desktop-PC mit geringen Anforderungen bereitzustellen.

Können für Linux geschriebene Programme über Unix funktionieren und umgekehrt? Manchmal. Unter FreeBSD gibt es beispielsweise einen Linux-ABI-Emulator, der im Wesentlichen erkennt, dass Programme für Linux erstellt wurden, und eine andere Reihe von Kernel-Aufrufen zur Verfügung stellt. Ähnliches ist für Linux verfügbar, um Standard-Unix-System-V-Zeug (oder eine beliebte kommerzielle Version von Unix) auszuführen. Es wird jedoch nur selten verwendet, da die meisten Programme mit POSIX-kompatiblem Quellcode geliefert werden und problemlos unter Linux kompiliert werden können. Die meisten Binärprogramme für Unix sind auch direkt für Linux verfügbar. FreeBSD ist ein kleineres Unternehmen und hat diesen Luxus nicht. Unter Linux wird das System zum Laden von Binärdateien von anderen Systemen am häufigsten zum Ausführen von Java-Programmen, Windows-Programmen (obwohl dies nicht ratsam ist) usw. verwendet.

Unix ist eine Marke, daher kann Linux den Namen nicht verwenden. Unix ist die offizielle, alte Version (insofern es eine offizielle Version gibt), die nicht so benutzerfreundlich ist. Die meisten anderen Unix-Versionen wurden etwas besser entwickelt, funktionieren aber in der Praxis nicht unbedingt so gut. Das ist es wirklich. Viele der Unternehmen, die früher Unix verwendeten, verwenden jetzt Linux.

Wenn Sie die Unterschiede in verschiedenen Unix-ähnlichen Betriebssystemen sehen möchten, besorgen Sie sich eine Kopie von FreeBSD, OpenSolaris und Debian. Ich sage diese Distributionen speziell, weil sie leichter zu vergleichen sind, obwohl einige andere wie pc-bsd, nexenta und ubuntu wohl netter sind.

Lee B
quelle
2
Linux ist nicht vollständig POSIX-kompatibel.
MDMarra
Ich könnte mich irren, aber AFAIK ist es in jeder Hinsicht. Es war in der Vergangenheit POSIX-konform zertifiziert, hat aber die ACTUAL-Zertifizierungskosten erhalten, und es ist daher nicht wirklich erledigt, da Linux ein sich ständig weiterentwickelndes freies Softwareprojekt ist. Die Distribution (Linux-FT), die Ende der 90er Jahre eine Zertifizierung mit einem noch höheren Standard erhielt (FIPS, etwas anderes, etwas anderes), erklärte ihre Absicht, dabei zu helfen, ihre Arbeit in den Mainstream-Kernel einzugliedern. Seitdem ist LSB (eine Obermenge von POSIX.1) entstanden und zumindest von einigen Distributionen übernommen worden.
Lee B
@unbekanntes Poster: Ich nehme an, der wahre Test von Unix in diesen Tagen ist SUS - die Single Unix Specification. Soweit ich weiß, entspricht Linux dem NICHT. Ich bin mir nicht sicher, ob dies nur eine technische Angelegenheit ist, aber ich vermute, dass es mehr ist - Linux kann langsam Funktionen entwickeln, die aus welchen Gründen auch immer pragmatisch für unnötig gehalten werden. Ob das noch relevant ist, ist jedoch eine andere Frage, da Linux derzeit wahrscheinlich DIE beliebteste Unix-Variante ist. Andere Unices müssen Linux-Funktionen hinzufügen, und umgekehrt.
Lee B
Nennen sie das nicht * nix?
Hallo71
2

Ich denke, technisch gesehen ist GNU / Linux nicht weniger ein UNIX-Betriebssystem als eines der offiziellen UNIX-Systeme, aber es ist nur aus rechtlichen Gründen so, dass die Leute Linux als ein UNIX- ähnliches Betriebssystem bezeichnen, anstatt nur als ein "UNIX" -Betriebssystem .

Soweit Kernel betrifft, Linux ist ein Kernel. Wenn ein System also per Definition den Linux-Kernel verwendet, ist es ein Linux-System, kein UNIX-System.

Ist Linux über Unix gebaut

Linux wurde nicht "über" Unix erstellt, sondern als UNIX-Klon. Alle verschiedenen Gnu-Dienstprogramme (Bash usw.) wurden von Grund auf als Klone der entsprechenden Unix-Dienstprogramme geschrieben.

Ironischerweise wird Mac OS X mit einem UNIX-Kern mit bash, gcc und möglicherweise anderen GNU-Dienstprogrammen ausgeliefert. Das ist also ein UNIX-System, das Teile von GNU enthält und nicht umgekehrt, wie man es erwarten könnte.

hasen
quelle
0

UNIX-Verlauf Nicht die Antwort auf Ihre Fragen, aber vielleicht interessant.

Pawka
quelle
-2

Aus NixCraft

UNIX ist ein urheberrechtlich geschützter Name. Nur große Unternehmen dürfen das UNIX-Urheberrecht und den Namen verwenden. Daher sind IBM AIX, Sun Solaris und HP-UX alle UNIX. Die Open Group verwahrt das UNIX-Markenzeichen als Vertrauenssache für die Branche und verwaltet das UNIX-Markenlizenzprogramm. Linux ist ein UNIX-Klon

Wenn Sie jedoch POSIX-Standards (Portable Operating System Interface) berücksichtigen, kann Linux als UNIX betrachtet werden. Um aus der offiziellen README-Datei des Linux-Kernels zu zitieren: Linux ist ein Unix-Klon, der von Linus Torvalds von Grund auf neu geschrieben wurde und von einem Team von Hackern aus dem gesamten Internet unterstützt wird. Es zielt auf POSIX-Konformität ab. Linux ist nur ein Kernel

Linux ist nur ein Kernel. Die Linux-Distribution umfasst GUI-Systeme, Installations- und Verwaltungstools, Compiler, Editoren usw. Die Linux-Distribution macht es

Die meisten UNIX-Betriebssysteme gelten als konkurrierendes Betriebssystem.

Wie ich bereits sagte, ist Linux nur ein Kernel, mit dem die Linux-Distribution das Betriebssystem komplett nutzbar macht. Die meisten UNIX-Programme enthalten AZ-Programme wie Editoren, Compiler usw. FreeBSD enthält beispielsweise AZ-Programme. Lizenz und Kosten

Linux ist kostenlos (wie in Bier [Freiheit]). Sie werden die beste Community-Unterstützung sehen. Viele UNIX-Versionen sind nicht kostenlos (dies ändert sich jedoch schnell, z. B. OpenSolaris / Solaris UNIX). Benutzerfreundlich

Linux gilt als benutzerfreundlichstes UNIX wie OS. Die Installation von Soundkarten, Flash-Playern und anderen Desktop-Extras ist ganz einfach. Endbenutzerperspektive

Die Unterschiede sind für den durchschnittlichen Endverbraucher nicht so groß.

zufällig
quelle
Die Fehler bezüglich der relativen Kosten von Linux und FreeBSD sind nicht in dem enthalten, was hier angeblich zitiert wird. Dennoch sollte man nicht eine Erklärung , dass Mischungen up Copyright vertrauen und Warenzeichen und verschmilzt „Freiheit“ mit „ wie in Bier“, welche beide Fehler sind im Original.
JdeBP