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

Was sind die Hauptunterschiede zwischen Bsd und Gnu/Linux Userland?

Ich habe viel über Unix &Linux über BSDs und GNU usw. gelesen. Aber ich verstehe immer noch nicht, was einige tatsächliche, praktische Unterschiede zwischen BSD- und GNU-Benutzerländern sind, obwohl sie oft erwähnt werden. Kann jemand näher darauf eingehen?

Wenn Sie antworten, erläutern Sie bitte die historischen Zusammenhänge vollständig und denken Sie daran, dass ich noch nicht lange genug am Leben bin, um eine Zeit erlebt zu haben, in der GNU/Linux nicht das Mainstream-UNIX war (mit Ausnahme von OS X).

Akzeptierte Antwort:

Der Begriff „Userland“ kann sich in verschiedenen Kontexten auf viele Dinge beziehen, aber hier interpretiere ich „GNU-Userland“ vs. „BSD-Userland“ als den standardmäßigen, minimalen Satz von Programmen, die mit einer Distribution geliefert werden.

Der große Hauptunterschied besteht darin, dass die beiden Userlands mit völlig unterschiedlichem Quellcode beginnen. GNU-Cat-Quellcode NetBSD-Cat-Quellcode. Schon an diesem Programm mit einfachem Konzept können Sie sehen, dass NetBSDs cat traditionelle Befehlszeilen-Flags mit einem Buchstaben verwendet. GNU-Programme neigen dazu, Flags mit einem Buchstaben zu haben, aber auch den --something-long Optionen eingeben. Auch GNU-Programme tendieren zur POSIX-Kompatibilität.

Dieser Unterschied im Quellcode wird den beiden Benutzerländern in einigen Fällen ein unterschiedliches Verhalten verleihen.

Es sieht auch so aus, als würde NetBSD (zumindest) seine eigene Version von libc, der Standard-C-Bibliothek, verwenden. Ich steige hier über meinen Kopf ein, aber libc und dynamisches Linken sind seltsamerweise miteinander verbunden. Auch hier führt unterschiedlicher Quellcode zu unterschiedlichem Verhalten.

Ich denke, dass Sie als Shell-Benutzer diesen ps finden würden würde sich anders verhalten, und ls könnte Ihnen eine etwas andere Ausgabe geben, als Sie es gewohnt sind. Sie müssen für einige Programme entsprechende Befehlszeilen-Flags finden, wenn Sie die --long-option verwenden Art der Befehlszeilen-Flags.

Historisch gesehen ist mein Verständnis, dass das BSD-Benutzerland direkter von V6 und V7 Bell Labs Unix über den 32-V-Port zur VAX-Hardware abstammt. GNU Userland ist neuer und wurde zumindest teilweise als Reaktion auf die Versuche von AT&T geschrieben, den Code Anfang der 80er Jahre streng geheim zu halten. Nach der Veräußerung von Bell System im Jahr 1983 versuchte AT&T, Unix zu „monetarisieren“. Ein Teil davon bestand darin, den Quellcode so zu lizenzieren, dass die meisten Leute ihn nie sehen konnten. Richard Stallman und andere hatten damit Probleme. Ihr GNU-Projekt existierte speziell, um ein frei teilbares Unix-ähnliches System zu schaffen.

Siehe auch:Schalter – Transferschalter an Nullleiter und Masse im Nebenfeld statt am Hauptfeld angeschlossen?

In der Zwischenzeit, bis 1993, verklagte AT&T das System der University of California wegen des BSD-Systems („B“ ist Berkeley, wo sich die University of California befindet). Die Leute in Berkeley hatten den gesamten ursprünglichen Quellcode von AT&T durch neuen Code ersetzt, und dieser neue Code wurde zum Vorfahren von zumindest NetBSDs Userland. AT&T und UCB kamen 1994 zu einer Einigung, die 2004 der Öffentlichkeit bekannt gegeben wurde.

Natürlich befruchten sich zumindest Ideen gegenseitig, also gibt es zumindest konzeptionelle Ähnlichkeiten zwischen GNU und BSD Userland, aber Eckfälle unterscheiden sich definitiv.


Linux
  1. pfSense vs Netgear Router:Was sind die Hauptunterschiede?

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

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

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

  5. Was sind die funktionalen Unterschiede zwischen .profile .bash_profile und .bashrc

Was ist der Unterschied zwischen macOS- und Linux-Kernels

Was ist der Unterschied zwischen Linux und Unix?

Linux – Was sind die Hauptunterschiede zwischen Bsd- und Linux-basierten Betriebssystemen?

Was sind die Unterschiede zwischen cPanel und WHM?

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

Was sind die Unterschiede zwischen rdesktop und xfreerdp?