Der Begriff "Benutzerland" kann sich auf viele Dinge in verschiedenen Zusammenhängen beziehen, aber hier interpretiere ich "GNU-Benutzerland" vs "BSD-Benutzerland" als die Standard-Mindestmenge 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 . Allein aus diesem einfachen Programm können Sie ersehen, dass NetBSDs Katze traditionelle Befehlszeilen-Flags mit einem Buchstaben verwendet. GNU-Programme neigen dazu, Flags mit einem Buchstaben zu haben, aber auch die --something-long
Typoptionen. GNU-Programme tendieren auch zur POSIX-Kompatibilität.
Dieser Unterschied im Quellcode verleiht den beiden Benutzerländern in einigen Fällen ein unterschiedliches Verhalten.
Es sieht auch so aus, als ob NetBSD (zumindest) eine eigene Version von libc verwendet, der Standard-C-Bibliothek. Ich komme hier über den Kopf, aber libc und dynamisches Verknüpfen hängen seltsamerweise zusammen. Auch hier führt ein anderer Quellcode zu einem anderen Verhalten.
Ich denke, dass Sie als Shell-Benutzer feststellen würden, dass sich ps
dies anders ls
verhält und Ihnen möglicherweise eine etwas andere Ausgabe liefert, als Sie es gewohnt sind. Sie müssten für einige Programme entsprechende Befehlszeilen-Flags finden, wenn Sie die --long-option
Art der Befehlszeilen-Flags verwenden.
In der Vergangenheit ist meines Erachtens das BSD-Userland direkter von V6 und V7 Bell Labs Unix über den 32-V-Port auf VAX-Hardware zurückzuführen. GNU Userland ist neuer und wurde zumindest in gewisser Weise als Reaktion auf die Versuche von AT & T, Code zu Beginn der 80er Jahre streng geheim zu halten, geschrieben. 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 Menschen ihn nicht mehr sehen konnten. Richard Stallman und andere hatten Probleme damit. Ihr GNU-Projekt bestand speziell darin, ein frei teilbares Unix-ähnliches System zu schaffen.
In der Zwischenzeit verklagte AT & T 1993 das System der University of California über das BSD-System („B“ ist Berkeley, wo sich die University of California befindet). Die Leute in Berkeley hatten die gesamte ursprüngliche Quelle von AT & T durch neuen Code ersetzt, und dieser neue Code wurde zum Vorfahren von mindestens NetBSDs Userland. AT & T und UCB haben 1994 eine Einigung erzielt , die 2004 der Öffentlichkeit bekannt gegeben wurde.
Natürlich sind zumindest die Ideen gegenseitig befragt, so dass es zumindest konzeptionelle Ähnlichkeiten zwischen GNU- und BSD-Benutzerland gibt, aber die Eckfälle unterscheiden sich definitiv.