História do FreeBSD

O primeiro sis­tema oper­a­ti­vo chama­do Unix (nome com­ple­to: Unix Time­shar­ing Sys­tem Ver­sion 1) apare­ceu em 1970. Foi basea­do num sis­tema ante­ri­or chama­do UNICS (UNi­plexed Infor­ma­tion and Com­put­ing Sys­tem). A primeira ver­são foi con­ce­bi­da em Berke­ley para cor­rer num DEC PDP-11/20 e foi com­ple­ta­mente escrito em Assem­bly. Em 1973, foi deci­di­do re-escr­ev­er o sis­tema na lin­guagem C. A úni­ca excepção eram as partes do ker­nel que seri­am depen­dentes do hard­ware. O fac­to de ser quase 100% C lev­ou à adopção do Unix em várias platafor­ma, pois o códi­go era bas­tante portáv­el. O úni­co pedaço de códi­go que teria de ser escrito de raíz era o ker­nel.

BSD (Berke­ley Soft­ware Dis­tri­b­u­tion) era o nome dado ao con­jun­to de alguns util­itários (entre eles, o edi­tor vi, ls, cp, mv, etc.) e o ker­nel. Tin­ha este nome dev­i­do ao fac­to de ter sido desen­volvi­do em Berkeley.

O BSD con­tin­u­ou a ser desen­volvi­do para o PDP-11, mes­mo após a AT&T vender um deriva­do chama­do Unix Sys­tem I, pois o BSD era mel­hor para insti­tu­ições de ensino.

Na déca­da de 1980, já a AT&T licen­ci­a­va o Unix Sys­tem III, ain­da o BSD era uti­liza­do no DEC VAX-11 e PDP-11. Foi nes­ta época que começaram a apare­cer os Unix com­er­ci­ais que ain­da exis­tem, como o SunOS, da Sun (que mais tarde mudou de nome para Solaris), o HP-UX da HP, o AIX da IBM e o OSF/1 da Digital.

Dev­i­do a uma dis­pu­ta de dire­itos de autor (a AT&T afir­ma­va que o 4.4BSD con­tin­ha códi­go não livre copi­a­do do seu Unix), foi lança­do o 4.4BSD-Lite que con­tin­ha tudo que o 4.4BSD, mas sem o códi­go polémi­co. Mais tarde surgiu o 4.4BSD-Lite2, que con­tin­ha alguns melhoramentos.

O BSD foi pio­neiro, pois muitas das coisas a que esta­mos habit­u­a­dos em sis­temas Unix, como a C Shell (csh), o vi e comu­ni­cações TCP/IP apare­ce­r­am primeiro no BSD e foram mais tarde incor­po­ra­dos nos out­ros Unix.

O BSD foi con­ce­bido para tirar par­tido de facil­i­dades dos proces­sadores como memória vir­tu­al, pag­i­nação e sep­a­ração de proces­sos. Estas não eram facil­i­dades disponíveis nos com­puta­dores com­patíveis com o IBM PC, um com­puta­dor que se começou a pop­u­larizar em 1983, prin­ci­pal­mente por ser com­pacto e barato.

Com o aparec­i­men­to do Intel 80386, tudo isso mudou. Este era um proces­sador que tin­ha endereça­men­to de 32 bits, o que quer diz­er que tin­ha um espaço de memória vir­tu­al de até 4GB, dis­pun­ha de pag­i­nação e pro­tecção inter-processo.

Nes­sa altura, Lynne e William Jolitz, ambos alunos de Berke­ley, e com exper­iên­cia em 2.8BSD e 2.9BSD, cri­aram o 386BSD. Este era basea­do no 4.3BSD, que não era um sis­tema oper­a­ti­vo com­ple­to, vis­to que cer­tas partes do códi­go eram paten­tea­d­os e foram proposi­tada­mente reti­radas da ver­são disponív­el para o públi­co. Os Jolitz escrever­am as partes que fal­tavam e por­taram o sis­tema para a platafor­ma Intel 386. A primeira ver­são do 386BSD (0.0) apare­ceu em Março de 1992. Depres­sa o casal se mostrou relu­tante em aceitar mel­ho­ra­men­tos sug­eri­dos pelos uti­lizadores. Os patch­es sub­meti­dos para o 386BSD foram sendo agru­pa­dos no que ficou con­heci­do como patchk­it. Este patchk­it foi fican­do cada vez maior e mais difí­cil de gerir. Quan­do William Jolitz recu­sou qual­quer tipo de suporte ao grupo respon­sáv­el pelo patchk­it, este grupo criou o FreeB­SD.

Ape­sar de nun­ca ter sido pos­ta em causa a legal­i­dade do códi­go do 386BSD, os pro­gra­madores do FreeB­SD re-escrever­am quase todo o sis­tema, para a ver­são 2.0, base­an­do-se no 4.4BSD-Lite, sendo este últi­mo total­mente livre de códi­go sujeito a dire­itos de autor, ao con­trário das ver­sões ante­ri­ores. Foi tam­bém com esta ver­são do FreeB­SD que surgiu o sis­tema de ports, que per­mite a insta­lação de apli­cações que não fazem parte do sis­tema base.

A ver­são 3.0 trouxe a mudança para o for­ma­to de ficheiros exe­cutáveis con­heci­do como ELF (uti­liza­do tam­bém em Lin­ux, Solaris, HP-UX, entre outros).

Neste momen­to está em fase final de lança­men­to a ver­são 6.2.

Esta entrada foi publicada em Geral. ligação permanente.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *