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

Was ist der Unterschied zwischen Unix, Linux, BSD und GNU?

Das ist eine schwierig zu beantwortende Frage.

Zuerst bedeutet "Unix Like" oder "*nix" normalerweise POSIX. Alle von Ihnen aufgelisteten Systeme sind POSIX-Systeme. POSIX ist eine Reihe von Standards, die implementiert werden müssen.

Nun zu den schwierigeren Fragen.

GNU ist nicht wirklich ein Betriebssystem. Es ist eher eine Reihe von Regeln oder Philosophien, die freie Software regeln, die gleichzeitig eine Reihe von Tools hervorgebracht haben, als sie versuchten, ein Betriebssystem zu erstellen. GNU-Tools sind also im Grunde offene Versionen von Tools, die bereits existierten, aber überarbeitet wurden, um den Prinzipien offener Software zu entsprechen. GNU/Linux ist ein Geflecht aus diesen Tools und dem Linux-Kernel, um ein vollständiges Betriebssystem zu bilden, aber es gibt noch andere „GNU“. GNU/Hurd zum Beispiel.

Unix und BSD sind "ältere" Implementierungen von POSIX, die verschiedene Ebenen von "Closed Source" darstellen. Unix ist normalerweise vollständig Closed Source, aber es gibt so viele Unix-Varianten wie Linux, wenn nicht mehr. BSD wird von manchen Leuten normalerweise nicht als "offen" angesehen, aber in Wahrheit ist es viel offener als alles andere, was existiert. Die Lizenzierung ist auch für die kommerzielle Nutzung mit weitaus weniger Einschränkungen erlaubt als die "offeneren" Lizenzen.

Linux ist der Newcomer. Genau genommen ist es "nur ein Kernel", aber im Allgemeinen wird es als vollständiges Betriebssystem angesehen, wenn es mit GNU Tools und einer Reihe anderer Dinge kombiniert wird.

Der wichtigste Unterschied sind die Ideale. Unix, Linux und BSD haben unterschiedliche Ideale, die sie umsetzen. Sie sind alle POSIX und grundsätzlich austauschbar. Sie lösen einige der gleichen Probleme auf unterschiedliche Weise. Abgesehen von Idealen und der Art und Weise, wie sie POSIX-Standards implementieren, gibt es also kaum einen Unterschied.

Für weitere Informationen empfehle ich Ihnen, einen kurzen Artikel über die Entstehung von GNU, OSS, Linux, BSD und UNIX zu lesen. Sie werden zu ihren individuellen Vorstellungen geneigt sein, aber wenn Sie sie durchlesen, werden Sie eine gute Vorstellung von den Unterschieden bekommen.

Dieses Unix-Genealogiediagramm zeigt deutlich die Geschichte von Unix, BSD, GNU und Linux (von Wikimedia):


Linux ist kein Betriebssystem, sondern ein Kernel. Linux selbst hat keine 'Userland'-Umgebung (keine Apps, keine Befehle, kein ...etc...).

Wenn Sie ein vollständiges Betriebssystem haben möchten, müssen Sie Ihrem Kernel ein Userland hinzufügen. Historisch gesehen ist es für Linux GNU. Alle(?) Linux-Distributionen sind keine 'echten Linux'-Distributionen. Sie sind GNU/Linux (GNU + Linux)-Distributionen.

BSD ist ein 'unixähnliches' vollständiges Betriebssystem mit eigenem Kernel und eigenem Userland (kein Linux-Kernel oder GNU).

GNU/Linux und die *BSD-Familie (FreeBSD, OpenBSD und NetBSD) sind 'unix-ähnliche' Betriebssysteme, sie verhalten sich wie Unix.

Hier ist ein Vergleich zwischen (GNU)/Linux und *BSD:http://www.freebsd.org/doc/en/articles/explaining-bsd/comparing-bsd-and-linux.html


Linux
  1. Was ist der Unterschied zwischen Puffer- und Cache-Speicher in Linux?

  2. Was ist der Unterschied zwischen strtok_r und strtok_s in C?

  3. Was ist der Unterschied zwischen einem Linux-Plattformtreiber und einem normalen Gerätetreiber?

  4. Was ist der Unterschied zwischen fsck und e2fsck?

  5. Was ist der Unterschied zwischen einem Bibliotheksaufruf und einem Systemaufruf in Linux?

Was ist der Unterschied zwischen InnoDB und MyISAM?

Was ist der Unterschied zwischen macOS- und Linux-Kernels

Was ist der Unterschied zwischen Linux und Unix?

Was ist der Unterschied zwischen Rsync und BTRFS unter Linux?

Was ist ein Hypervisor? Was ist der Unterschied zwischen Typ 1 und 2?

Was ist der Unterschied zwischen Curl und Wget?