(Ich habe bereits bemerkt, dass diese Frage bereits gestellt wurde, aber ich denke, dass sie nicht so beantwortet wurde, wie ich es gerne verstehen würde.)
Was sind die konzeptionellen und strukturellen Unterschiede zwischen a
- Linux Kernel
- BSD Kernel (sagen wir mal FreeBSD)
Letztendlich sind sie beide Kernel - ich würde annehmen, dass es Unterschiede in Struktur, Funktionalität und Spezialisierung gibt. In welchen Szenarien hätte eine Art von Kernel einen Vorteil gegenüber der anderen? (Webserver, Datenbank, Computing usw.)
Gibt es gemeinsame Anstrengungen, um Kräfte für einen gemeinsamen Kernel oder bestimmte Module zu konzentrieren, oder wäre das überhaupt sinnlos?
PS: Unterschiedliche Lizenztypen oder Versand- / Verpackungs- / Wartungsansätze sind in diesem Zusammenhang nicht von Bedeutung. Ich bin wirklich daran interessiert zu verstehen, wie sie sich in Bezug auf Struktur, Funktionalität / Merkmale und Spezialisierung unterscheiden.
quelle
Antworten:
1. Was sind die konzeptionellen und strukturellen Unterschiede zwischen einem Linux-Kernel und einem BSD-Kernel?
(: Das heißt in Bezug auf Architektur und interne Strukturen gibt es natürlich Unterschiede auf , wie die Dinge getan LVM vs geom früh und komplex, Gefängnis - Funktion für FreeBSD, ...), aber insgesamt gibt es nicht viel Unterschied zwischen den beiden:
Dennoch gibt es grundlegende Unterschiede in ihrer Herangehensweise und Geschichte:
Wie anderswo groß geschrieben :
2. In welchen Szenarien hätte eine Art Kernel einen Vorteil gegenüber der anderen?
Obwohl sie einen fast Vanilla-Linux-Kernel und einen FreeBSD-Kernel miteinander vergleichen, weisen sie in Bezug auf ihre Gesamtstruktur und ihr Konzept mehr oder weniger den gleichen allgemeinen Nutzungsgrad auf , dh ohne besondere Spezialisierung (nicht in Echtzeit, nicht hochgradig parallel, nicht spielorientiert, nicht eingebettet, ...).
Natürlich gibt es hier und da ein paar Unterschiede, wie die native ZFS-Unterstützung oder die Geom-Architektur für FreeBSD, gegenüber den vielen Treibern oder verschiedenen Dateisystemen für Linux. Aber nichts, was eine allgemeine Software wie Webserver oder Datenbanken wirklich verwenden würde, um einen wirklichen Unterschied zu machen. Vergleiche in diesen Fällen würden höchstwahrscheinlich zu einem Abstimmungskampf zwischen den beiden führen, nichts Besonderes.
Einige würden jedoch argumentieren, dass OpenBSD einen tiefen und konsistenten Sicherheitsansatz hat, während gehärtete Linux-Distributionen "nur" modifizierte Versionen des Vanilla-Linux-Kernels sind. Dies könnte für ein so hoch spezialisiertes System zutreffen, wie Steam-OS die Nummer eins für Spiele sein würde.
3. Gibt es gemeinsame Anstrengungen, um Kräfte für einen gemeinsamen Kernel oder bestimmte Module zu konzentrieren?
Es gibt keine gemeinsamen Anstrengungen, um Kräfte für einen gemeinsamen Kernel zu konzentrieren, da es wichtige Lizenz-, philosophische oder Ansatzprobleme gibt.
Wenn es echte gemeinsame Bestrebungen wie OpenZFS gibt , geht es in den meisten Fällen eher um Treiber und Konzepte, die voneinander abgeleitet oder inspiriert wurden.
quelle
Teilantwort zu einigen Punkten
Die vielen Möglichkeiten werden oft als schlecht empfunden, wenn man sich von außen mit Open-Source-Entwicklung befasst. Man denke jedoch, dass es in der Natur viele Arten (oft) einer Tierart gibt, etwa Pinguine. Es sind 17 . Jede ist auf bestimmte Anforderungen spezialisiert, auch bei Open Source-Projekten (normalerweise). Natürliche Selektion sorgt dafür, dass die mit der Zeit weniger geeignete Open-Source-Quelle ausgesondert wird.
Wäre irgendwie sinnlos, es ist manchmal eine doppelte Anstrengung, aber die Leute, die an diesen Komponenten arbeiten, tun es auch nicht im luftleeren Raum. Sie schauen sich um, was andere tun, und wenn es einen Ansatz oder Algorithmus gibt, übernehmen sie ihn, wenn dies sinnvoll ist.
Ich kann nicht mit den Strukturunterschieden in Bezug auf Ihre anderen Kugeln sprechen, dachte aber, ich würde mindestens zwei davon ansprechen.
quelle