A história e as diferenças entre FreeBSD, OpenBSD e NetBSD
08/06/2023
Olá a todos! Como vão? Espero que estejam bem. Se você já pesquisou um pouco sobre sistemas operacionais, provavelmente já ouviu falar do BSD, que era um sistema da Universidade da Califórnia, em Berkeley. Porém, quando a manutenção do software foi descontinuada, foram criadas três variantes dele: FreeBSD, NetBSD e OpenBSD, cada uma destinada a usos diferentes. Neste vídeo, vou explicar as diferenças entre elas, seus usos comuns e um pouco da sua história, então, sem mais delongas, vamos começar.
História
Nos primeiros anos do sistema Unix, seus criadores, os Bell Labs da AT&T, autorizaram a Universidade da Califórnia em Berkeley e outras universidades a usar o código-fonte e adaptá-lo às suas necessidades. Durante as décadas de 1970 e 1980, Berkeley usou o sistema em suas pesquisas sobre sistemas operacionais.
Quando a AT&T revogou a permissão de uso da universidade por razões comerciais, a universidade promoveu a criação de uma versão inspirada no sistema Unix usando as contribuições que havia feito. Isso permitiu a distribuição para fins acadêmicos e, depois de algum tempo, as restrições de cópia, distribuição ou modificação foram minimizadas, dando assim origem ao BSD.
A versão inicial, chamada 1BSD, foi lançada em 1978, seguida pelo 2BSD e 3BSD nos anos seguintes. Em 1983, foi lançado o 4BSD, uma versão importante que introduziu o Fast File System (FFS), além da pilha de rede TCP/IP. Essas melhorias foram fundamentais para o desenvolvimento da Internet e lançaram as bases da futura popularidade do BSD.
Em meados da década de 1980, a equipe de desenvolvimento do BSD na UC Berkeley, liderada por Bill Joy, começou a trabalhar na versão 4.3BSD, considerada uma das versões mais influentes do BSD. O 4.3BSD incluiu muitas melhorias e novos recursos, como suporte a redes locais (LAN), melhorias no desempenho e na estabilidade do sistema operacional e uma interface mais amigável.
Em 1991, foi lançado o 386BSD, uma versão do BSD especificamente adaptada para rodar na arquitetura de processadores x86. Essa versão abriu caminho para o desenvolvimento do FreeBSD, pois foi usada como base para sua criação.
Essas primeiras versões do BSD adicionaram muitas melhorias e novos recursos ao sistema operacional UNIX original. No entanto, a universidade deixou de se concentrar no BSD para se dedicar a outras coisas. Mas, como o BSD era muito querido, surgiram várias variantes, como FreeBSD, NetBSD e OpenBSD, que continuam sendo as variantes mais populares hoje.
Como curiosidade, o macOS também é parcialmente baseado no BSD. Para explicar: o núcleo do macOS é baseado no “Darwin”, que por sua vez é baseado no “Mach” e usa muitos componentes de software do BSD. Portanto, o macOS e o BSD compartilham certas características e funcionalidades graças aos componentes de software BSD incorporados ao Darwin e, por extensão, ao macOS. Não vou enfatizar muito isso, já que todos nós já conhecemos o macOS, então vamos mergulhar nos três sistemas BSD mais populares.
FreeBSD
Começando pelo FreeBSD: em 1993, um grupo de desenvolvedores liderado por Jordan Hubbard, Nate Williams e Rod Grimes lançou o FreeBSD 1.0. Essa versão era uma derivação do 386BSD 0.1 e se baseava na versão 4.3BSD Net/2 da UC Berkeley.
O FreeBSD 1.0 oferecia um sistema operacional completo, estável e de alto desempenho para a plataforma x86. Nos anos seguintes, o FreeBSD continuou a evoluir e melhorou em muitos aspectos, incluindo empacotamento, suporte a hardware, segurança, desempenho de rede e virtualização.
Novos recursos foram adicionados, a estabilidade e o desempenho foram aprimorados e foi introduzido o suporte a várias arquiteturas de hardware, como Alpha, SPARC e PowerPC, entre outras.
O FreeBSD se caracteriza por seu foco em estabilidade, desempenho e escalabilidade. Ele é projetado principalmente para uso em ambientes de servidor e conquistou uma excelente reputação de robustez e confiabilidade.
O FreeBSD deu grande ênfase à otimização do desempenho do sistema operacional, especialmente em áreas como gerenciamento de memória, subsistema de rede e sistema de arquivos. Outra característica que o diferencia é que ele também é o mais familiar para o usuário comum, comparativamente entre os BSDs, claro, embora existam variantes baseadas no FreeBSD feitas especificamente para facilidade de uso.
Hoje, o FreeBSD é amplamente usado em diversas aplicações, de servidores web e de bancos de dados a dispositivos embarcados, appliances e roteadores. De fato, se você usa um sistema da Sony, como o PlayStation 3 ou posterior, ou um Nintendo Switch, está usando uma versão personalizada do FreeBSD.
Ele também serviu de base para outros sistemas operacionais, como o macOS da Apple, que, como mencionei antes, é parcialmente baseado no FreeBSD.
OpenBSD
Em segundo lugar, temos o OpenBSD, um sistema baseado no ramo 4.4BSD-Lite. Ele foi criado em 1995 por Theo de Raadt e um grupo de desenvolvedores com o objetivo de oferecer um sistema operacional seguro, livre e de alto desempenho.
Ao longo dos anos, o OpenBSD manteve seu foco em segurança e correção de código, tornando-se uma escolha popular para quem valoriza a segurança em sua infraestrutura.
Desde o seu lançamento inicial, o OpenBSD é amplamente reconhecido por seu foco na auditoria do código-fonte e na implementação de medidas de segurança avançadas. Os desenvolvedores do OpenBSD se dedicam a eliminar bugs, vulnerabilidades e fraquezas do sistema operacional e, com isso, construíram uma reputação de confiabilidade e robustez.
Essa dedicação à segurança se reflete em recursos como sistemas de criptografia de pacotes, controle de acesso rigoroso e políticas de segurança padrão que minimizam as chances de ataques bem-sucedidos.
O OpenBSD também fez contribuições significativas para o mundo da segurança computacional ao criar ferramentas como o OpenSSH, amplamente usado para estabelecer conexões de rede seguras e criptografadas. Além disso, o OpenBSD desenvolveu e promoveu tecnologias como o PF (Packet Filter), um poderoso firewall, e o CARP (Common Address Redundancy Protocol), um protocolo de redundância de endereços IP.
Essas ferramentas e tecnologias tornaram-se padrões na comunidade de segurança e foram integradas a outros sistemas operacionais. Embora a segurança seja seu foco principal, o OpenBSD também se preocupa com usabilidade e portabilidade. O sistema operacional se esforça para oferecer uma experiência de usuário consistente e amigável, com instalação simples e configuração intuitiva.
Além disso, o OpenBSD foi portado para várias arquiteturas de hardware, tornando-o versátil e adequado para diferentes ambientes. No entanto, o que mais o caracteriza é seu forte foco em segurança, visível principalmente na implementação do kernel e de vários de seus programas.
NetBSD
Em terceiro e último lugar, temos o NetBSD. Ele surgiu como um fork do 386BSD em 1993, criado inicialmente por Chris Demetriou, Theo de Raadt, Adam Glass e Charles Hannum. Desde o início, o NetBSD seguiu uma abordagem distinta, enfatizando a portabilidade e a capacidade de rodar em uma ampla gama de arquiteturas de hardware. Essa flexibilidade o tornou um dos sistemas operacionais mais versáteis e amplamente portados, permitindo que rode até em hardware de baixíssimo consumo, como um Sega Dreamcast, por exemplo.
A filosofia central do NetBSD é “Write Once, Run Anywhere” (escreva uma vez, rode em qualquer lugar). Os desenvolvedores do NetBSD dedicaram um esforço considerável para garantir que o sistema operacional possa rodar em várias plataformas sem a necessidade de grandes modificações.
Isso é alcançado criando e mantendo uma camada de abstração de hardware que permite ao kernel do NetBSD rodar em diferentes arquiteturas, incluindo x86, ARM, MIPS, PowerPC, SPARC e muitas outras.
A portabilidade do NetBSD também se estende à sua ampla gama de dispositivos compatíveis. Além de computadores desktop e servidores, o NetBSD é conhecido por seu suporte a dispositivos embarcados, como roteadores, switches, dispositivos de armazenamento e microcontroladores. Essa capacidade de se adaptar a diferentes ambientes e requisitos de hardware permitiu que o NetBSD fosse usado em uma grande variedade de aplicações.
Além do foco em portabilidade, o NetBSD manteve um foco em correção e simplicidade do código. A equipe de desenvolvimento do NetBSD trabalhou duro para escrever código limpo, legível e bem estruturado, tornando o sistema operacional fácil de entender, manter e melhorar no futuro.
Estabilidade e confiabilidade também são características de destaque do NetBSD, tornando-o uma escolha popular para quem busca um sistema operacional robusto e de baixa manutenção.
Compatibilidade
Como você pode ver, esses três sistemas compartilham várias coisas, ao mesmo tempo em que cada um mantém seu próprio foco. Agora, um aspecto interessante é a compatibilidade de software. Além de naturalmente rodarem software de código aberto, eles continuam sendo sistemas Unix-like, assim como o Linux, e portanto compartilham instruções de kernel muito semelhantes. Isso dá origem a algo chamado emulação binária.
A emulação binária consiste em traduzir chamadas de sistema do kernel que diferem, para que o kernel possa entendê-las. Como mencionado, por serem Unix-like, muitas funções são idênticas e não diferem significativamente. No entanto, é uma tradução de chamadas e não de instruções, o que significa que só funcionará entre arquiteturas correspondentes. O NetBSD tem um artigo dedicado a isso que pode ser interessante para alguns.
Da mesma forma, muitas coisas diferem entre os BSDs e a documentação pode variar, mas todos os três oferecem soluções para rodar software Linux em particular, o que é de maior interesse, já que o Linux tem o maior catálogo entre os Unix-like, usando recursos como o compat_linux. Dito isso, o FreeBSD é o que lida com a compatibilidade de forma mais fácil, já pronta para uso. De qualquer forma, como sempre, recomenda-se ler a documentação.
Uma segunda opção, um pouco mais pesada, é usar o Wine, que também está disponível para os três sistemas, mas, como disse, é bastante pesado, e as camadas de compatibilidade com Linux tendem a ser mais rápidas.
Conclusão
Esses três sistemas são excelentes soluções para os cenários para os quais foram projetados. Mesmo que os usuários domésticos comuns possam não se interessar por eles por vários motivos, eles certamente têm uma comunidade razoável e são bastante úteis em seus respectivos contextos.
Para resumir e revisar:
- FreeBSD foca em estabilidade e desempenho.
- OpenBSD foca em ser altamente seguro e estável.
- NetBSD foca em ser o mais portável possível.
Essas características distintivas os tornam opções atraentes para diferentes necessidades e requisitos.


