Linux wurde von Unix inspiriert, aber Linux ist nicht Unix – obwohl es definitiv Unix-ähnlich ist. Wir werden die Hauptunterschiede zwischen diesen beiden berühmten Betriebssystemen erklären.
Inhaltsverzeichnis
Gleicher Unterschied?
Linux ist ein kostenloses Open-Source-Betriebssystem. Unix ist ein kommerzielles Produkt, das von einer Vielzahl von Anbietern mit jeweils einer eigenen Variante angeboten wird, die normalerweise für ihre eigene Hardware bestimmt ist. Es ist teuer und Closed Source. Aber Linux und Unix machen mehr oder weniger dasselbe auf die gleiche Weise, oder? Mehr oder weniger, ja.
Die Feinheiten sind etwas komplizierter. Es gibt Unterschiede, die über das technische und architektonische hinausgehen. Um einige der Einflüsse zu verstehen, die Unix und Linux geprägt haben, müssen wir ihre Vorgeschichte verstehen.
Die Ursprünge von Unix
Unix ist über 50 Jahre alt. Es wurde entwickelt in Digital Equipment Corporation (DEZ) Assemblersprache auf einen DEZ PDP/7 als inoffizielles Projekt bei Bell Labs, dann im Besitz von AT&T. Es wurde kurz nach a portiert DEZ PDP/11/20 Computer, dann stetig auf andere Computer bei Bell verteilt. Eine Umschreibung in der Programmiersprache C führte zur 1973er Version 4 von Unix. Dies war von Bedeutung, da es aufgrund der Eigenschaften der Sprache C und des Compilers jetzt relativ einfach war, Unix auf neue Computerarchitekturen zu portieren.
1973, Ken Thompson und Dennis Ritchie präsentierte auf einer Konferenz einen Vortrag über Unix. Infolgedessen gingen Anfragen nach Unix-Kopien bei Bell ein. Da der Verkauf von Betriebssystemen nicht in den zulässigen Anwendungsbereich von AT&T fiel, konnten sie Unix nicht als Produkt behandeln. Dies führte dazu, dass Unix als Quellcode mit einer Lizenz vertrieben wurde. Die nominalen Kosten reichten aus, um Versand und Verpackung sowie eine „angemessene Lizenzgebühr“ zu decken. Unix kam „wie es ist“, ohne technischen Support und ohne Fehlerbehebungen. Aber Sie haben den Quellcode erhalten – und Sie konnten ihn ändern.
Unix erlebte eine schnelle Akzeptanz in akademischen Einrichtungen. 1975 verbrachte Ken Thompson ein Sabbatical von Bell an der Universität von Kalifornien, Berkeley. Zusammen mit einigen Doktoranden begann er, ihre lokale Unix-Kopie zu erweitern und zu verbessern. Das Interesse von außen an den Ergänzungen in Berkeley wuchs, was zur ersten Veröffentlichung des Berkeley-Softwareverteilung (BSD). Dies war eine Sammlung von Programmen und Systemmodifikationen, die zu einem bestehenden Unix-System hinzugefügt werden konnten, aber es war kein eigenständiges Betriebssystem. Nachfolgende Versionen von BSD waren ganze Unix-Systeme.
Es gab jetzt zwei Hauptvarianten von Unix, den AT&T-Stream und den BSD-Stream. Alle anderen Unix-Varianten, wie z AIX, HP-UX, und Orakel Solaris, sind Nachkommen dieser. 1984 wurden einige der Beschränkungen für AT&T freigegeben, und sie waren in der Lage, Unix zu produzieren und zu verkaufen.
Unix wurde dann kommerzialisiert.
Die Entstehung von Linux
die Kommerzialisierung von Unix als eine weitere Aushöhlung der Freiheiten sehen, die Computerbenutzern zur Verfügung stehen, Richard Stallman machte sich daran, ein auf Freiheit gegründetes Betriebssystem zu schaffen. Das heißt, die Freiheit, den Quellcode zu ändern, modifizierte Versionen der Software weiterzugeben und die Software auf jede Art und Weise zu verwenden, die der Benutzer für richtig hält.
Das Betriebssystem sollte die Funktionalität von Unix replizieren, ohne Unix-Quellcode einzuschließen. Er nannte das Betriebssystem GNU und gründete die GNU-Projekt 1983 das Betriebssystem zu entwickeln. 1985 gründete er die Free Software Foundation das GNU-Projekt zu fördern, zu finanzieren und zu unterstützen.
Alle Bereiche des GNU-Betriebssystems machten gute Fortschritte – bis auf den Kernel. Die Entwickler des GNU-Projekts arbeiteten an einem Mikrokernel namens GNU Hurd, aber der Fortschritt war langsam. (Es befindet sich heute noch in der Entwicklung und nähert sich einer Veröffentlichung.) Ohne einen Kernel gäbe es kein Betriebssystem.
1987, Andrew S. Tanebaum veröffentlichte ein Betriebssystem namens MINIX (mini-Unix) als Lehrmittel für Studierende des Betriebssystem-Designs. MINIX war ein funktionales, Unix-ähnliches Betriebssystem, aber es hatte einige Einschränkungen, insbesondere beim Dateisystem. Schließlich musste der Quellcode klein genug sein, um in einem einzigen Hochschulsemester ausreichend abgedeckt zu werden. Einige Funktionen mussten geopfert werden.
Um das Innenleben der besser zu verstehen Intel 80386 in seinem neuen PC rief ein Informatikstudent Linus Torvalds als Lernübung einen einfachen Code zum Aufgabenwechsel geschrieben. Schließlich wurde dieser Code zu einem elementaren Proto-Kernel, der zum ersten Linux-Kernel wurde. Torvalds war mit MINIX vertraut. Tatsächlich wurde sein erster Kernel auf MINIX mit dem GCC-Compiler von Richard Stallman entwickelt.
Torvalds beschloss, sein eigenes Betriebssystem zu entwickeln, das die Einschränkungen des für den Unterricht entwickelten MINIX überwand. 1991 machte er seinen berühmte Ankündigung auf dem MINIX Usenet Gruppe und bittet um Kommentare und Vorschläge zu seinem Projekt.
Linux ist nicht wirklich ein Unix-Klon. Wenn Linux ein Klon von Unix wäre, wäre es Unix. Ist es nicht, es ist Unix-ähnlich. Das Wort „Klon“ impliziert, dass ein kleiner Teil des Originals zu einer neuen Zelle-für-Zell-Replik des Originals kultiviert wird. Linux wurde neu entwickelt, um das Erscheinungsbild von Unix zu erhalten und die gleichen Anforderungen zu erfüllen. Es ist weniger ein Klon, sondern mehr ein Replikant.
In jedem Fall war Linux ein Kernel, der nach einem Betriebssystem suchte; GNU war ein Betriebssystem, das nach einem Kernel suchte. Im Nachhinein scheint das, was als nächstes geschah, unvermeidlich. Es hat auch die Welt verändert.
Wer macht die Entwicklung?
Eine Linux-Distribution ist die Summe vieler verschiedener Teile, die von vielen verschiedenen Orten stammen. Der Linux-Kernel, die GNU-Suite von Kerndienstprogrammen und die User-Land-Anwendungen werden kombiniert, um eine brauchbare Distribution zu bilden. Und jemand muss das kombinieren, warten und verwalten – genauso wie jemand den Kernel, die Anwendungen und die wichtigsten Dienstprogramme entwickeln muss. Die Betreuer der Distributionen und die Communities jeder Distribution tragen ebenso dazu bei, eine Linux-Distribution zum Leben zu erwecken wie die Kernel-Entwickler.
Linux ist das Ergebnis einer verteilten Zusammenarbeit von unbezahlten Freiwilligen, von Organisationen wie Kanonisch und roter Hutund von der Industrie geförderte Personen.
Jedes kommerzielle Unix wird als eine einzige zusammenhängende Einheit unter Verwendung interner – oder streng kontrollierter ausgelagerter – Entwicklungseinrichtungen entwickelt. Diese haben oft einen einzigartigen Kernel und sind speziell für die von jedem Hersteller bereitgestellten Hardwareplattformen ausgelegt.
Die kostenlosen und Open-Source-Derivate des BSD-Unix-Streams, wie z FreeBSD, OpenBSD, und DrachenBSD, Verwenden Sie eine Kombination aus altem BSD-Code und neuem Code. Sie sind jetzt von der Community unterstützte Projekte und werden ähnlich wie Linux-Distributionen verwaltet.
Standards und Konformität
Im Allgemeinen ist Linux keines von beiden Einzel-Unix-Spezifikation (SUS) konform noch POSIX konform. Es versucht, beide Standards zu erfüllen, ohne ihnen ein Sklave zu sein. Es gab eine oder zwei – buchstäblich eine oder zwei – Ausnahmen, wie z Inspur K-UX, ein chinesisches Linux, das POSIX-kompatibel ist.
Ein echtes Unix ist, wie die kommerziellen Angebote, konform. Einige BSD-Derivate, darunter alle bis auf eine Version von macOS, sind POSIX-kompatibel. Die Variantennamen wie AIX, HP-UX und Solaris sind alle Marken der jeweiligen Organisationen.
Marken und Urheberrecht
Linux ist ein eingetragenes Warenzeichen von Linus Torvalds. Der Linux Foundation verwaltet die Marke in seinem Namen. Der Linux-Kernel und die Kerndienstprogramme werden unter verschiedenen GNU . veröffentlicht „copyleft“ Allgemeine öffentliche Lizenzen. Der Quellcode ist frei verfügbar.
Unix ist ein eingetragenes Warenzeichen der Gruppe öffnen. Es ist urheberrechtlich geschützt, proprietär und Closed-Source.
FreeBSD ist urheberrechtlich geschützt durch die FreeBSD-Projekt, und der Quellcode ist verfügbar.
Unterschiede in der Verwendung
Aus Sicht der Benutzererfahrung gibt es an der Befehlszeile keinen großen sichtbaren Unterschied. Aufgrund der POSIX-Standards und -Konformität kann auf Unix geschriebene Software mit geringem Portierungsaufwand für ein Linux-Betriebssystem kompiliert werden. Shell-Skripte zum Beispiel können in vielen Fällen ohne oder mit geringen Änderungen direkt unter Linux verwendet werden.
Einige der Befehlszeilen-Dienstprogramme haben leicht unterschiedliche Befehlszeilen-Optionen, aber im Wesentlichen ist auf beiden Plattformen das gleiche Arsenal an Tools verfügbar. In der Tat, IBMs AIX hat eine AIX Toolbox für Linux-Anwendungen. Dadurch kann der Systemadministrator Hunderte von GNU-Paketen (wie Bash, GCC usw.) installieren.
Die verschiedenen Unix-Geschmacksrichtungen haben unterschiedliche grafische Benutzeroberflächen (GUI) steht ihnen ebenso zur Verfügung wie Linux. Ein Linux-Benutzer, der vertraut ist mit GNOME oder Kamerad müssen sich bei der ersten Begegnung zurechtfinden KDE oder Xfce, aber sie werden es bald abholen. Ähnlich verhält es sich mit den unter Unix verfügbaren GUIs, wie z Motiv, Gemeinsame Desktop-Umgebung, und das X Windows-System. Sie sind alle ähnlich genug, um von jedem navigierbar zu sein, der mit den Konzepten einer Fensterumgebung mit Dialogen, Menüs und Symbolen vertraut ist.
Bei der Administration der Systeme erfahren Sie mehr über die Unterschiede. Zum Beispiel gibt es verschiedene drin Mechanismen. Derivate des System V Unix und der BSD-Streams haben unterschiedliche Init-Systeme. Die freien BSD-Varianten behielten die BSD-Init-Schemata bei. Standardmäßig verwenden Linux-Distributionen entweder ein von Unix System V abgeleitetes Init-System oder systemd.
Stick Shift vs. Automatik
Wenn Sie das eine Auto fahren können, können Sie das andere auch fahren – auch wenn es anfangs ein bisschen Stop-Start sein wird.
Abgesehen vom Preis sind die Unterschiede in Philosophie, Lizenzierung, Entwicklungsmodell, Community-Organisation sowie Art und Stil der Governance größer und signifikanter als die Unterschiede in den Befehlszeilen-Flags beispielsweise zwischen einer Version von grep und andere.
Die größten Unterschiede sind nicht die, die Sie auf dem Bildschirm sehen.