You are on page 1of 8

Explicando o BSD

Greg Lehey <grog@FreeBSD.org >


Reviso: 43184

FreeBSD is a registered trademark of the FreeBSD Foundation.

AMD, AMD Athlon, AMD Opteron, AMD Phenom, AMD Sempron, AMD Turion, Athlon, lan,
Opteron, and PCnet are trademarks of Advanced Micro Devices, Inc.

Apple, AirPort, FireWire, iMac, iPhone, iPad, Mac, Macintosh, Mac OS, Quicktime, and
TrueType are trademarks of Apple Inc., registered in the U.S. and other countries.

Intel, Celeron, Centrino, Core, EtherExpress, i386, i486, Itanium, Pentium, and Xeon are
trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United
States and other countries.

Linux is a registered trademark of Linus Torvalds.

Motif, OSF/1, and UNIX are registered trademarks and IT DialTone and The Open Group are
trademarks of The Open Group in the United States and other countries.

SPARC, SPARC64, and UltraSPARC are trademarks of SPARC International, Inc in the United
States and other countries. SPARC International, Inc owns all of the SPARC trademarks and
under licensing agreements allows the proper use of these trademarks by its members.

Sun, Sun Microsystems, Java, Java Virtual Machine, JDK, JRE, JSP, JVM, Netra, OpenJDK,
Solaris, StarOce, SunOS and VirtualBox are trademarks or registered trademarks of Sun
Microsystems, Inc. in the United States and other countries.

UNIX is a registered trademark of The Open Group in the United States and other countries.

Many of the designations used by manufacturers and sellers to distinguish their products are
claimed as trademarks. Where those designations appear in this document, and the FreeBSD
Project was aware of the trademark claim, the designations have been followed by the or
the symbol.
2013-11-13 07:52:45 por hrs.

Resumo
No mundo do open source, a palavra Linux quase um sinnimo de Sistema Operacional,
mas esse no o nico sistema operacional UNIX de cdigo aberto. De acordo com o
Contador de Sistemas Operacionais da Internet, em Abril de 1999 31.3% das mquinas
conectadas na rede rodam Linux. 14.6% rodam BSD UNIX. Alguns dos responsveis pelas
maiores operaes da rede no mundo, como o Yahoo!, rodam BSD. O servidor FTP mais
requisitado do mundo em 1999 (atualmente extinto), ftp.cdrom.com, usava BSD para transferir
1.4 TB de dados por dia. claro, que no se trata de um nicho de mercado: O BSD um segredo
muito bem guardado.

Ento, qual o segredo? Por que o BSD no melhor difundido, mais conhecido? Esse
documento abordar essas e outras questes.

Ao longo desse documento, as diferenas entre o BSD e o Linux sero denotadas dessa forma.

ndice
1. O que BSD? .......................................................................................................................... 2
O que BSD?

2. O que um UNIX de verdade? .................................................................................................... 2


3. Por qu o BSD no mais conhecido? .......................................................................................... 3
4. Comparando BSD e Linux .......................................................................................................... 3

1. O que BSD?
BSD signica Distribuio do Sistema de Berkeley. o nome da distribuio de cdigos fonte proveniente da
Universidade da Califrnia, Berkeley, as quais foram originalmente extenses para o sistema operacional UNIX
do departamento de Pesquisas da AT&T. Vrios projetos de sistemas operacionais de cdigo aberto so baseados em
uma distribuio desse cdigo fonte, conhecido como 4.4BSD-Lite. Em adio, tais sistemas constituem-se de vrias
pores de outros projetos de Cdigo Aberto, incluindo o notvel projeto GNU. A constituio total do sistema
operacional inclui:

O kernel BSD, que cuida do agendamento de processos, gerenciamento de memria, multi-processamento


simtrico (SMP), dispositivos de controle, etc.

Ao contrrio do kernel do Linux, existem vrios kernels distintos de sistemas BSD com diferentes caractersticas e recursos.

A biblioteca C, a API base do sistema.

A biblioteca C do BSD baseada em cdigo proveniente de Berkeley, e no do projeto GNU.

Programas utilitrios como shells, utilitrios de manuseio de arquivos, compiladores, linkadores.

Alguns desses programas so derivados do projeto GNU, outros no.

O sistema X Window, que prov uma interface grca.

O sistema X Window usado na maioria das verses do BSD mantido pelo projeto X.Org. O FreeBSD permite ao
usurio escolher entre uma variedade de ambientes de desktop, tais como Gnome, KDE, ou Xfce; e gerenciadores
de janela leves como o Openbox, Fluxbox, ou Awesome.

Muitos outros programas e utilitrios.

2. O que um UNIX de verdade?


Os sistemas operacionais BSD no so clones, mas sim, cdigo livre derivado diretamente do sistema operacional
UNIX da AT&T, que tambm o ancestral dos modernos UNIX System V. Talvez isso lhe surpreenda. Como pode
ser isso, se a AT&T nunca disponibilizou seus fontes como cdigo aberto?

verdade que o UNIX da AT&T no Open Source, e do ponto de vista da licena de direitos legais, o BSD
denitivamente no UNIX, mas por outro lado, a AT&T importou muito cdigo de outros projetos, especialmente
do Grupo de Pesquisas de Cincias Computacionais (CSRG) da Universidade da Califrnia, em Berkeley, CA. Desde
1976 o CSRG lanava tas magnticas com cpias de seu software, o qual era chamado de Distribuio do Software
de Berkeley ou BSD.

As verses iniciais do BSD consistiam-se fundamentalmente de programas nvel de usurio, mas essa realidade
mudou dramaticamente assim que o CSRG fechou um contrato com a Agncia de Pesquisas e Projetos de Avanados
de Defesa (a DARPA) para atualizar os protocolos de comunicao que eram usados em sua rede, a ARPANET. Os
novos protocolos passaram a ser conhecidos como Protocolos de Internet, e mais tarde como TCP/IP se tornando
os mais importantes protocolos de todos os tempos. A primeira implementao amplamente distribuda desses
protocolos eram parte do 4.2BSD, em 1982.

Ao longo da dcada de 80, vrias empresas que produziam estaes de trabalho comearam a se espalhar. Muitas
delas preferiam licenciar o UNIX ao invs de desenvolverem sistemas operacionais por si mesmas. A Sun
Microsystems em particular, licenciou o UNIX e implementou uma verso do 4.2BSD, a qual eles chamaram de

2
Explicando o BSD

SunOS. Quando a AT&T se deu permisso para vender o UNIX comercialmente, comearam a desenvolver
uma implementao na unha chamada de System III, que seria rapidamente sucedida pelo System V. A base do
cdigo do System V no inclua o suporte a networking, ento todas as implementaes passaram a incluir software
adicional do BSD, incluindo o TCP/IP, e tambm programas utilitrios como o interpretador de linha de comandos
csh e o editor vi. Em sua coletividade, estes aprimoramentos foram conhecidos como Extenses de Berkeley.

As tas magnticas do BSD continham cdigo fonte da AT&T e por isso precisavam de uma licena de fontes do
UNIX. Por volta de 1990, os fundos do CSRG estavam acabando. Alguns membros do grupo decidiram lanar o
cdigo BSD, que era Open Source, sem o cdigo proprietrio da AT&T. Finalmente isso aconteceu com o Networking
Tape 2, normalmente conhecido como Net/2. O Net/2 no era um sistema operacional completo: aproximadamente
20% do cdigo do kernel estava faltando. Um dos membros do CSRG, William F. Jolitz, escreveu o cdigo que faltava
e o lanou em 1992, como o 386BSD. Ao mesmo tempo, um outro grupo de membros do extinto CSRG formou uma
empresa comercial chamada de Berkeley Software Design Inc. e lanou uma verso beta de seu sistema operacional,
chamada de BSD/386, baseado nos mesmos fontes. Depois o nome do sistema operacional mudou para BSD/OS.

O 386BSD nunca se tornou um sistema operacional estvel. Ao invs disso, outros dois projetos nasceram partir
dele, em 1993: O NetBSD e o FreeBSD. Originalmente os dois projetos divergiram devido s diferenas quanto
pacincia na espera de novas melhorias no 386BSD: o pessoal do NetBSD comeou o projeto no incio do ano, e a
primeira verso do FreeBSD no cou pronta at o nal do ano. No meio tempo, a base do cdigo se modicou o
suciente para tornar difcil uma unio. Em adio, os projetos tinham objetivos diferentes, como veremos a seguir.
Em 1996, um projeto posterior, o OpenBSD, originou-se partir do NetBSD e em 2003, o DragonFlyBSD originou-
se a partir do FreeBSD.

3. Por qu o BSD no mais conhecido?


Por algumas razes, o BSD relativamente desconhecido:

1. Os desenvolvedores do BSD esto frequentemente mais interessados em aprimorar seu cdigo do que fazer
propaganda dele.

2. A maior parte da popularidade do Linux se deve a fatores externos ao projeto Linux, como a imprensa, e
companhias criadas para oferecer servios em Linux. At recentemente, os BSDs open source no contavam com
tais proponentes.

3. Os desenvolvedores BSD tendem a ser mais experientes do que desenvolvedores Linux, e tem menos interesse
em tornar o sistema fcil de utilizar. Novatos tendem a se sentir mais confortveis com Linux.

4. Em 1992, a AT&T processou a BSDI, vendedora do BSD/386, alegando que o produto continha cdigo proprietrio
da AT&T. O caso foi resolvido na corte, em 1994, mas os aspectos da litigao continuam perseguindo as pessoas.
Em Maro de 2000 um artigo publicado na rede armou que o caso havia sido resolvido recentemente.

Um detalhe que o processo judicial claricou foi sobre a denominao: nos anos 80, os BSD eram conhecidos
como BSD UNIX. Com a eliminao do ltimo vestgio de cdigo da AT&T no BSD, ele tambm perdeu o
direito de ser chamado de UNIX Contudo ainda podem ser vistas referncias em ttulos de livros como the
4.3BSD UNIX operating system e the 4.4BSD operating system.

5. Existe uma idia que os projetos BSD sejam fragmentados e beligerantes. O Wall Street Journal falou de
balkanizao nos projetos BSD. Assim como o processo judicial, essas idias se baseiam fundamentalmente
em histria antiga.

4. Comparando BSD e Linux


Ento qual realmente a diferena entre, digamos, o Debian Linux e o FreeBSD? Pra maioria dos usurios,
as diferenas so surpreendentemente pequenas: Ambos so sistemas operacionais UNIX like. Ambos so
desenvolvidos por projetos no comerciais ( claro que isso no se aplica a muitas outras distribuies Linux). Na

3
Quem dono do BSD?

prxima seo, vamos dar uma olhada no BSD e compar-lo com o Linux. As descries se aplicam mais ao FreeBSD,
que somatiza uma mdia estimada de 80% das instalaes de sistemas BSD, mas as diferenas pro NetBSD, pro
OpenBSD e pro DragonFlyBSD so pequenas.

4.1. Quem dono do BSD?


Nenhuma pessoa ou corporao dona do BSD. Ele criado e distribudo por uma comunidade de contribuidores
altamente tcnicos em todo o mundo. Alguns dos componentes do BSD so projetos Open Source independentes
e gerenciados por mantenedores de projetos distintos.

4.2. Como o BSD desenvolvido e atualizado?


Os kernels do BSD so desenvolvidos e mantidos seguindo o modelo de desenvolvimento do Open Source. Cada
projeto mantm uma rvore de cdigo fonte publicamente acessvel sob o Sistema de Verses Concorrentes
(CVS), que contm todos os arquivos fontes do projeto, incluindo documentao e outros arquivos acidentais. O
CVS permite que usurios faam check out (em outras palavras, extrair uma cpia) de qualquer verso desejada
do sistema.

Um grande nmero de desenvolvedores ao redor do mundo contribui para as melhorias do BSD. Eles so divididos
em 3 tipos:

Contribuidores escrevem cdigo e documentao. Eles no tm permisso de commit (adicionar cdigo)


diretamente na rvore de cdigo fonte. Para que seu cdigo seja incluso no sistema, necessrio que seja revisado
e aprovado por um desenvolvedor registrado, os quais so conhecidos como committer.

Committers so desenvolvedores com acesso de escrita na rvore do cdigo fonte. Para se tornar um commiter,
o indivduo deve mostrar habilidade na rea em que ele ativo.

Faz parte da responsabilidade individual de cada desenvolvedor considerar quando devem obter autorizao
antes de fazer um commit na rvore. No geral, desenvolvedores experientes podem fazer modicaes que
so obviamente corretas sem precisar de consenso. Por exemplo, um commiter do projeto de documentao
pode corrigir erros tipogrcos ou gramaticais sem a necessidade de uma reviso. Por outro lado, espera-se
que desenvolvedores que fazem alteraes muito abrangentes ou complicadas enviem suas mudanas para
reviso antes de adicion-las. Em casos extremos, um membro do Grupo Central (Core Team) cuja funo seja, o
Arquiteto Principal pode ordenar que as modicaes sejam retiradas da rvore do cdigo fonte, em um processo
conhecido como backing out. Todos os desenvolvedores recebem mensagens de correio eletrnico sobre cada
alterao individual, portanto impossvel fazer alguma modicao secretamente.

O Grupo Central. O FreeBSD e o NetBSD cada qual, tem um grupo central que gerencia o projeto. Tais grupos
centrais foram criados no decorrer dos projetos e seu papel no sempre bem denido. No preciso ser um
desenvolvedor para se tornar membro do grupo central, apesar de que, normalmente esse o caso. As regras
para o grupo central variam de um projeto para o outro, mas no geral eles tm mais voz na hora de dizer as
direes que o projeto deve seguir, do que outros membros fora do grupo.

Esse modelo se diferencia do Linux em inmeras maneiras:

1. No existe uma pessoa em especial que controla o contedo do sistema. Na prtica, essa diferena sobretaxada,
considerando que o Arquiteto Principal pode solicitar que cdigos sejam retirados do sistema, e que at mesmo
o projeto Linux tem vrias pessoas autorizadas a fazer modicaes.

2. Por outro lado, existe um repositrio central, um lugar nico onde os fontes inteiros do sistema operacional
podem ser encontrados, incluindo todas as verses anteriores.

3. Os projetos BSD mantm um Sistema Operacional completo, no apenas o kernel. Essa distino
marginalmente proveitosa: nem o BSD nem o Linux so teis sem aplicaes. As aplicaes usadas sob BSD so
frequentemente as mesmas aplicaes usadas sob Linux.

4. Como resultado da manuteno formalizada de uma nica rvore CVS do cdigo fonte, o desenvolvimento do
BSD limpo, e possvel acessar qualquer verso do sistema por seu nmero de lanamento (release) ou por data.

4
Explicando o BSD

O CVS ainda oferece manuteno incremental ao sistema: por exemplo, o repositrio do FreeBSD atualizado
em mdia 100 vezes por dia. A maioria dessas alteraes de pequena ordem.

4.3. Releases BSD


O FreeBSD, o NetBSD e o OpenBSD oferecem o sistema em trs verses (releases) diferentes. Como no Linux,
os releases so identicados por um nmero, como 1.4.1 ou 3.5. Em adio, o nmero da verso tem um suxo,
indicando seu propsito:

1. A verso de desenvolvimento do sistema chamada de CURRENT. O FreeBSD relaciona um nmero ao


CURRENT, por exemplo, FreeBSD 5.0-CURRENT. O NetBSD usa um esquema de denominao um pouco diferente,
adicionando um suxo com uma letra nica que indica modicaes nas interfaces internas, por exemplo
NetBSD 1.4.3G. O OpenBSD no adiciona nmeros (OpenBSD-current). Todo novo desenvolvimento no sistema
vai nesse branch.

2. Em intervalos regulares, entre duas a quatro vezes por ano, os projetos lanam uma nova verso de RELEASE
do sistema, que disponibilizado em CD-ROM e por download gratuto em stios de FTP, por exemplo OpenBSD
2.6-RELEASE ou NetBSD 1.4-RELEASE. A verso do RELEASE destinada a usurios nais e a verso normal
do sistema. O NetBSD oferece ainda patch releases (releases de correes) com um terceiro dgito, por exemplo,
NetBSD 1.4.2.

3. Conforme os problemas so encontrados em uma verso RELEASE, eles so corrigidos, e as correes so


adicionadas rvore CVS. No FreeBSD a verso resultante chamada de STABLE, enquanto que no NetBSD e no
OpenBSD elas continuam sendo chamadas de verso RELEASE. Novas caractersticas menores tambm podem
ser adicionadas nesse branch depois do perodo de testes no CURRENT.

Em contraste, o Linux mantm duas rvores de cdigo separadas: a verso estvel e a verso de desenvolvimento. A verso
estvel tem ainda um nmero menor de verso, como 2.0, 2.2 ou 2.4. Verses em desenvolvimento tem o nmero menor mpar,
como 2.1, 2.4 e 2.5. Em cada caso, a verso ainda seguida de um nmero posterior designando o release exato. Em adio, cada
vendedor de Linux coloca suas prprias aplicaes e utilitrios nvel de usurio, portanto o nome de sua distribuio tambm
importante. Cada distribuio do vendedor ainda acrescida de seu prprio nmero, ento a descrio completa seria algo
parecido com TurboLinux 6.0 com kernel 2.2.14

4.4. Quais so as verses disponveis do BSD?


Em contraste com as numerosas distribuies Linux, existem apenas quatro BSDs de cdigo livre. Cada projeto BSD
mantm sua prpria rvore de cdigo fonte e seu prprio kernel. Na prtica, as divergncias entre o cdigo nvel
de usurio parece ser ainda menor entre os projetos BSD do que entre os vrios Linux.

difcil categorizar os objetivos de cada projeto: as diferenas so bastante subjetivas. Basicamente,

O FreeBSD clama por alta performance e facilidade de uso para usurios nais, e o favorito de provedores de
contedo da rede mundial de computadores. Ele pode ser usado em um grande nmero de plataformas, incluindo
sistemas baseados em i386 (PCs), sistemas baseados em processadores AMD 64-bit, sistemas baseados em
UltraSPARC, sistemas baseados em processadores Compaq Alpha e sistemas baseados em torno da especicao
NEC PC-98. O projeto FreeBSD possui signicativamente mais usurios do que os outros projetos.

O NetBSD clama pelo mximo de portabilidade: lgico que roda NetBSD. Ele roda de mquinas palmtop
grandes servidores, e vem sendo usado at em misses espaciais da NASA. particularmente uma boa escolha
para rodar em equipamentos antigos que no sejam Intel.

O OpenBSD clama por segurana e pureza de cdigo: ele usa uma combinao dos conceitos de cdigo livre com
rigorosas revises de seu cdigo para criar um sistema demonstravelmente correto, tornando-o a escolha de
organizaes conscientes com a segurana como bancos e departamentos do governo. Como o NetBSD, ele roda
em vrias plataformas.

O DragonFlyBSD clama por alta performance e escalabilidade acima de tudo, no importa se estamos falando
de um sistema composto por um nico n ou um sistema massivamente clusterizado. O DragonFlyBSD tem

5
Como a licena BSD se diferencia da licena Pblica
GNU?
muitos objetivos tcnicos de longo prazo, mas o seu foco concentra-se em prover uma infra estrutura de SMP
(multiprocessamento simtrico) que seja fcil de entender, manter e desenvolver.

Existem ainda dois sistemas operacionais BSD UNIX adicionais que no so de cdigo livre, o BSD/OS e o MacOS
X da Apple:

O BSD/OS era o mais velho dos derivados do 4.4BSD. Ele no era de cdigo livre, embora as licenas de seu cdigo
fonte estivessem disponveis por um preo relativamente baixo. Ele assemelhava-se ao FreeBSD de diversas
formas. Dois anos depois da aquisio da BSDI pela Wind River Systems, o BSD/OS falhou em sobreviver como
um produto independente. O suporte e o cdigo fonte podem ainda estar disponveis pela Wind River, mas os
novos desenvolvimentos esto todos focados no sistema operacional embarcado VxWorks.

O MacOS X a mais recente verso do sistema operacional da linha Macintosh da Apple Computers Inc.
O core BSD deste sistema operacional, o Darwin, est disponvel como um sistema operacional completamente
funcional para computadores x86 e PPC. Contudo, o sistema grco Aqua/Quartz e muitos outros aspectos
proprietrios do MacOS X continuam como cdigo fechado. Vrios desenvolvedores do Darwin tambm so
desenvolvedores do FreeBSD e vice versa.

4.5. Como a licena BSD se diferencia da licena Pblica GNU?


O Linux est disponvel sob a Licena Pblica Geral GPL (GPL), que foi planejada para eliminar o software
proprietrio (de fonte fechada). Em particular, qualquer trabalho derivado de um produto lanado sob a
GPL tambm deve oferecer seu cdigo fonte, caso seja requerido. Em contraste, a licena BSD menos
restritiva: distribuies apenas binrias so permitidas. Isso particularmente atrativo para aplicaes acopladas
(embedded).

4.6. O que mais eu deveria saber?


Considerando que um nmero menor de aplicaes est disponvel para o BSD do que para o Linux, os
desenvolvedores do BSD criaram um pacote de compatibilidade Linux, que permite que programas Linux sejam
executados sob BSD. O pacote inclui modicaes no kernel, de forma a possibilitar as corretas chamadas de
sistemas Linux, e arquivos de compatibilidade Linux, como a biblioteca C. No existe diferena notvel na
velocidade de execuo entre aplicaes Linux rodando em uma mquina Linux e aplicaes Linux rodando em
uma mquina BSD de mesma velocidade.

A natureza tudo do mesmo fornecedor dos sistemas BSD implica na maior facilidade de atualizao do que
frequentemente acontece no caso do Linux. Os BSD oferecem atualizaes de verses de bibliotecas oferecendo
mdulos de compatibilidade com verses mais antigas de bibliotecas, dessa forma possvel rodar binrios que
existem h vrios anos sem o menor problema.

4.7. Qual eu devo usar, BSD ou Linux?


O que isso tudo signica na prtica? Quem deve usar BSD? Quem deve usar Linux?

Essa uma pergunta muito difcil para se responder. Aqui esto algumas consideraes:

Se no est quebrado, no conserte: Se voc j usa algum sistema operacional de cdigo livre, e est feliz com
ele, provavelmente no existe uma boa razo para mudar.

Sistemas BSD, em particular o FreeBSD, podem ter performance notavelmente superior ao Linux. Mas isso no
uma regra. Em muitos casos a diferena pode ser pouca ou at mesmo nem existir. Em alguns casos o Linux
pode funcionar melhor que o FreeBSD.

No geral, sistemas BSD tem melhor reputao por sua conabilidade, principalmente por ser resultado de uma
base de cdigos mais madura.

Os projetos BSD tm uma melhor reputao em relao a qualidade e abrangncia da sua documentao. Os vrios
projetos de documentao tm por objetivo prover ativamente documentos atualizados, em muitos idiomas e
cobrindo todos os aspectos do sistema.

6
Explicando o BSD

A licena BSD pode ser mais atrativa do que a GPL.

O BSD pode executar a maioria dos binrios do Linux, enquanto o Linux no pode executar binrios do BSD.
Muitas das implementaes; BSD podem inclusive executar binrios de outros sistemas derivados do UNIX.
Como resultado, o BSD pode ser uma opo de migrao a partir de outros sistemas mais fcil do que o Linux seria.

4.8. Quem oferece suporte, servios e treinamento para o BSD?


A BSDI / FreeBSD Mall, Inc. tm fornecido contratos de suporte FreeBSD no mercado a quase uma dcada.

Em adio, cada um dos projetos tem uma lista de consultores que podem ser contratados: FreeBSD, NetBSD, e
OpenBSD.