Para se falar
sobre a historia do Linux é preciso que primeiro se fale sobre a
historia do Unix. O Unix nasceu de um projeto dos Laboratórios Bell,
a General Eletric e o Massachusetts Institute of Technology para a criação
de um sistema operacional que oferecesse recursos multiusuários
para processamento de dados para uma grande quantidade de usuários
concorrentes, chamado de Multics. Embora esse projeto não tivesse
atingido suas metas principais, em 1969 ele se encontrava rodando em um
computador GE 645. O Multics e considerado um precursor dos sistemas operacionais
modernos por ser interativo, ou seja, apresentava uma resposta imediata
ao comando digitado já que antes apenas sistemas operacionais
orientados a lotes eram disponíveis.
Ken Thompson
e Dennis Ritchie são considerados os “pais” do Unix. Ken Thompson
tinha trabalhado em um jogo chamado Space Travel que foi escrito
em Fortran e rodado em um computador Honeywell 635 com sistema operacional
GECOS, mas havia algumas dificuldades para se controlar a “nave espacial"
no programa. Thompson descobriu então um obscuro computador com
bom poder computacional e um bom terminal gráfico , o DECPDP-7
. Richie e Thompson passaram então a implementar a primeira versão
do sistema de arquivos do Unix . O nome Unix foi colocado em referencia
ao antigo projeto Multics em que eles trabalharam antes . Thompson começou
a primeira implementação do Unix começou
a partir de um compilador Fortran mas depois inventou a linguagem
B transformada depois por Dennis Richie em linguagem C . Assim em 1973
todo o Unix foi convertido para a linguagem C podendo assim ser convertido
para qualquer maquina com um compilador C . O Unix recebeu um grande apoio
da comunidade acadêmica devido ao fato de Thompson ter passado um
ano como professor na Universidade de Berkley na Califórnia
. La ele apresentou o Unix e desenvolveu grande parte da versão
conhecida como versão 6 . Muito do desenvolvimento do Unix se deu
mesmo após a saída de Thompson, com alunos e professores
desenvolvendo grande parto do hoje conhecido System V.
Em 1991 o estudante
de ciência da computação da universidade da Helsinki
na Finlândia Linus Torvalds comprou o sistema Minix de Andrew Tanenbaum
e começou a trocar idéias em uma lista de discussão
na Internet (comp.os.minix). Linus começou a mudar
algumas rotinas desse sistema e a disponibilizar seus resultados em um
diretório concedido pelo seu professor , divulgando freqüentemente
seus avanços e modificações nesta lista, permitindo
assim que milhares de pessoas pudessem melhorar e ate modificar algumas
de suas rotinas . A esse projeto foi dado o nome de Linux , uma mistura
do nome de seu criador (LINus ) e do sistema que deu origem ao Minix (
UniX ). O Linux mantém seu caráter aberto ate os dias atuais
permitindo assim que pessoas de todo o mundo colaborem com idéias
e melhorias para as próximas versões pois disponibiliza seu
código fonte juntamente com o software que acompanha sua instalação
.
O Linux é
um SO tipo Unix de 32 bits que suporta todos os utilitários , ferramentas
e outros recursos encontrados em produtos Unix comerciais . O mais novo
Kernel (versão 2.0) oferece melhoramentos como suporte a Java
e a SMP ( Simetric Multiprocessing , Multiprocessamento Simétrico
) , que o torna melhor que alguns produtos Unix comerciais . A melhor coisa
a respeito do Linux ‘e que ele ‘e essencialmente gratuito. Contudo , por
esse mesmo motivo , muitas pessoas questionam sua legitimidade . Some-se
a isso o fato Linux começou como um projeto universitário
de Linus Torvalds , e parece bastante natural que ele seja algo do qual
ninguém gostaria que sua empresa dependesse . Mas da forma como
vemos a questão a pergunta mais lógica colocada pelo Linux
é : “Por que não ?”
O Linux roda
, na maioria dos processadores como varias espécies de x86
,a família PowerPC , a serie Alpha e os chips MIPS . Ele suporta
a maior parte dos periféricos de hardware , com algumas armadilhas
. Tipicamente os desenvolvedores de drivers de hardware são eles
mesmos usuários do Linux . Se uma pessoa quer que um periférico
funcione , ela ou escreve o driver ou espera que alguém o faca .
O lado positivo dessa situação é que como o desenvolvedor
utiliza os dispositivos e acaba descobrindo os mesmos bugs que o usuário
, o s problemas são resolvidos rapidamente , geralmente em questões
de dias ou semanas . Outra vantagem desse arranjo ‘e que a pessoa que de
fato usa aquele periférico em particular – mais uma
vez , tipicamente o desenvolvedor – escreve a documentação
. O lado negativo ‘e que periféricos mais antigos não conseguem
arregimentar um suporte tão devotado de modo que encontrar um driver
para hardware antiquado , como um velho drive de Cd-Rom ou uma velha placa
de rede , pode ser problemático . Ademais , a pessoa mais adequada
para escrever drivers de dispositivos pode não estar devidamente
capacitada para escrever documentação clara e amigável
com o usuário .
A documentação
de todas as distribuições comercias do Linux aparece na forma
de arquivos HOWTO . Como diz o nome , um HOWTO descreve como fazer alguma
coisa . Pode ser algo relacionado com o software , como firewall HOWTO
que descreve como configurar um firewall para Internet ou relacionado com
o hardware como o Cd Write HOWTO que descreve como fazer com que certo
dispositivo de CD-R funcionem sobre o sistema .
É importante
checar se existe um HOWTO para uma peca especifica de hardware , para o
caso de ele descrever problemas que já’ foram descritos por alguém
. Um bom exemplo é o CD-Write HOWTO . Embora exista um programa
( cdwrite ) que opera driver de Cd-r , nem todos os modelos funcionam com
ele . O HOWTO descreve como fazer com que um driver SCSI padrão
funcione com um drive Cd CD-R especifico .Muitos dos problemas do Hardware
de Linux ocorre devido ao fato de os periféricos simplesmente serem
novos demais no cenário Linux , de modo que não existem drivers
. Outras vezes , alterações no Kernel podem causar
problemas nos drivers específicos .
Se você
esta perguntando “ De que adianta tudo isso se não existe software
para rodar nele ?” A resposta é: “ Existe Sim” . Alem de suportar
todos os programas que são padrão em um sistema UNIX o Linux
suporta todos os protocolos de rede com os quais os usuários Unix
estão acostumados como TCP/IP , NFS e HTTP . Alem disso há
uma ampla variedade de aplicativos de software gratuito como se sistema
de processamentos de texto , planilhas e banco de dados . Se isso
não for suficiente existe ainda uma grande variedade de softwares
disponível . Nem todos os produtos de software rodam perfeitamente
no Linux na primeira vez . A maior parte do software Linux não-comercial
esta disponível na forma de código fonte que deve ser compilado
no sistema hospedeiro . Isso aumenta a probabilidade que ele funcione corretamente
. Contudo , deve-se checar o arquivo no README que acompanha o programa
, que descreve os passos específicos a serem seguidos em cada plataforma
.
Tal como no
caso do hardware , muitos produtos de software tem seus próprios
arquivos HOWTO . O Java HOWTO descreve os passos necessários para
fazer o Java funcionar em um sistema . Java requer suporte a binários
Executable and Linking Format ( ELF) que não esta disponível
nas versões de Kernel anteriores a 1.2.13. Alem disso , existem
problemas conhecidos com o Java para versões especificas de Linux
.
Uma questão
comum do Linux é sua compatibilidade com outros sistemas . Embora
sua interoperabilidade com outros dialetos do Unix seja tida como certa
, a conectividade com PC’s baseados em Windows pode ser uma causa de preocupação
. “O Linux funciona muito bem como servidor da Internet mas ele é
capaz de oferecer os serviços de arquivos e de impressão
de outros dialetos Unix ? “ Sim , se o Samba estiver rodando . O
Samba é um pacote de software que proporciona as funções
Session Message Block (SMB ) necessários para o suporte ao Windows
for Workgroups , Windows 95 , Windows NT e Lan Maneger . Na verdade qualquer
cliente que suporte SMB pode acessar o Linux . A grande vantagem do Samba
é que ele funciona nos Dois sentidos de modo que o Linux pode acessar
outros sistemas como o NT . Um dos maiores argumentos contra o Linux é
a falta de suporte . Como o Linux não foi desenvolvido por uma entidade
única não existe a quem recorrer . Contudo o Linux é
empacotado e distribuído por diversas companhias . Quem compra um
desses pacotes geralmente recebe um suporte técnico com informações
básicas como instalação . Muitas companhias trabalham
exclusivamente com suporte a Linux . Outras, como a Workgroup Solutions
, não apenas oferecem sistemas completos inclusive uma versão
própria do Linux como também oferecem serviços de
consultoria. Finalmente, o Linux desenvolveu um grande exercito de seguidores
que podem ajudar , pois já’ passaram pelos problemas enfrentados
pelos novatos .
O Aspecto mais
atraente do Linux é que ele tipifica por completo a mentalidade
UNIX . O Unix é um sistema de opções . O Usuário
escolhe como configurar o sistema e quais as funções ele
terá’ . Pode – se optar para uma implementação para
PC de baixo custo ou para Workstation de primeira linha . Para quem precisa
de processamento em tempo real ele também esta disponível
. O Linux leva isso um passo `a frente : Não apenas é possível
alterar os parâmetros e a configuração a vontade ,
mas se necessário pode-se também modificar o comportamento
básico do sistema operacional porque o código fonte esta
disponível . Embora o Linux ainda não rode em MainFrames
isso é apenas uma questão de tempo . Como o Linux roda em
todas as principais arquiteturas de computadores as chances de que existam
um sistema Linux para qualquer necessidade especifica são grandes
. Por causa da quantidade de software e de suporte disponível o
Linux encontrou seu lugar ao lado dos SO’s UNIX ate mesmo dos grandes fabricantes
.
Marcello´s Homepage® 2000.