Por que FreeBSD

Um tour rápido da alternativa BSD

O sistema operacional FreeBSD é o gigante desconhecido entre os sistemas operacionais gratuitos. Começando com o projeto 386BSD, é um sistema operacional semelhante a UNIX® principalmente para o chip Intel® e seus clones. De muitas formas, FreeBSD sempre foi o sistema operacional que os sistemas operacionais baseados em GNU/Linux® deveriam ter sido. É executado em máquinas Intel desatualizadas e chips AMD de 64 bits e fornece terabytes de arquivos por dia em alguns dos maiores servidores de arquivos do mundo.

Frank Pohlmann, U.K. Technical Editor, Linuxuser and Developer

Frank Pohlmann se envolveu com à história das religiões do Oriente Médio antes de diversas comissões patrocinadoras decidirem que pesquisa sobre a história de polêmicas religiosas era bem irrelevante para o mundo moderno. Desde então, ele se concentra em seu hobby -- software livre. Ele admite ser o editor técnico da Linuxuser and Developer baseada no RU e chegou ao FreeBSD através de um forte interesse nas partes internas de kernel do UNIX e um interesse em aplicativos Linux para escritores e artistas.



19/Jul/2005

A família Berkeley Software Distribution (BSD) de sistemas operacionais pode ser rastreada até o sistema operacional BSD UNIX criado e mantido na Universidade da Califórnia, Berkeley, desde o final dos anos 70. Hoje, a família BSD consiste em cinco ramificações principais e mesmo os ativistas de Linux, confortáveis com uma pletora de distribuições, encontram-se confusos pelo número de opções do BSD que estão aparecendo em números cada vez maiores. Desde 2001, quando a última principal ramificação -- DragonFly BSD -- foi lançada, FreeBSD, OpenBSD, NetBSD e Mac OS X representam um novo surto criativo no mundo UNIX. Todos eles são compatíveis com POSIX. Todos apresentam interfaces de linha de comando semelhantes para seus usuários. Todos usam kernels e bibliotecas do sistema que tornam modelos de programação e características de uso de aplicativos semelhantes possíveis.

Por questões legais, BSD não pode ser chamado de um sistema UNIX, mas é amplamente aceito que as opções de BSD representam UNIX de software livre. Incrivelmente, no final dos anos 80 e início dos anos 90, não havia nenhum sistema operacional gratuito disponível que valesse a pena executar no PC ou no Mac. UNIX vivia em mainframes e na Scalable Processor Architecture (SPARC). Empresas proprietárias de UNIX haviam dividido a cena comercial do UNIX.

No Início, Havia o 386BSD

Em 1993, ocorreram dois eventos que iriam mudar a cena do UNIX para sempre: o grupo NetBSD foi fundado e o kit de correção do 386BSD foi revisado. Dez anos antes, os desenvolvedores de BSD UNIX haviam sido recrutados das fileiras da equipe da U.C. Berkeley e entre estudantes Ph.D.; o dinheiro veio principalmente da Defense Advanced Research Projects Agency (DARPA), mas os fundos estavam acabando. O projeto 386BSD foi criado em 1985 como uma tentativa de fazer o BSD UNIX ser executado em um chip Intel. O primeiro release não ocorreu antes de 1989 e, por diversas razões, o projeto acabou se tornando um sistema operacional de referência divulgado pelo Dr. Dobb's Journal em julho de 1992. Conhecido como o 386BSD 0.1, teve 250.000 downloads.

O 386BSD era baseado principalmente nas ideias de Bill e Lynne Jolitz de melhorar os próprios conceitos nos quais o UNIX era baseado. Era para ser gratuito, mas suportar um sistema operacional completo virtualmente por conta própria era muito para os Jolitzes. O sistema perdeu para a armada de programadores que se juntaram a um quase desconhecido aluno finlandês para ajudar a construir o Linux.

O Histórico de FreeBSD

Outro grupo que levou a visão original de portar o BSD UNIX no chip Intel até sua conclusão se formou no curso de 1993. Baseando-se em trabalho anterior de Bill Jolitz, o FreeBSD V1.0 teve seu release em dezembro de 1993. Jordan Hubbard, o líder do projeto, dirigiu o projeto, gerenciando infraestrutura e um grupo de pessoas comprometidas que chegou a 200 desenvolvedores no início de 1997. O FreeBSD deve atingir a versão 6.0 até o final desse ano e é possivelmente o mais importantes de todos os sistemas UNIX gratuitos. O FreeBSD não é um clone do UNIX, mas um sistema que não apenas funciona como o UNIX, mas cujas partes internas e APIs do sistema são compatíveis com o UNIX.

O FreeBSD não é o sistema somente Intel/AMD que foi um dia. Também é executado em máquinas SPARC64 e tem um histórico relativamente longo em arquiteturas Alpha. Se um usuário do BSD estiver interessado nos chips executando o Mac OS X, ele poderia alternar para o Darwin OS, o núcleo de software livre do Mac OS X, que por sua vez depende muito do FreeBSD V5.0 e seus sucessores. O NetBSD, é claro, está em execução em todas as arquiteturas Mac desde 1995.


O que o FreeBSD Faz e o Linux Não Faz

BSD no Mac é coisa antiga. O UNIX está em execução nas arquiteturas Mac por mais tempo ainda. Praticamente ninguém se lembra disso nos dias de hoje, mas houve um tempo quando uma versão do AT&T UNIX era executado mas máquinas Quadra da Apple. No final dos anos 80, essa versão do UNIX era conhecida como Apple UNIX e representava a aposta da Apple em parte do espaço do servidor UNIX. O Apple UNIX nunca foi portado na arquitetura PowerPC mais nova, mas executou bem o suficiente nos chips Motorola 68x00. Obviamente, o código era proprietário, geralmente exigindo um investimento monetário de quatro dígitos baixo. Podemos nos confortar no fato de que, até mesmo, um astro como Bill Joy estava dispensando o Mac em meados dos anos 80 como uma máquina para a qual ninguém no mundo UNIX ligava. Bem...

Quando o 386BSD surgiu em 1991, o Mac não estava longe das mentes de algumas pessoas. Brad Grantham, Lawrence Kesteloot e Chris Caputo conseguiram portar o 386BSD no Mac sob o nome MacBSD. No final de 1992, o BSD UNIX tinha encontrado uma nova casa em um Mac II, apesar de a descontinuidade do BSD UNIX já estava começando a ser vista na época como uma necessidade, em vez de uma possibilidade: as peripécias legais em torno da AT&T e da U.C. Berkeley tinham tornado a liberação do projeto BSD UNIX uma necessidade tanto técnica quanto legal. Ainda é incrível, no entanto, que uma arquitetura antiga Macintosh executou UNIX gratuito antes de o chip Intel ter uma opção BSD dedicada a ele. O 386BSD nunca teve a intenção de fazer muito, exceto sugerir que UNIX deveria ser usado no chip Intel. Não funcionou muito bem em seus melhores momentos e nunca realmente atingiu a versão 1.0.

No verão de 1993, Allen Briggs e Michael Finch começaram a fusão do NetBSD V0.8 e do MacBSD para evitar divisão antes que se tornar um problema sério. Todavia, as guerras do UNIX estavam frescas na mente de todos e o NetBSD parecia um projeto que valia a pena para tentar incorporar o máximo de arquiteturas possível sob o manto do BSD. Quando o NetBSD V1.0 foi lançado, o projeto NetBSD/mac68k estava firmemente estabelecido e vem estado forte desde então.

O projeto NetBSD/macppc é de safra mais recente. A porta PowerPC foi incluída entre as portas do NetBSD em 1999, apesar de todas as arquiteturas PPC pós-1995 estarem incluídas. Suporta todas as arquiteturas Mac desde o 604 PowerPC.

O OpenBSD/macppc é baseado no código do NetBSD, apesar de ter levado um pouco mais de tempo para o projeto OpenBSD ter uma porta integralmente funcional. Por razões óbvias, o projeto FreeBSD permaneceu separado, focando em vez disso em suporte a Intel e AMD, apesar de o código do FreeBSD estar em execução em arquiteturas Macintosh desde o Darwin -- o kernel OSS do Mac OS X -- teve seu release efetuado. Isso parece menos relevante nos dias de hoje, já que a Apple anunciou suporte a Intel. Mas há uma sobreposição considerável entre o desenvolvimento do FreeBSD e do Darwin e diversos desenvolvedores do FreeBSD são funcionários da Apple.

FreeBSD é um sistema operacional, não apenas um kernel. Esta afirmação não significa tanto quanto costumava significar, no entanto, pois a própria noção de um kernel é bem arbitrária. Em um contexto UNIX, significa que os usuários não podem acessar determinadas bibliotecas e executáveis após o final da inicialização. O kernel gerencia o hardware para aplicativos, apesar de hoje muitos sistemas operacionais do tipo UNIX dariam aos encadeamentos no nível do usuário uma função no gerenciamento de recursos de kernel. Você pode supor com segurança que qualquer coisa que os usuários não podem acessar durante o tempo de execução faz parte do kernel. Isso não significa que os usuários não podem influenciar o comportamento do kernel. Determinados utilitários podem relatar e ajustar o gerenciamento de memória, por exemplo, e estão definitivamente na jurisdição do usuário. Esses utilitários se comunicam através da API do sistema, o que não faz parte do kernel, apesar de bem claramente fazer parte do sistema operacional. O FreeBSD, é claro, inclui todos esses e muitos outros utilitários e aplicativos que lidam com as características de rede e hardware.

Se você fosse comparar o conteúdo de um download de kernel do Linux completo e um download do FreeBSD, haveria muita coisa em comum nos downloads. Ambos têm pinhas de IP, rotinas de gerenciamento de memória, implementações do sistema de arquivos, etc. A hierarquia do sistema de arquivos possui origens semelhantes que podem ser demonstradas e a maioria dos aplicativos de linha de comando têm nomes idênticos e semânticas de linha de comando semelhantes. As implementações reais têm aparência um tanto quanto diferente, é claro, mas você ainda assim poderia ver que ambos os sistemas têm origens conceituais semelhantes. Uma diferença de arquitetura principal está na maneira como o FreeBSD lê e grava arquivos no chamado cache de buffer, que (falando estritamente) nem mesmo existe como uma entidade separada da memória virtual. O Linux sempre gerenciou tamanhos de cache de buffer automaticamente, mas suas rotinas de gerenciamento de memória funcionam de forma diferente das do FreeBSD.


Portas e Sistemas de Arquivos

O FreeBSD funciona imediatamente após ser instalado. Funciona porque um sistema FreeBSD instala um sistema funcional usando o instalador do FreeBSD, também conhecido como sysinstall, e usa um sistema de gerenciamento de pacote que possui claramente origens UNIX. Mas o FreeBSD vai muito além disso: o gerenciamento de pacote foi completamente simplificado; pacotes binários e de origem não estão sujeitos aos caprichos do sistema de gerenciamento de pacote por lei, uma aflição comum para as distribuições Linux. O FreeBSD integra o gerenciamento de pacote e atualizações de toda a Internet com o sistema Ports , permitindo que você aborde download da origem e compilação em um procedimento. Pode-se argumentar que Debian possui vantagens semelhantes, mas não se deve esquecer que o Debian é um sistema operacional cuja dependência do kernel do Linux é acidental. o kernel do Hurd e do NetBSD funcionaria tão bem quanto, desde que o projeto Debian lembre-se de atualizar os pacotes.

O sistema de arquivos do FreeBSD é também de alguma forma reminiscente de seu passado BSD UNIX: vem sob os apelidos Fast File System (FFS) e UNIX File System (UFS). Os usuários mais provavelmente irão interagir com a parte FFS do sistema de arquivos, que regula acesso de arquivo e diretório. O sistema UFS, versão 2, que teve release em 2003, configura os limites do sistema de arquivos e as estruturas de dados básicas organizando o acesso ao disco bruto. UFS e FFS também estão disponíveis no NetBSD e no OpenBSD. Os sistemas de arquivos de diários mais conhecidos atualmente no Linux, como o Reiser File System (Reiser FS) e o Journaling File System (JFS), não estão disponíveis no FreeBSD, principalmente por questões de segurança. UFS tem a vantagem adicional de estabilidade e (agora) escalabilidade, porque seu comportamento e desempenho dependem em pesquisas de mais de duas décadas.


Segurança e Compatibilidade

Outros benefícios podem influenciar sua opção em levar o FreeBSD mais a sério. Apesar de não estar na mesma liga que o OpenBSD com relação à segurança no nível do código, o FreeBSD é fornecido com uma array formidável de mecanismos de segurança que funcionam como são fornecidos. Desde o FreeBSD V5.0, é possível incluir controles de acesso de baixa granularidade e políticas de segurança que têm sua origem no projeto TrustedBSD patrocinado pela DARPA. O FreeBSD suporta listas de controle de acesso (ACLs) e módulos de controle d acesso obrigatório (MAC). O segundo está acessível, é claro, somente para administradores e gerenciadores de sistemas, mas possibilita que pequenas empresas executem redes com medidas de segurança de baixa granularidade que se aplicam a subconjuntos do sistema exposto ao mundo externo. O UFS V2 possui excelente suporte a ACL através de atributos estendidos; você deve configurar o UFS V1 separadamente se ACLs forem um requisito.

Se você foi apresentado aos mistérios do Linux, você pode ficar interessado em ver aplicativos disponíveis para, digamos, SuSE Linux e Mac OS X, mas não há origem nem binários separado para o FreeBSD. O FreeBSD é capaz de executar um módulo de compatibilidade binária do Linux, que você deve ativar no tempo de instalação ou a partir da linha de comando. As bibliotecas do tempo de execução do Linux podem ser necessárias, também, mas você pode incluí-las a partir da coleta Ports.

É claro, o FreeBSD executa todos os principais shells de desktop baseados no X Window System, como o desktop KDE e o desktop GNU Network Object Model Environment (GNOME). O FreeBSD era usado para a versão UNIX de opção do usuário de desktop até o OS X baseado no FreeBSD surgir. Ainda dá aos usuários do UNIX operando sob restrições orçamentárias um negócio extremamente bom e não requer licenças adicionais quando configurado como um servidor ou um cliente.


Derivativos do FreeBSD

Como a maioria dos sistemas operacionais com um longo histórico, o FreeBSD gerou sua boa parcela de filhos. É impossível iniciar um sistema FreeBSD a partir de um CD sem precisar compilar e produzir um CD. O trabalho já foi feito com o sistema razoavelmente maduro Free System Burned in Economy (FreeSBIE) V1.1 LiveCD, que por sua vez é baseado no FreeBSD V5.3. Se estiver alocando parte do disco rígido e gravando no registro de inicialização principal (MBR) parece perigoso, é um ponto de partida perfeito para começar a testar o FreeBSD.

O DragonFly BSD é baseado no release da série FreeBSD V4.x, mas não se destina ao usuário médio de forma alguma. Menciona sistemas de arquivos em cluster seguros para toda a Internet na primeira página de seu Web site -- o que não é um requisito que provavelmente preocupa usuários do UNIX de primeira viagem. O DragonFly BSD foi fundado pelo guru de memória virtual residente do FreeBSD e tenta implementar uma abordagem completamente nova para sistemas de arquivos e gerenciamento de memória massivamente seguros.


Questões de Documentação

É fora do comum mencionar documentação de sistema operacional que é fornecido com sistemas UNIX, pois tal documentação tende a ser tão ilegível quanto intrinsecamente interessante e útil. A documentação do FreeBSD é uma excelente exceção a essa regra, pois não presta muita atenção às páginas de manual de estilo antigo nem copia o estilo ou organização da documentação do UNIX.

A documentação do FreeBSD está disponível como um manual escrito de forma concisa, na Internet e no papel, cobrindo todo e qualquer aspecto do sistema em um estilo agradável e considerável. Não pressupõe muita familiaridade com sistemas UNIX e, na verdade, foi usada de forma lucrativa pelos neófitos do UNIX. Não ensina o milagre de uma instalação do FreeBSD, mas também fornece uma introdução clara para as razões e causas de compilação do kernel do FreeBSD ou proteção de uma instalação do FreeBSD. É interessante ver o que a documentação omite -- por exemplo, Perl e Apache -- e o que inclui -- como o Berkeley Internet Name Daemon (BIND) e o gerenciador de armazenamento Vinum específico do FreeBSD. Vinum implementa o gerenciamento de unidade de disco virtual e pode suportar RAID 0, RAID 1 e RAID 5.


O Sistema Operacional do Administrador

É possível descrever o FreeBSD como um sistema operacional do administrador da rede: é rápido, com capacidade SMP e bem integrado a um grande número de ferramentas de rede. No entanto, o FreeBSD é tão sagaz e rápido quando executado nos laptops, ao executar aplicativos de escritório e ao executar clientes de correio e bancos de dados. Suas rotinas de instalação são simples o suficiente para que um usuário power do Microsoft® Windows® fique confortável com ele. Também tem muito a oferecer a usuários do Linux, simplesmente porque no modo compatível com binário, aplicativos nativos do Linux são executados sem mudanças. O FreeBSD é extremamente escalável e executa a maioria dos aplicativos escritos para opções do Linux ou do BSD. Não suponha que o FreeBSD seja um canivete suíço entre sistemas operacionais gratuitos: não é tão seguro quanto o OpenBSD nem escalável como uma versão futura do Open Solaris pode ser seguramente considerada. Mas compete com qualquer sistema operacional -- comercial ou gratuito -- no chip Intel e, em muitos casos, fornece uma plataforma mais estável e escalável do que qualquer um de seus concorrentes mais próximos.

Recursos

  • FreeBSD é o principal portal do FreeBSD. Fornece acesso para o código de origem, o manual do FreeBSD e as novas versões do FreeBSD.
  • Para investigar os inícios do FreeBSD, o site 386BSD fornece uma narrativa por escrito de Bill Jolitz. O código de origem do 386BSD está disponível a partir desse site, também.
  • Apesar de ser usado amplamente, o UFS 2 não é bem conhecido.
  • O Projeto DragonFly BSD possui documentação substancial e exigente tecnicamente.
  • FreeSBIE fornece uma versão ao vivo do FreeBSD em CD.
  • O sistema operacional Debian é comumente considerado como baseado no GNU/Linux, mas como você verá ao consultar o Web site do Debian, pode executar outros kernels também, como o NetBSD e o Hurd.
  • Para aqueles que gostam de voltar na linha do tempo do Mac até as arquiteturas baseadas no Motorola 68k, o Web site do NetBSD/mac68k fornece bastante divertimento.
  • A porta PPC para o NetBSD é representada pelo próprio grupo do NetBSD/macppc ativo.
  • O foco do OpenBSD na segurança encontrou amigos entre os especialistas em Mac e a porta PPC é desenvolvida aqui.
  • O gerenciamento de disco rígido é frequentemente dominado por ferramentas comerciais, mas o FreeBSD é fornecido com sua própria ferramentas OSS chamada Vinum.
  • Berkeley UNIX foi o berço de teste original para redes IP. BIND, ou Berkeley Internet Name Domain, representa uma implementação de todos os protocolos DNS, incluindo servidor de nomes e biblioteca de resolvedor, sem os quais a infraestrutura do nome do domínio da Internet é impossível.
  • Consulte o tutorial do developerWorks " Instalando o FreeBSD" para aprender como executar o FreeBSD em seu computador.
  • Aprenda dicas de segurança lendo o artigo do developerWorks " Melhorando a Segurança de Plataformas UNIX Abertas."
  • Visite Zona de Software Livre do developerWorks para obter informações extensivas sobre como executar ações, sobre ferramentas e atualizações de projetos para ajudá-lo a se desenvolver com tecnologias de software livre e usá-las com produtos IBM.
  • Inove seu próximo projeto de desenvolvimento de software livre com software de avaliação da IBM, disponível para download ou em DVD.
  • Envolva-se com a comunidade do developerWorks participando de Blogs do developerWorks.

Comentários

developerWorks: Conecte-se

Los campos obligatorios están marcados con un asterisco (*).


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


A primeira vez que você entrar no developerWorks, um perfil é criado para você. Informações no seu perfil (seu nome, país / região, e nome da empresa) é apresentado ao público e vai acompanhar qualquer conteúdo que você postar, a menos que você opte por esconder o nome da empresa. Você pode atualizar sua conta IBM a qualquer momento.

Todas as informações enviadas são seguras.

Elija su nombre para mostrar



Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Los campos obligatorios están marcados con un asterisco (*).

(Escolha um nome de exibição de 3 - 31 caracteres.)

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


Todas as informações enviadas são seguras.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Software livre, Linux
ArticleID=382648
ArticleTitle=Por que FreeBSD
publish-date=07192005