Différence conceptuelle entre Linux et (Free) BSD Kernel

(J'ai déjà remarqué que cette question a été posée avant, mais je pense qu'il n'a pas été répondu d'une manière que j'aimerais comprendre le sujet.)

Quelles sont les différences conceptuelles et structurelles entre un

  • Noyau Linux
  • BSD Kernel (disons FreeBSD si cela aide à être spécifique)

Bien qu'à la fin de la journée, ce sont les deux kernelx – je suppose qu'il pourrait y avoir des différences dans la structure, la fonctionnalité et la spécialisation. Dans quels scénarios un type de kernel aurait-il un avantage sur l'autre? (Serveur Web, database, informatique, etc.)

Y a-t-il des efforts conjoints pour concentrer les forces pour un kernel commun ou certains modules ou est-ce que cela serait inutile de toute façon?

PS: Différents types de licences ou approches d'expédition / conditionnement / maintenance n'ont pas d'importance dans ce context. Je suis vraiment intéressé à comprendre comment ils diffèrent sur le niveau structurel, fonctionnel / caractéristique et la spécialisation.

1. Quelles sont les différences conceptuelles et structurelles entre un kernel Linux et un kernel BSD?

En ce qui concerne l'architecture et les structures internes, il y a bien sûr des différences dans la façon dont les choses sont faites (ie lvm vs geom , fonctionnalité prison précoce et complexe pour FreeBSD, …) mais globalement il n'y a pas beaucoup de différences entre les deux:

  • Le kernel de BSD * et le kernel Linux ont évolué d'une approche purement monolithique à quelque chose d'hybride / modulaire.

Pourtant, il existe des différences fondamentales dans leur approche et leur histoire:

  • Le kernel BSD utilise la licence BSD et Linux-kernel utilise des licences GPL .
  • Les kernelx BSD ne sont pas des kernelx autonomes mais sont développés comme faisant partie d'un tout . Bien sûr, il s'agit simplement d'un sharepoint vue philosophique et non technique, mais cela donne une cohérence au système .
  • Les kernelx BSD sont développés avec un sharepoint vue plus conservateur et plus soucieux de restr cohérent avec leur approche que d'avoir des fonctionnalités de fantaisie.
  • Linux-kernel sont plus sur les pilotes, les fonctionnalités, … (le plus sera le mieux).

Comme énoncé ailleurs ailleurs :

C'est Intelligent Design and Order (BSD *) versus Natural Selection et Chaos (GNU / Linux).

2. Dans quels scénarios un kernel aurait-il un avantage sur l'autre?

A propos de leur structure globale et de leur concept, en comparant un kernel Linux presque vanillé et un kernel FreeBSD, ils sont plus ou less du même niveau général d'utilisation , sans spécialisation particulière (pas en time réel, pas en parallèle, pas jeu orienté, pas embedded, …).

Bien sûr, il y a quelques différences ici et là, comme le support natif ZFS ou l'architecture geom pour FreeBSD par rapport aux nombreux pilotes ou filesystems pour Linux. Mais rien de logiciel général tel que des servers Web ou des bases de données n'utiliserait vraiment pour faire une vraie différence. Les comparaisons dans ces cas se termineraient probablement dans une bataille d'accord entre les deux, rien de majeur.

Mais certains diront qu'OpenBSD a une approche cohérente et cohérente en matière de security, alors que les dissortingbutions Linux renforcées ne sont que des versions modifiées du kernel Linux vanilla. Cela pourrait être vrai pour un système aussi spécialisé, Steam-OS étant le numéro un pour jouer à des jeux.

3. Y a-t-il des efforts conjoints pour concentrer les forces pour un kernel commun ou certains modules?

Il n'y a pas d'effort commun pour concentrer les forces pour un kernel commun, car il y a de grandes licences, des problèmes philosophiques ou d'approche.

Si de véritables efforts communs existent tels que OpenZFS , la plupart du time, il s'agit davantage de pilotes et de concepts pris ou inspirés les uns des autres.

Réponse partielle traitant de quelques points

Les nombreuses options sont souvent perçues comme une mauvaise chose quand on regarde le développement de l'open source à l'extérieur, mais on pense que dans la nature, il y a beaucoup d'espèces (souvent) d'un type d'animal, disent les pingouins. Il y en a 17 . Chacun est spécialisé à un set particulier d'exigences, de même avec des projets open source (typiquement). La sélection naturelle prendra soin de désherber l'open source qui est less apte au fil du time.

Y a-t-il des efforts conjoints pour concentrer les forces pour un kernel commun ou certains modules ou est-ce que cela serait inutile de toute façon?

Cela serait un peu inutile, c'est une duplication des efforts parfois, mais les gens qui travaillent sur ces composants ne le font pas non plus dans le vide. Ils regarderont ce que les autres font et s'il y a une approche ou un algorithm, ils l'incorporent quand cela a du sens.

Je ne peux pas parler des différences de structure en ce qui concerne vos autres balles, mais je pensais que j'adresserais au less 2 d'entre eux.