Linux-Kernel: Bedeutung von Source-Tree, In-Tree und Out-of-Tree

14

Was bedeuten die Begriffe "in-tree" und "out-of-tree" genau? Bezieht sich "Quelltextbaum" auch speziell auf den offiziellen Kernel, der von kernel.org veröffentlicht / gepflegt wurde, oder handelt es sich um einen allgemeineren Begriff, der sich auf eine (modifizierte) Linux-Kernelquelle beziehen kann?

Lavya
quelle

Antworten:

11

"source tree" ist kein spezifischer Begriff für die Kernel-Source-Entwicklung, daher muss es ein allgemeinerer Begriff sein und seine Bedeutung in Bezug auf die Kernel-Source ist kontextabhängig.

Ich bin nicht auf "in-tree" und "out-of-tree" außerhalb der Linux-Kernel-Source-Entwicklung gestoßen und dann nur für die Arbeit mit Modulen . Alle Module beginnen als "Out-of-Tree" -Entwicklungen, die im Kontext eines Source-Tree kompiliert werden können. Sobald ein Modul akzeptiert wurde, wird es zu einem In-Tree-Modul. AI ist jedoch nicht auf eine offizielle Definition für beide Begriffe gestoßen, vielleicht war das nie notwendig, da denjenigen, die mit Modulen arbeiten, klar war, was gemeint war.

Während das Reiserfs-Modul noch ein Out-of-Tree-Modul war, habe ich die RPM-Paketerstellung für SuSE durchgeführt. Sobald es in den Baum aufgenommen wurde, war dies nicht mehr erforderlich.

Anthon
quelle
Vielen Dank! Im Grunde genommen bedeutet In-Tree ein Modul, das als Teil des Source-Tree und Out-of-Tree kommt, ohne dass dies der Fall ist?
Lavya
1
@ Lavya Ja, das ist der einzige Weg, wie ich ihn gebraucht gesehen habe. Aber wie ich angedeutet habe, bin ich nicht auf eine formale Definition gestoßen.
Anthon
"In-Tree" und "Out-of-Tree" sind allgemeine Begriffe für die Softwareentwicklung. Es bezieht sich darauf, wo die resultierenden Build-Ausgaben / Artefakte während einer Kompilierung abgelegt werden, entweder "in-tree" direkt neben den Dateien, aus denen sie stammen, oder "out-of-tree" in einem separaten Stammverzeichnis, das den Build trennt Ausgabe aus den Quelldateien. Der Kernel überlädt diese Begriffe, wenn es um Module geht, wie Sie in Ihrer Antwort beschrieben haben.
Mtalexan
@mtalexan Einige Referenzen, die Ihre Behauptung stützen, wären nützlich. Das einzige, was ich bisher gefunden habe, ist, dass autosetupsie irgendwann (als ich es zum ersten Mal benutzte) angefangen haben, out-of-treedie von Ihnen beschriebene Art zu verwenden, aber sie verwenden in-placestatt in-treein ihrem Dokument.
Anthon
@Anthon in-treeund in-placesind nach meiner Erfahrung Synonyme für den gleichen Begriff. Ich habe keine Referenzen dafür, es ist etwas, das ich in den letzten ~ 15 Jahren in einer Reihe von Unternehmen und Teilbereichen in der Branche gearbeitet habe, anstatt etwas, das ich in einem Buch gelesen habe. Ich habe nur darauf hingewiesen, dass es im technischen Jargon etwas ist, auf das Sie wahrscheinlich in anderen Zusammenhängen mit etwas anderen Bedeutungen stoßen werden. Ich habe auch nicht kritisiert, sondern nur einen zusätzlichen Kontext für zukünftige Leser hinzugefügt.
Mtalexan