MichaelB: Linux ?

Beitrag lesen

Hallo,

Wo wir schon mal bei BSD sind. Ich finde diesen wird in der Öffentlichkeit viel zu wenig Beachtung geschenkt. Das BSD-Konzept finde ich in gewisser Weise das sauberere. Vorallem achten die BSD-Leute mehr darauf, was so alles in ihr System kommt. Alles geht irgendwie koordinierter zu. Linux ist eher eine Art Tummelplatz wo jeder seinen Senf dazu gibt. Es ist klar was dabei herauskommt.

Naja, wenn ein System gross wird, mischen auch mehr Leute mit. Die BSD-Leute koennten ihr System nie durchhalten, wenn ihr Ziel der Desktop waere.

Bezweifle ich. Die Organisation bei BSD ist eine ganz andere. Wie schon gesagt. Die Kernelemente kommen praktisch aus einer Hand. Dadurch hat man viel mehr Kontrolle darüber, was man tut. Der "die linke Hand weiß nicht was die rechte tut"-Effekt ist einfach nicht da.

Denk nur an die Umstellung libc5 nach libc6. Dadurch das der Kernel und die libc nicht von den gleichen Leuten kommt und die Distribtuionen alles munter gemixt haben gab es damals viel Chaos bei der Umstellung.

Huch, entwickeln die BSD-Leute ihre eigenen Libs?

Hättest Du mal gelesen was ich geschrieben habe. Nicht die neue lib war das Problem, sondern die Mischung von neuer lib mit altem Kernel und umgekehrt in den Distributionen.

FreeBSD hat auch immer noch das gute alte a.out Binärformat. Alte Programme lassen such unter einem modernen System einsetzen wie auch umgekehrt.
Hust, es gibt da so eine Option beim Kernel-Kompilieren, die nennt sich CONFIG_BINFMT_AOUT.

Ich weiß das es diese Option gibt. Ändert aber trotzdem nichts an dem Problem. Versuche mal ein altes a.out Binary trotz eingeschaltem CONFIG_BINFMT_AOUT auszuführen. In der Regel meckert das Programm an den Bibliotheken herum. Einziger Ausweg. Man kompiliert sich die benötigten Bliotheken neu. Lustig ist nur das der Compiler zwischen ELF und a.out anders mit Unterstrichen vor Symbolnamen umgeht. Kannst Dir also vorstellen was dabei rumkommt.
Hinzu komm, das man dann Biliotheken doppelt rumliegen hat. Auch nicht gerade etwas für ein sauberes System.
Im übrigen macht das ELF-Format die Ausführung etwas langsamer. Erstens weil externe Symbole nicht als Adresse vorliegen sondern als Namen die erst umständlich aufgelöst werden müssen und zweitens Ein Prozessorregister wird benötigt in Shared Objects für eine Global Offset Table benötigt. Fatal für Architekturen die von Haus nur wenige Register haben wie z.B. Intel.
Inzwischen kann man gegen das a.out Binary argumentieren das heute pratkisch alles ELF ist aber die Umstellungszeit hat doch vielen weh getan (in Form von zahlreichen schlaflosen Nächten).
Unter BSD hab ich keine Probleme ein Binary überall einzusetzen. Von 2.2irgendwas bishin zur aktuellen Version. Das ist _Support_ im Sinne des Wortes wie ich es verstehe.

Der Vorteil bei BSD ist das die Entwicklung der wesentlichen Elemente aus einem Team kommt und auch die Kommunikation stimmt (Stickwort CVS; war bis vor kurzem bei Linux noch kein Thema).

Doch, war es. Und nach einigen Diskussionen war die letztendliche Entscheidung, dass CVS fuer den Kernel nicht zur Debatte steht, weil es fuer so viele Leute nicht geeignet sei (das habe ich nur gelesen, nachdem es Lizenzschwierigkeiten mit dem aktuell verwendeten System gab und Stallman sich einmischte).

Fakt ist das man sich lange Zeit weigerte ein solches System einzusetzen. Und darum ging es mir.

Freitag-Morgen-Grüße
   von MichaelB