1. Quais são as diferenças conceituais e estruturais entre um kernel Linux e um kernel BSD?
Com relação à arquitetura e estruturas internas, é claro que existem diferenças em como as coisas são feitas (por exemplo: lvm vs geom , recurso de prisão antecipada e complexa para o FreeBSD, ...), mas no geral não há muitas diferenças entre os dois:
- O kernel BSD * e o Linux evoluíram de uma abordagem puramente monolítica para algo híbrido / modular.
Ainda assim, existem diferenças fundamentais em sua abordagem e história:
- O BSD-kernel está usando licença BSD e o Linux-kernel está usando licenças GPL .
- O BSD-kernel não é um kernel independente, mas é desenvolvido como parte de um todo . Certamente, este é apenas um ponto de vista filosófico e não técnico, mas isso dá coerência ao sistema .
- O BSD-kernel é desenvolvido com um ponto de vista mais conservador e mais preocupação em manter a consistência com sua abordagem do que ter recursos sofisticados.
- Linux-kernel são mais sobre drivers, recursos, ... (quanto mais, melhor).
Como muito dito em outro lugar :
É Design e Ordem Inteligente (BSD *) versus Seleção Natural e Caos (GNU / Linux).
2. Em quais cenários um tipo de kernel teria vantagem sobre o outro?
Sobre sua estrutura e conceito geral, enquanto comparam um kernel Linux quase baunilha e um kernel FreeBSD, eles são mais ou menos do mesmo nível de uso geral , sem especialização específica (não em tempo real, nem muito paralelo, não jogo orientado, não incorporado, ...).
É claro que existem algumas diferenças aqui e ali, como o suporte nativo ao ZFS ou a arquitetura geom para o FreeBSD versus os muitos drivers ou vários sistemas de arquivos para Linux. Mas nada que algum software geral, como servidores da Web ou bancos de dados, realmente usaria para fazer uma diferença real. As comparações nesses casos provavelmente terminariam em alguma batalha de sintonia entre os dois, nada importante.
Mas, alguns argumentariam que o OpenBSD tem uma abordagem profunda e consistente à segurança, enquanto distribuições Linux mais rígidas são "apenas" versões modificadas do kernel Linux baunilha. Isso pode ser verdade para um sistema altamente especializado, como o Steam-OS seria o número um em jogos.
3. Há algum esforço conjunto para concentrar forças em um kernel comum ou em determinados módulos?
Não há um esforço conjunto para concentrar forças em um núcleo comum, pois existem importantes licenças, questões filosóficas ou de abordagem.
Se existem alguns esforços comuns, como o OpenZFS , na maioria das vezes, trata-se de drivers e conceitos retirados ou inspirados um do outro.