(Eu já notei que essa pergunta foi feita antes, mas acho que não foi respondida de uma maneira que eu gostaria de entender o tópico.)
Quais são as diferenças conceituais e estruturais entre um
- Kernel do Linux
- Kernel do BSD (digamos FreeBSD)
Enquanto no final do dia eles são ambos os kernels - eu assumiria que pode haver diferenças na estrutura, funcionalidade e especialização. Em quais cenários um tipo de kernel teria vantagem sobre o outro? (Servidor web, banco de dados, computação etc.)
Existem esforços conjuntos para concentrar forças em um kernel comum ou em determinados módulos ou isso seria inútil de qualquer maneira?
PS: Diferentes tipos de licença ou abordagens de envio / empacotamento / manutenção não são importantes neste contexto. Estou realmente interessado em entender como eles diferem em nível estrutural, funcional / de recursos e especialização.
fonte
Respostas:
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:
Ainda assim, existem diferenças fundamentais em sua abordagem e história:
Como muito dito em outro lugar :
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.
fonte
Resposta parcial abordando alguns dos pontos
As muitas opções são muitas vezes percebidas como algo ruim quando, por fora, estuda o desenvolvimento de código aberto, mas pensa nisso como na natureza, existem muitas espécies (geralmente) de um tipo de animal, dizem pinguins. Existem 17 . Cada um deles é especializado em um conjunto específico de requisitos, assim como em projetos de código aberto (normalmente). A seleção natural cuidará de eliminar o código aberto menos adequado ao longo do tempo.
Seria meio inútil, às vezes é uma duplicação de esforços, mas as pessoas que trabalham com esses componentes também não fazem isso no vácuo. Eles analisarão o que os outros estão fazendo e, se houver uma abordagem ou algoritmo, eles a incorporarão quando fizer sentido.
Não posso falar sobre as diferenças de estrutura em relação às suas outras balas, mas achei que pelo menos trataria de duas delas.
fonte