GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux vs. Unix:Was ist der Unterschied?

Wenn Sie ein Softwareentwickler in den Zwanzigern oder Dreißigern sind, sind Sie in einer von Linux dominierten Welt aufgewachsen. Es ist seit Jahrzehnten ein bedeutender Akteur im Rechenzentrum, und obwohl es schwierig ist, endgültige Berichte über den Marktanteil von Betriebssystemen zu finden, könnte der Anteil von Linux an den Betriebssystemen von Rechenzentren bis zu 70 % betragen, wobei Windows-Varianten fast den gesamten verbleibenden Prozentsatz tragen . Entwickler, die eine beliebige öffentliche Cloud verwenden, können davon ausgehen, dass auf dem Zielsystem Linux ausgeführt wird. Der Beweis, dass Linux allgegenwärtig ist, ist in den letzten Jahren gewachsen, wenn man Android- und Linux-basierte eingebettete Systeme in Smartphones, Fernseher, Autos und viele andere Geräte hinzufügt.

Trotzdem haben die meisten Softwareentwickler, sogar diejenigen, die während dieser ehrwürdigen „Linux-Revolution“ aufgewachsen sind, zumindest von Unix gehört. Es klingt ähnlich wie Linux, und Sie haben wahrscheinlich gehört, dass diese Begriffe synonym verwendet werden. Oder vielleicht haben Sie gehört, dass Linux ein "Unix-ähnliches" Betriebssystem genannt wird.

Also, was ist dieses Unix? Die Karikaturen sprechen von zauberhaften „Graubärten“, die hinter leuchtenden grünen Bildschirmen sitzen und C-Code und Shell-Skripte schreiben, angetrieben von altmodischem, aufgebrühtem Kaffee. Aber Unix hat eine viel reichere Geschichte als die bärtigen C-Programmierer aus den 1970er Jahren. Während es viele Artikel gibt, die die Geschichte von Unix und "Unix vs. Linux"-Vergleiche detailliert beschreiben, bietet dieser Artikel einen Hintergrund auf hoher Ebene und eine Liste der Hauptunterschiede zwischen diesen komplementären Welten.

Die Anfänge von Unix

Die Geschichte von Unix beginnt in den AT&T Bell Labs Ende der 1960er Jahre mit einem kleinen Team von Programmierern, die ein Multitasking- und Mehrbenutzer-Betriebssystem für den PDP-7 schreiben wollten. Zwei der bemerkenswertesten Mitglieder dieses Teams in der Bell Labs-Forschungseinrichtung waren Ken Thompson und Dennis Ritchie. Während viele Konzepte von Unix von seinem Vorgänger (Multics) abgeleitet waren, war die Entscheidung des Unix-Teams Anfang der 1970er Jahre, dieses kleine Betriebssystem in der Sprache C neu zu schreiben, das, was Unix von allen anderen unterschied. Zu dieser Zeit waren Betriebssysteme selten, wenn überhaupt, portabel. Stattdessen waren Betriebssysteme aufgrund ihres Designs und ihrer Low-Level-Quellsprache eng mit der Hardwareplattform verbunden, für die sie geschrieben wurden. Durch Refactoring von Unix auf die Programmiersprache C konnte Unix nun auf viele Hardware-Architekturen portiert werden.

Zusätzlich zu dieser neuen Portabilität, die es Unix ermöglichte, sich schnell über Bell Labs hinaus auf andere Forschungs-, akademische und sogar kommerzielle Zwecke auszudehnen, waren mehrere wichtige Designgrundsätze des Betriebssystems für Benutzer und Programmierer attraktiv. Zum einen wurde die Unix-Philosophie von Ken Thompson zu einem mächtigen Modell für modulares Software-Design und Computing. Die Unix-Philosophie empfahl, kleine, speziell entwickelte Programme in Kombination zu verwenden, um komplexe Gesamtaufgaben zu erledigen. Da Unix um Dateien und Pipes herum entwickelt wurde, ist dieses Modell des Zusammenführens von Ein- und Ausgängen von Programmen zu einem linearen Satz von Operationen auf der Eingabe auch heute noch in Mode. Tatsächlich verdankt das aktuelle serverlose Cloud-Computing-Modell einen Großteil seines Erbes der Unix-Philosophie.

Schnelles Wachstum und Wettbewerb

In den späten 1970er und 80er Jahren wurde Unix zur Wurzel eines Stammbaums, der sich über Forschung, Wissenschaft und ein wachsendes kommerzielles Geschäft mit Unix-Betriebssystemen ausbreitete. Unix war keine Open-Source-Software, und der Unix-Quellcode war über Vereinbarungen mit seinem Eigentümer AT&T lizenzierbar. Die erste bekannte Softwarelizenz wurde 1975 an die University of Illinois verkauft.

Unix wuchs schnell in der akademischen Welt, wobei Berkeley zu einem bedeutenden Aktivitätszentrum wurde, nachdem Ken Thompson dort in den 70er Jahren ein Sabbatjahr hatte. Mit all den Aktivitäten rund um Unix in Berkeley wurde eine neue Lieferung von Unix-Software geboren:die Berkeley Software Distribution oder BSD. Ursprünglich war BSD keine Alternative zu AT&Ts Unix, sondern ein Add-On mit zusätzlicher Software und Fähigkeiten. Als 2BSD (die Second Berkeley Software Distribution) 1979 auf den Markt kam, hatte Bill Joy, ein Berkeley-Student, inzwischen berühmte Programme wie vi hinzugefügt und die C-Shell (/bin/csh).

Neben BSD, das zu einem der beliebtesten Zweige der Unix-Familie wurde, explodierten die kommerziellen Angebote von Unix in den 1980er und in den 90er Jahren mit Namen wie HP-UX, IBMs AIX, Suns Solaris, Sequent und Xenix. Als die Zweige aus der ursprünglichen Wurzel wuchsen, begannen die "Unix-Kriege", und die Standardisierung wurde zu einem neuen Schwerpunkt für die Community. Der POSIX-Standard wurde 1988 geboren, ebenso wie andere Standardisierungsfolgen über The Open Group bis in die 1990er Jahre.

Weitere Linux-Ressourcen

  • Spickzettel für Linux-Befehle
  • Spickzettel für fortgeschrittene Linux-Befehle
  • Kostenloser Online-Kurs:RHEL Technical Overview
  • Spickzettel für Linux-Netzwerke
  • SELinux-Spickzettel
  • Spickzettel für allgemeine Linux-Befehle
  • Was sind Linux-Container?
  • Unsere neuesten Linux-Artikel

Ungefähr zu dieser Zeit veröffentlichten AT&T und Sun System V Release 4 (SVR4), das von vielen kommerziellen Anbietern übernommen wurde. Unabhängig davon war die BSD-Familie von Betriebssystemen im Laufe der Jahre gewachsen, was zu einigen Open-Source-Varianten führte, die unter der jetzt bekannten BSD-Lizenz veröffentlicht wurden. Dazu gehörten FreeBSD, OpenBSD und NetBSD, jeweils mit einem etwas anderen Zielmarkt in der Unix-Serverindustrie. Diese Unix-Varianten werden auch heute noch verwendet, obwohl viele ihren Server-Marktanteil in den einstelligen (oder niedrigeren) Bereich schrumpfen sehen. BSD hat heute möglicherweise die größte Installationsbasis aller modernen Unix-Systeme. Außerdem kann jede Apple Mac-Hardwareeinheit, die in der jüngeren Geschichte ausgeliefert wurde, von BSD beansprucht werden, da das Betriebssystem OS X (jetzt macOS) ein BSD-Derivat ist.

Während die vollständige Geschichte von Unix und seinen akademischen und kommerziellen Varianten viele weitere Seiten umfassen könnte, wollen wir uns im Interesse unseres Artikelschwerpunkts mit dem Aufstieg von Linux befassen.

Linux eingeben

Was wir heute Linux-Betriebssystem nennen, ist eigentlich die Kombination zweier Bemühungen aus den frühen 1990er Jahren. Richard Stallman suchte nach einer wirklich kostenlosen Open-Source-Alternative zum proprietären Unix-System. Er arbeitete an den Dienstprogrammen und Programmen unter dem Namen GNU, einem rekursiven Akronym, das „GNU ist nicht Unix!“ bedeutet. Obwohl ein Kernel-Projekt im Gange war, stellte sich heraus, dass es schwierig war, und ohne einen Kernel konnte der Traum eines freien und quelloffenen Betriebssystems nicht verwirklicht werden. Es war Linus Torvalds Arbeit – die Schaffung eines funktionierenden und lebensfähigen Kernels, den er Linux nannte – die das gesamte Betriebssystem zum Leben erweckte. Angesichts der Tatsache, dass Linus mehrere GNU-Tools (z. B. die GNU Compiler Collection oder GCC) verwendete, passte die Verbindung der GNU-Tools und des Linux-Kernels perfekt zusammen.

Linux-Distributionen wurden mit den Komponenten von GNU, dem Linux-Kernel, der X-Windows-GUI des MIT und anderen BSD-Komponenten, die unter der Open-Source-BSD-Lizenz verwendet werden konnten, zum Leben erweckt. Die frühe Popularität von Distributionen wie Slackware und dann Red Hat verschaffte dem "normalen PC-Benutzer" der 1990er Jahre Zugang zum Linux-Betriebssystem und damit zu vielen der proprietären Unix-Systemfunktionen und -Dienstprogramme, die sie in ihrer Arbeit oder ihrem akademischen Leben verwendeten.

Da alle Linux-Komponenten kostenlos und Open Source sind, konnte jeder mit ein wenig Aufwand eine Linux-Distribution erstellen, und bald ging die Gesamtzahl der Distributionen in die Hunderte. Natürlich verwenden viele Entwickler Linux entweder über Cloud-Anbieter oder über beliebte kostenlose Distributionen wie Fedora, Ubuntu von Canonical, Debian, Arch Linux, Gentoo und viele andere Varianten. Kommerzielle Linux-Angebote, die Support zusätzlich zu den kostenlosen und Open-Source-Komponenten bieten, wurden rentabel, da viele Unternehmen, einschließlich IBM, von proprietärem Unix migrierten, um Middleware- und Softwarelösungen auf Linux anzubieten. Red Hat hat ein Modell für kommerziellen Support rund um Red Hat Enterprise Linux aufgebaut, ebenso wie der deutsche Anbieter SUSE mit SUSE Linux Enterprise Server (SLES).

Unix und Linux im Vergleich

Bisher haben wir uns mit der Geschichte von Unix und dem Aufstieg von Linux und den Grundlagen der GNU/Free Software Foundation für eine freie und quelloffene Alternative zu Unix befasst. Lassen Sie uns die Unterschiede zwischen diesen beiden Betriebssystemen untersuchen, die viel vom gleichen Erbe und viele der gleichen Ziele teilen.

Aus Sicht der Benutzererfahrung ist nicht viel anders! Ein großer Vorteil von Linux war die Verfügbarkeit des Betriebssystems über viele Hardwarearchitekturen (einschließlich des modernen PCs) und die Fähigkeit, Tools zu verwenden, die Unix-Systemadministratoren und -Benutzern vertraut sind.

Aufgrund der POSIX-Standards und -Konformität könnte auf Unix geschriebene Software mit einem normalerweise begrenzten Portierungsaufwand für ein Linux-Betriebssystem kompiliert werden. Shell-Skripte könnten in vielen Fällen direkt unter Linux verwendet werden. Während einige Tools leicht unterschiedliche Flag-/Befehlszeilenoptionen zwischen Unix und Linux hatten, arbeiteten viele auf beiden gleich.

Eine Randbemerkung ist, dass die Popularität der macOS-Hardware und des Betriebssystems als Entwicklungsplattform, die hauptsächlich auf Linux abzielt, dem BSD-ähnlichen macOS-Betriebssystem zugeschrieben werden kann. Viele Tools und Skripte, die für ein Linux-System gedacht sind, funktionieren problemlos im macOS-Terminal. Viele unter Linux verfügbare Open-Source-Softwarekomponenten sind über Tools wie Homebrew leicht verfügbar.

Die verbleibenden Unterschiede zwischen Linux und Unix beziehen sich hauptsächlich auf das Lizenzmodell:Open Source vs. proprietäre, lizenzierte Software. Auch das Fehlen eines gemeinsamen Kernels innerhalb von Unix-Distributionen hat Auswirkungen auf Software- und Hardwareanbieter. Für Linux kann ein Anbieter einen Gerätetreiber für ein bestimmtes Hardwaregerät erstellen und davon ausgehen, dass er in angemessenem Rahmen auf den meisten Distributionen funktioniert. Aufgrund der kommerziellen und akademischen Zweige des Unix-Baums muss ein Anbieter möglicherweise unterschiedliche Treiber für Unix-Varianten schreiben und hat Lizenzierungs- und andere Bedenken im Zusammenhang mit dem Zugriff auf ein SDK oder ein Verteilungsmodell für die Software als binärer Gerätetreiber für viele Unix-Varianten.

Da beide Gemeinschaften in den letzten zehn Jahren gereift sind, wurden viele der Fortschritte von Linux in die Unix-Welt übernommen. Viele GNU-Dienstprogramme wurden als Add-Ons für Unix-Systeme verfügbar gemacht, wenn Entwickler Funktionen von GNU-Programmen wollten, die nicht Teil von Unix sind. AIX von IBM bot beispielsweise eine AIX Toolbox für Linux-Anwendungen mit Hunderten von GNU-Softwarepaketen (wie Bash, GCC, OpenLDAP und vielen anderen) an, die einer AIX-Installation hinzugefügt werden konnten, um den Übergang zwischen Linux- und Unix-basierten AIX-Systemen zu erleichtern .

Proprietäres Unix ist immer noch am Leben und gesund, und da viele große Anbieter Unterstützung für ihre aktuellen Versionen bis weit in die 2020er Jahre versprechen, versteht es sich von selbst, dass Unix auf absehbare Zeit da sein wird. Außerdem ist der BSD-Zweig des Unix-Baums Open Source, und NetBSD, OpenBSD und FreeBSD haben alle starke Benutzerbasen und Open-Source-Communities, die vielleicht nicht so sichtbar oder aktiv sind wie Linux, sich aber in den jüngsten Server-Share-Berichten behaupten , mit weit über den proprietären Unix-Nummern in Bereichen wie Webserver.

Wo Linux einen signifikanten Vorteil gegenüber proprietärem Unix gezeigt hat, liegt in seiner Verfügbarkeit auf einer großen Anzahl von Hardwareplattformen und Geräten. Der bei Hobbyisten und Enthusiasten beliebte Raspberry Pi ist Linux-gesteuert und hat die Tür für ein ganzes Spektrum von IoT-Geräten geöffnet, auf denen Linux läuft. Wir haben bereits Android-Geräte, Autos (mit Automotive Grade Linux) und Smart-TVs erwähnt, bei denen Linux einen großen Marktanteil hat. Jeder Cloud-Anbieter auf der Welt bietet virtuelle Server an, auf denen Linux ausgeführt wird, und viele der beliebtesten Cloud-nativen Stacks von heute basieren auf Linux, unabhängig davon, ob Sie über Containerlaufzeiten oder Kubernetes oder viele der serverlosen Plattformen sprechen, die immer beliebter werden.

Eine der aufschlussreichsten Darstellungen des Aufstiegs von Linux ist die Transformation von Microsoft in den letzten Jahren. Wenn Sie Softwareentwicklern vor einem Jahrzehnt gesagt hätten, dass das Windows-Betriebssystem 2016 „Linux ausführen“ würde, hätten die meisten von ihnen hysterisch gelacht. Aber die Existenz und Popularität des Windows-Subsystems für Linux (WSL) sowie kürzlich angekündigte Funktionen wie der Windows-Port von Docker, einschließlich LCOW-Unterstützung (Linux-Container unter Windows), sind Beweise für die Auswirkungen, die Linux hatte – und eindeutig weiterhin haben wird – in der gesamten Softwarewelt.


Dieser Artikel wurde ursprünglich im Mai 2018 veröffentlicht und vom Herausgeber aktualisiert.


Linux
  1. Was Linux zum nachhaltigen Betriebssystem macht

  2. Was macht die Linux-Community besonders?

  3. Was ist der Unterschied zwischen einem Linux-Container und einem Image?

  4. Was ist der Unterschied zwischen dem Befehl „locate“ und „find“ in Linux?

  5. Was ist die maximale Länge des Passworts auf einem Unix/Linux-System?

Was ist der Unterschied zwischen Linux und Unix?

Was ist der Unterschied zwischen Rsync und BTRFS unter Linux?

iptables vs. nftables:Was ist der Unterschied?

Absoluter vs. relativer Pfad in Linux:Was ist der Unterschied?

Linux gegen Unix

Was ist der Kill-Befehl in Linux?