Noyau Linux: signification de l'arborescence source, dans l'arborescence et hors de l'arborescence

14

Que signifient exactement les termes «dans l'arbre» ​​et «hors arbre»? De plus, "arbre source" se réfère-t-il spécifiquement au noyau officiel publié depuis / maintenu sur kernel.org ou est-ce un terme plus général qui peut faire référence à n'importe quelle source de noyau Linux (modifiée)?

Lavya
la source

Réponses:

11

"arbre source" n'est pas un terme spécifique au développement de la source du noyau, il doit donc être un terme plus général et sa signification en ce qui concerne la source du noyau dépend du contexte.

Je n'ai pas rencontré "dans-arbre" et "hors-arbre" en dehors du développement de la source du noyau Linux et seulement pour travailler avec des modules . Tous les modules commencent comme des développements «hors arbre», qui peuvent être compilés en utilisant le contexte d'un arbre source. Une fois qu'un module est accepté pour être inclus, il devient un module dans l'arborescence. Cependant, l'IA n'a pas trouvé de définition officielle pour les deux termes, peut-être que cela n'a jamais été nécessaire car il était clair pour ceux qui travaillent avec des modules ce que cela signifiait.

Par exemple, alors que le module Reiserfs était encore un module hors arborescence, j'ai fait la génération de packages RPM pour SuSE, une fois qu'il est devenu dans l'arborescence, cela n'était plus nécessaire.

Anthon
la source
Merci! Donc, fondamentalement dans l'arborescence signifie un module qui fait partie de l'arborescence source et hors de l'arborescence qui ne le fait pas?
Lavya
1
@Lavya Oui, c'est la seule façon dont je l'ai vu utilisé. Mais comme je l'ai indiqué, je n'ai pas trouvé de définition formelle.
Anthon
"dans-arbre" et "hors-arbre" sont en fait des termes génériques de développement logiciel. Il fait référence à l'endroit où la sortie / les artefacts de génération résultants sont placés pendant une compilation, soit "dans l'arborescence", juste à côté des fichiers dont ils proviennent, soit "hors de l'arborescence", dans un répertoire racine distinct qui sépare la génération sortie des fichiers source. Le noyau surcharge cependant ces termes lorsqu'il parle de modules, comme vous l'avez décrit dans votre réponse.
mtalexan
@mtalexan Certaines références à l'appui de votre réclamation seraient utiles. Le seul que j'ai trouvé jusqu'à présent est celui qui autosetupà un moment donné (ils ne l'ont pas fait quand je l'ai utilisé pour la première fois), a commencé à utiliser out-of-treela façon dont vous décrivez, mais ils utilisent in-placeplutôt que in-treedans leur doc.
Anthon
@Anthon in-treeet in-placesont synonymes pour le même terme dans mon expérience. Je n'ai pas vraiment de références pour cela, c'est quelque chose que j'ai appris à travailler dans l'industrie dans un certain nombre d'entreprises et de sous-domaines au cours des ~ 15 dernières années plutôt que quelque chose que j'ai lu dans un livre. Je faisais juste remarquer qu'en termes de jargon technique, c'est quelque chose que vous rencontrerez probablement dans d'autres contextes avec des significations légèrement différentes. Je ne critiquais pas non plus, ajoutant simplement un contexte supplémentaire pour les futurs lecteurs.
mtalexan