Es gibt also viele verschiedene Versionen von Unix: HP-UX, AIX, BSD usw. Linux wird eher als Unix-Klon denn als Implementierung von Unix betrachtet. Sind alle "echten" Unices echte Nachkommen des Originals? Wenn nicht, was unterscheidet Linux von Unix?
190
Antworten:
Das hängt davon ab, was Sie unter "Unix" und unter "Linux" verstehen.
UNIX ist eine eingetragene Marke von The Open Group . Die Marke hat eine bewegte Geschichte hinter sich und es ist nicht ganz klar, dass sie aufgrund der weit verbreiteten Verwendung von „Unix“ in Bezug auf Unix-ähnliche Systeme nicht generisch ist (siehe unten). Gegenwärtig gewährt die Open Group jedem System, das eine Single-UNIX- Zertifizierung besteht, die Verwendung der Marke . Siehe auch Warum gibt es im Internet ein *, wenn Unix erwähnt wird? .
Unix ist ein Betriebssystem, das 1969 in Bell Labs geboren wurde . Verschiedene Unternehmen haben Code verkauft, der von diesem ursprünglichen System abgeleitet ist, und verkaufen ihn auch weiterhin, z. B. AIX , HP-UX , Solaris . Siehe auch Evolution von Betriebssystemen von Unix .
Es gibt viele Unix-ähnliche Systeme, die Programmierern, Benutzern und Administratoren ähnliche Schnittstellen bieten. Das älteste Produktionssystem ist die Berkeley Software Distribution , die sich schrittweise von Unix-basiert (dh mit Code aus der ursprünglichen Implementierung) zu Unix-ähnlich (dh mit einer ähnlichen Schnittstelle) entwickelt hat. Es gibt viele BSD-basierte oder BSD-abgeleitete Betriebssysteme: FreeBSD , NetBSD , OpenBSD , Mac OS X usw. Weitere Beispiele sind OSF / 1 (jetzt eingestellt, es war ein kommerzielles Unix-ähnliches, nicht-Unix-basiertes System). Minix(ursprünglich ein Spielzeug-Unix-ähnliches Betriebssystem, das als Lehrmittel verwendet wird, jetzt ein in die Produktion eingebettetes Unix-ähnliches System) und vor allem Linux .
Genau genommen ist Linux ein Betriebssystemkernel, der wie der Unix-Kernel aufgebaut ist.
Linux wird am häufigsten als Name für Unix-ähnliche Betriebssysteme verwendet, die Linux als Kernel verwenden. Da viele der Tools außerhalb des Kernels Teil des GNU-Projekts sind , werden solche Systeme oft als GNU / Linux bezeichnet . Alle wichtigen Linux-Distributionen bestehen aus GNU / Linux und anderer Software.
Es gibt Linux-basierte Unix-ähnliche Systeme, die nicht viele GNU-Tools verwenden, insbesondere in der Embedded-Welt, aber ich denke, dass keines davon GNU-Entwicklungstools, insbesondere GCC , überflüssig macht .
Es gibt Betriebssysteme mit Linux als Kernel, die jedoch nicht Unix-ähnlich sind. Am bekanntesten ist Android , das keine Unix-ähnliche Benutzererfahrung hat (obwohl Sie eine Unix-ähnliche Befehlszeile installieren können), Administratorerfahrung oder (meistens) Programmiererfahrung („native“ Android-Programme verwenden eine API, die dies ermöglicht) ist völlig anders als Unix).
quelle
In jeder Hinsicht ist eine typische moderne Linux-Distribution (Ubuntu, Debian, Red Hat, Fedora, Slackware usw.) ein Unix, aber streng genommen kann kein System behaupten, Unix zu sein, ohne zertifiziert zu sein Unix-like. Sie sind von Unix inspiriert und setzen seine Kultur fort.
Dies gilt auch für BSD-Systeme.
Mac OS X ist Unix-zertifiziert, daher ist es sowohl im Namen als auch in der Tat Unix. (und es basiert tatsächlich auf BSD).
Da Linux selbst nur ein Kernel ist, kann es verwendet werden, um nicht-unix-ähnliche Systeme (wie Android) zu erstellen.
quelle
Linux ist eher "Unix-artig", also könnte man es vereinfacht als Klon bezeichnen, genauso wie BSDs (obwohl BSDs zugegebenermaßen näher an Unix als an Linux liegen könnten).
Die Hauptsache, die Linux den Unix-ähnlichen Titel verleiht, ist die Tatsache, dass es mit der Zeit fast vollständig mit den POSIX- Standards (Portable Operating System Interface [für Unix]) kompatibel ist .
Die andere Schlüsselsache ist die Vererbung von Code usw. , wie auf Wikipedia gezeigt, Linux stammt eigentlich nicht aus Unix-Quellen, sondern ist von Grund auf neu aufgebaut (dies ist jedoch umstritten).
Das Wichtigste, was Unix von Linux unterscheidet, sind die Vorfahren und die Standards, die es erfüllt.
quelle
Die gewählte Antwort erklärt es ziemlich ausführlich, aber Sie müssten sich eine ganze Dokumentation ansehen, um alle Details zwischen der anfänglichen Entwicklung von UNIX und der Entwicklung von Linux zu erfahren.
Zunächst muss man bedenken, dass Linux der Kernel ist, der von Linux und anderen Programmierern erstellt wurde. Er entschied sich, es mit der GPL zu veröffentlichen, die zu dieser Zeit eine Lizenz der FSF (RMS und anderer Leute) war, die auch ihren eigenen Kernel und GNU entwickelten.
Was wir normalerweise Linux nennen, ist zunächst der Kernel sowie alle anderen Tools, die ursprünglich aus dem GNU-Projekt stammen. Diese beiden Projekte unterscheiden sich historisch, da zu dieser Zeit der Kernel der FSF-Leute aufgegeben wurde, um den Linux-Kernel zu bevorzugen, der viel besser war.
Ich erinnere mich, dass es einen Dokumentarfilm gibt, den Sie sich unbedingt ansehen sollten. Ich finde ihn wichtig für Ihre Programmierkultur.
Eine andere Sache, die Sie berücksichtigen müssen, wenn Sie über "* nix" nachdenken, ist alles, was POSIX und andere architekturstandardisierte Dinge betrifft. Es ist Gegenstand von OS Design / Research, definiert aber genau, wie die beteiligten Betriebssysteme funktionieren, und ist entscheidend, wenn ein Kernel gut mit seinen Tools funktioniert.
quelle
Es gibt bereits viele großartige Antworten, aber ich dachte, dass die Ansichten des großartigen Dennis Ritchie (Mitentwickler von Unix) eine interessante Ergänzung zu den anderen eher technischen Antworten darstellen würden.
Es scheint, dass Dennis Ritchie Linux als legitimes Unix-Derivat ansah. In einem Interview von 1999 für LinuxFocus.org wurde er gefragt:
Seine Antwort auf die Frage war
quelle
Historisch gesehen hat Linus Torvalds einen verbesserten Klon von Minix OS erstellt. Die Entwicklung von Linux konzentriert sich nicht auf eine bestimmte Plattform und Kundenbasis, und Linux-Entwickler verfügen über eine Vielzahl von Erfahrungen und Perspektiven. Betriebssysteme wie HP-UX, AIX, Solaris und andere sind hauptsächlich für Anbieter geeignet.
In der Linux-Community gibt es keine strengen Standards für Tools oder Umgebungen. Dieser Mangel an Standardisierung führt zu erheblichen Inkonsistenzen innerhalb von Linux. Für einige Entwickler ist die Fähigkeit, die besten Leistungen anderer Betriebssysteme zu nutzen, ein Plus, aber es ist nicht immer praktisch, UNIX-Elemente unter Linux zu kopieren, wenn beispielsweise die Gerätenamen in Linux von AIX übernommen werden können, während die Tools für Die Arbeit mit dem Dateisystem konzentriert sich auf HP-UX. Solche Inkompatibilitäten treten auch bei verschiedenen Linux-Distributionen auf.
quelle
Unix, ursprünglich UNICS (UNiplexed Information and Computing Service).
Unix (als UNIX gekennzeichnet) ist eine Familie von Multitasking-Mehrbenutzer-Betriebssystemen, die vom ursprünglichen AT & T-Unix abgeleitet sind. Die Entwicklung begann 1969 und wurde im Oktober 1973 außerhalb von Bell abs angekündigt.
Verschiedene akademische und kommerzielle Unix-Varianten von Anbietern wie der University of California, Berkeley (BSD), Microsoft (Xenix), IBM (AIX) und Sun Microsystems (Solaris).
Linux ist eine Familie von kostenlosen und Open-Source-Software-Betriebssystemen, die auf dem Linux-Kernel aufbauen. Die entscheidende Komponente von Linux ist der Linux-Kernel, ein Betriebssystemkernel, der am 17. September 1991 von Linus Torvalds erstmals veröffentlicht wurde.
Linux ist in einer Form verpackt, die als Linux-Distribution (oder kurz als Distribution) sowohl für den Desktop- als auch für den Servereinsatz bekannt ist. Einige der beliebtesten und am weitesten verbreiteten Linux-Distributionen sind Arch Linux, CentOS, Debian, Fedora, Gentoo Linux, Linux Mint, Mageia, openSUSE und Ubuntu sowie kommerzielle Distributionen wie Red Hat Enterprise Linux
Die Benutzeroberfläche, die auch als Shell bezeichnet wird, ist entweder eine Befehlszeilenschnittstelle (CLI), eine grafische Benutzeroberfläche (GUI) oder über Steuerelemente, die an die zugeordnete Hardware angeschlossen sind. Dies ist bei eingebetteten Systemen üblich. Bei Desktopsystemen ist der Standardmodus normalerweise eine grafische Benutzeroberfläche, obwohl die CLI normalerweise über Terminalemulatorfenster oder auf einer separaten virtuellen Konsole verfügbar ist.
GNU ist ein Betriebssystem und eine umfangreiche Sammlung von Computersoftware. GNU besteht zu 100% aus freier Software, die größtenteils unter der GPL des GNU-Projekts lizenziert ist. GNU ist eine rekursive Abkürzung für "GNU's Not Unix!", Die gewählt wurde, weil das Design von GNU Unix-ähnlich ist, sich aber von Unix dadurch unterscheidet, dass es freie Software ist und keinen Unix-Code enthält. Die Entwicklung des GNU-Betriebssystems wurde 1983 von Richard Stallman initiiert, als er am Massachusetts Institute of Technology (MIT) im Artificial Intelligence Laboratory arbeitete.
Zu den Basiskomponenten zählen die GNU Compiler Collection (GCC), die GNU C-Bibliothek (glibc) und die GNU Core Utilities (coreutils), aber auch der GNU Debugger (GDB), die GNU Binary Utilities (binutils), die GNU Bash-Shell und GNOME Desktop-Umgebung.
quelle
Linux ist ein Unix-ähnliches Betriebssystem, das von Linus Torvalds und Tausenden anderen entwickelt wurde.
BSD ist ein UNIX-Betriebssystem, das aus rechtlichen Gründen als Unix-Like bezeichnet werden muss.
OS X ist ein grafisches UNIX-Betriebssystem, das von Apple Inc. entwickelt wurde.
Linux ist das bekannteste Beispiel für ein "echtes" Unix-Betriebssystem. Es läuft auf allem und unterstützt weit mehr Hardware als BSD oder OS X. Ein interessantes Zitat, das ich beim Vergleich von BSD und Linux gefunden habe:
BSD ähnelt eher einem Unix-Betriebssystem als Linux. Bemerkenswert ist auch, dass Apple BSD- und Linux-Komponenten einsetzt. Apple verwendet APT von Debian und Ubuntu auf den Plattformen iOS und OS X. Und es basiert auf BSD. (Der Kernel ist jedoch Darwin, was ein eigener Kernel ist. Beastie the platypus ist das Darwin-Maskottchen, da er eine Mischung aus Beastie von BSD und einem Platypus ist.)
Wenn Sie ein "echtes" Unix-Betriebssystem wollen (eines, das auf allen Geräten läuft und viele Hardware unterstützt), probieren Sie Linux aus.
Wenn Sie Hardwareunterstützung und Kopfschmerzen vom unteren Ende wünschen (ich weiß, ich werde eine Menge Hass bekommen, aber es ist mir egal), verwenden Sie BSD.
Wenn Sie mehr als 1000 US-Dollar ausgeben möchten, verwenden Sie OS X und iOS. (Wieder werde ich wahrscheinlich eine Menge Hass bekommen.)
Ich bin ein langjähriger Linux-Benutzer, der es von Anfang der 90er bis Anfang der 2000er Jahre ein- und ausschaltete und es dann für eine Weile nicht mehr verwendete, es aber Mitte 2012 wieder als mein permanentes Betriebssystem verwendete, sodass ich es jedem empfehlen kann, der es möchte etwas anderes als Windoze versuchen.
quelle