Berkeley Software Distribution (BSD) é um sistema operacional Unix com desenvolvimento derivado e distribuído pelo Computer Systems Research Group (CSRG) da Universidade da Califórnia em Berkeley, de 1977 a 1995. Hoje o termo "BSD" é frequentemente usado de forma não específica para se referir a qualquer descendente que juntos, formam uma ramificação da família Unix-like de sistemas operacionais. Sistemas operacionais derivados do código do BSD original ainda são ativamente desenvolvidos e largamente utilizados.
Historicamente, o BSD ou Berkeley Unix foi considerado uma ramificação do Unix da AT&T, porque compartilhou a base de dados inicial e o projeto original. Nos anos de 1980, o BSD foi largamente adotado por fornecedores de sistemas de estação de trabalho na forma de variantes proprietárias de Unix como DEC, ULTRIX e o SunOS da Sun Microsystems. Isso pode ser atribuído à facilidade com que ele pode ser licenciado, além da familiaridade que os fundadores de muitas empresas de tecnologia da época tinham com ele.
Embora estes derivados proprietários do BSD tenham sido amplamente superados pelo UNIX System V Release 4 e pelo OSF/1, sistemas da década de 1990 (sendo que ambos incorporaram código BSD e são a base de outros sistemas Unix modernos), mais tarde os lançamentos BSD forneceram uma base para vários projetos de desenvolvimento de código aberto, por exemplo: FreeBSD, OpenBSD, NetBSD, Darwin ou PC-BSD, que estão em contínuo desenvolvimento. Estes, por sua vez foram incorporados, no todo ou em parte, em sistemas operacionais proprietários modernos, como por exemplo o conjunto de protocolos de Internet TCP/IP, código de rede em Windows NT 3.1 e também da maioria dos OS X da Apple's e iOS.
História
BSD 1 (PDP-11) As primeiras distribuições do Unix da Bell Labs em 1970 incluíram o código fonte para o sistema operacional, habilitando os pesquisadores em universidades a modificar e estender o Unix. O sistema operacional surgiu em Berkeley em 1974, a pedido do professor de Ciência da Computação Bob Fabry que havia estado no comitê do programa para o Symposium on Operating Systems Principles onde o Unix foi apresentado pela primeira vez. Um PDP-11/45 foi vendido para rodar o sistema, mas, por razões orçamentais, esta máquina foi compartilhada com os grupos de Matemática e Estatística em Berkeley, que usaram RSTS, de modo que o Unix funcionava somente oito horas por dia na máquina (às vezes durante o dia, às vezes durante a noite). Um maior computador, o PDP-11/70 foi instalado em Berkeley no ano seguinte, usando o dinheiro do projeto de banco de dados Ingres.
Também em 1975, Ken Thompson chegou à Berkeley como professor visitante. Ele ajudou a instalar o Unix Versão 6 e começou a trabalhar com Pascal para implementação do sistema. Alunos de graduação como Chuck Haley e Bill Joy melhoraram o Pascal de Thompson e implementaram um editor de textos melhorado: o ex. Outras universidades se interessaram pelo software em Berkeley, e assim em 1977, Joy começou a compilar a primeira Berkeley Software Distribution (BSD 1), que foi lançado em 9 de março de 1978.Salus (1994), p. 142 O BSD 1 foi um "add-on" para a versão 6 do Unix em vez de um sistema operacional completo por si mesmo. Cerca de trinta cópias foram vendidas.
BSD 2 (PDP-11) O segundo BSD, lançado em maio de 1979, incluiu versões atualizadas do BSD 1, bem como dois novos programas de Joy que persistem no Unix até os dias de hoje: o editor de textos vi, um editor visual do ex e o C Shell. Cerca de 75 cópias do BSD 2 foram enviadas por Bill Joy. Uma outra característica foi um pacote de rede chamado Berknet, desenvolvido pela Eric Schmidt como parte da tese de seu trabalho de mestrado, que pode conectar até vinte e seis computadores e e-mail fornecidos, além de transferência de arquivos.
Depois que o BSD 3 (veja abaixo) saiu para a linha de computadores VAX, novos lançamentos do BSD 2 para o PDP-11 ainda foram emitidos e distribuídos através de USENIX; por exemplo, de 1982, a versão 2.8.1 do BSD incluiu uma coleção de correções para problemas de desempenho na Versão 7 do Unix, e em versões posteriores continham ports de mudanças dos lançamentos baseados no VAX de BSD, voltados para a arquitetura do PDP-11. A versão do BSD 2.9 de 1983 incluiu código do BSD 4.1c, e foi considerado o primeiro lançamento de sistema operacional completo (um Unix V7 modificado) em vez de um conjunto de aplicativos e patches. O mais recente lançamento, o BSD 2.11, foi emitido pela primeira vez em 1992. A partir de 2008, as atualizações de manutenção de voluntários ainda estão em andamento, com o patch 448 sendo lançado em 17 de junho de 2012.
BSD 3
Um computador VAX foi instalado em Berkeley em 1978, mas o port do Unix para a arquitetura VAX, o UNIX/32V, não tirou vantagem das capacidades de memória virtual do VAX. O kernel do 32V foi amplamente reescrito por estudantes de Berkeley que incluía uma implementação de memória virtual e um sistema operacional completo incluindo o novo kernel, ports de utilidades do BSD 2 para o VAX, e as utilidades do 32V também foram lançadas como BSD 3, no final de 1979. O BSD também foi alternativamente chamado de Virtual VAX/UNIX ou VMUNIX (para memórias virtuais Unix), e as imagens do Kernel do BSD eram conhecidas como /vmunix até o BSD 4.4.
O sucesso do BSD 3 foi um maior fator na decisão do Defense Advanced Research Projects Agency's (DARPA) em financiar o Berkeley's Computer Systems Research Group (CSRG), no qual desenvolveram uma plataforma Unix padrão para a futura pesquisa do DARPA no Berkeley's Computer Systems Research Group.
BSD 4 O BSD 4 foi lançado em novembro de 1980 oferecendo um número de melhorias sobre o BSD 3, notavelmente um job control no csh lançado previamente, além do delivermail (o antecedente do sendmail), além de "confiáveis" sinais e a biblioteca de programação do Curses. Em 1985 num review de lançamento do BSD, John Quarterman, escreveu:
BSD 4.1 O BSD na versão 4.1 foi lançado em junho de 1981 e foi uma resposta ao criticismo de performance relativa aos BSDs nos sistemas operacionais dos VAX da época, o VMS. O kernel do BSD 4.1 foi sistematicamente sintonizado pelo Bill Joy até que ele obtivesse uma performance semelhante ao VMS nos benchmarks. O lançamento deveria ter sido chamado de BSD 5, mas depois de objeções da AT&T o nome foi mudado; a AT&T temia confusão com o UNIX System V.M. K. McKusick in Open Sources, O'Reilly.
BSD 4.2 Foi lançado em agosto de 1983, levou mais de 2 anos para ser implementado e continha várias e grandes reparações. Antes de seu lançamento oficial vieram três versões intermediárias: a 4.1a que incorporava uma versão preliminar modificada de Bolt, Beranek e Newman da BBN do TCP IP; O 4.1b que incluia o novo UFS, implementado por Marshall Kirk McKusick; e o 4.1c que foi uma liberdade provisória durante os últimos meses de desenvolvimento do BSD 4.2. De volta à Bell Labs, o BSD 4.1c se tornou a base da oitava edição de Research Unix, e uma versão suportada comercialmente era disponível a partir do mtXinu.
Para orientar a concepção do BSD 4.2, Duane Adams do DARPA formou um "comitê de direção" que consiste em: Bob Fabry, Bill Joy e Sam Leffler a partir da UCB, Alan Nemeth e Rob Gurwitz da BBN, Dennis Ritchie da Bell Labs, Keith Lantz de Stanford, Rick Rashid da Carnegie-Mellon, Bert Halstead do MIT, Dan Lynch do ISI e Gerald J. Popek da UCLA. A comissão reuniu-se a partir de abril de 1981 à junho de 1983.
Além do UFS, foram aceites várias características de colaboradores externos, incluindo as quotas de disco e controle de trabalho. A Sun Microsystems, elaborou testes em suas máquinas Motorola 68000, antes da liberação, assegurando a portabilidade do sistema.
O lançamento oficial do BSD 4.2 veio em agosto de 1983. Foi notável como a primeira versão lançada após o início, em 1982, Bill Joy cofundador da Sun Microsystems; Mike Karels e Marshall Kirk McKusick assumiram funções de liderança dentro do projeto a partir desse ponto em diante. Em uma nota mais leve, ele também marcou a estreia do mascote do BSD em um desenho feito por John Lasseter que apareceu na capa dos manuais impressos distribuídos por USENIX.
BSD 4.3
A versão 4.3 foi lançada em junho de 1986. Suas principais mudanças foram para melhorar o desempenho de muitas das novas contribuições do BSD 4.2 que não tinha sido tão fortemente afinadas como o código do BSD 4.1. Antes do lançamento, a implementação do BSD de TCP/IP havia divergido consideravelmente de implementações oficiais da BBN. Depois de vários meses de testes, o DARPA determinou que a versão BSD 4.2 foi superior e permaneceria no BSD 4.3.
Após o BSD 4.3, foi determinado que o BSD iria afastar-se da antiga plataforma VAX. O Power 6/32 platforma de codinome "Tahoe" desenvolvido pela Computer Inc. Consoles parecia promissor na época, mas foi abandonado por seus desenvolvedores pouco depois. No entanto, o port do BSD 4.3-Tahoe em junho de 1988, foi valiosa, uma vez que levou a uma separação de máquina dependente e também código independente de máquina no BSD que iria melhorar a portabilidade futura do sistema.
Além de portabilidade, o CSRG trabalhou em uma implementação do OSI uma pilha de protocolos de rede, melhorias no sistema de memória virtual do kernel e (com Van Jacobson do LBL) novos algoritmos TCP/IP para acomodar o crescimento da internet.M.K. McKusick, M.J. Karels, Keith Sklower, Kevin Fall, Marc Teitelbaum and Keith Bostic (1989). Current Research by The Computer Systems Research Group of Berkeley. Proc. European Unix Users Group.
Até então, todas as versões do BSD incorporavam código proprietário do Unix da AT&T e foram, portanto, sujeitas a uma licença de software AT&T. Licenças de código-fonte tornaram-se muito caras e vários grupos de terceiros expressaram interesse em uma versão separada do código de rede, que tinha sido desenvolvido completamente fora da AT&T e portanto não estaria sujeito ao requisito de licenciamento. Isso levou ao Networking Release 1 (Net/1), que foi feito disponível para não-licenciados do código AT&T e foi redistribuído livremente, nos termos da licença BSD. E foi lançado em junho de 1989.
O BSD 4.3-Reno veio no início de 1990. Era uma versão provisória durante o desenvolvimento precoce do BSD 4.4, e sua utilização foi considerada uma "aposta", daí a denominação após o centro de jogos de azar de Reno, Nevada. Esta versão foi explicitamente se movendo em direção à conformidade POSIX, e, segundo alguns, longe da filosofia BSD (como o POSIX é muito baseado no System V, e o Reno foi bastante inchado em comparação às versões anteriores). Entre os novos recursos estiveram um Sistema de Arquivos de Rede NFS implementada pela Universidade de Guelph e apoio para a gama de computadores HP 9000, originários da Universidade de Utah, o port "HPBSD".
Em agosto de 2006, a revista InformationWeek classificou o BSD 4.3 como "O Maior Software Jamais Escrito". Eles comentaram: "o BSD 4.3 representa o único grande suporte teórico da Internet."
Net/2 e Problemas Legais
Depois do Net/1, um dos desenvolvedores do BSD Keith Bostic propôs que mais seções não-AT&T do sistema BSD fossem liberadas sob a mesma licença como Net/1. Para este fim, ele iniciou um projeto para reimplementar a maioria dos programas do NetBSD sem usar o código AT&T. Por exemplo, o vi, que tinha sido baseado na versão original do Unix ed, foi reescrita como nvi (novo vi). No prazo de dezoito meses, todos os utilitários AT&T tinham sido substituídos, e determinou-se que apenas alguns arquivos da AT&T permanecessem no kernel. Esses arquivos foram removidos, e o resultado foi o lançamento em junho de 1991, o Networking Release 2 (Net/2), um sistema operacional quase completo que foi distribuído gratuitamente.