Sistema Operacional: Linux
O
que é Linux e qual sua história?
Introdução
Quando
Linus
Torvalds criou
o Linux,
certamente não sabia da importância que este projeto teria para os
mais variados aspectos da computação. Graças à sua iniciativa, o
Linux está presente em centenas de milhares de servidores,
computadores pessoais e dispositivos portáteis em todo o mundo. Mas,
como isso aconteceu? Por que Torvalds criou o Linux? Por qual motivo
este projeto teve uma aceitação tão grande? Efetivamente, o
que é Linux? Para
obter as respostas para estas e outras questões relacionadas, nada
melhor do que conhecer a história do Linux. É isso que o InfoWester
apresenta a seguir.
O que é Linux?
Para
muita gente, o Linux é meramente um sistema operacional. Esta
definição não está errada, mas também não está completa. Na
verdade, o Linux é parte de um todo, mais precisamente, é um kernel
de código-fonte* aberto, que foi - e é desenvolvido - ao longo do
tempo graças à colaboração voluntária de desenvolvedores de
várias partes do mundo.
- Em poucas palavras, código-fonte é um conjunto de instruções baseado em uma linguagem de programação que, depois de compilado ou interpretado, forma um software. Tendo acesso ao código-fonte, é possível saber como determinado programa ou recurso de software foi desenvolvido.O que é kernel?Kernel pode ser entendido como o núcleo do sistema operacional, isto é, como a parte essencial deste. Cabe ao kernel fazer o intermédio entre o hardware e os programas executados pelo computador. Isso significa que a junção do kernel mais os softwares que tornam o computador usável (drivers, protocolos de comunicação, entre outros), de acordo com a sua aplicação, é que formam o sistema operacional em si.
Para
compreender melhor, você pode imaginar o kernel como sendo o chassi
de um veículo. De acordo com a aplicação em questão, uma
montadora pode adquirir um chassi e utilizá-lo para montar um carro
para transportar cargas ou, se a necessidade for esta, para construir
um automóvel de passeio para uma família.
Perceba
que o kernel não é, necessariamente, um software manipulável pelo
usuário. Ou seja, não se trata de algo tão simples a ponto de
poder ser instalado e, logo em seguida, estar pronto para uso, como
um programa de edição de textos, por exemplo. O kernel é uma base
complexa, que serve de estrutura para o sistema, atuando nos
"bastidores". Assim, o usuário sequer precisa saber de sua
existência para poder utilizar o computador.
Então, o Linux é um kernel?
Exatamente!
Quando procuramos um programa que possui versões para vários
sistemas operacionais - como o navegador Mozilla
Firefox -,
nos deparamos com vários links: um que aponta para a versão
Windows, outra que direciona para a versão Mac OS X, outra para
Linux e assim por diante. Perceba que, em situações como esta, o
nome Linux não é empregado incorretamente. Por outro lado, achar
que o Linux é todo o conjunto de software, incluindo aplicativos,
interfaces gráficas e outros, é uma visão bastante limitada.Mas,
para entender melhor o que é Linux e o que ele representa, é
conveniente conhecer a sua história.
A história do Linux
A
história do Linux começa no ano de 1991, pelas mãos de um
estudante universitário finlandês chamado Linus
Torvalds.
O Linux foi criado por ele, não totalmente do "zero", mas
sim como uma variação do MINIX.
O
MINIX é um sistema operacional simples, criado por Andrew
S. Tanenbaum,
um renomado professor de computação que é conhecido pelos diversos
livros que escreveu para a área.
Tanenbaum
disponibilizou o MINIX principalmente para servir de auxílio no
ensino de computação. Trata-se de um sistema operacional simples,
que exige poucos recursos de hardware e cuja primeira versão foi
lançada em 1987.
Dadas
as suas finalidades acadêmicas, não só o MINIX foi disponibilizado
de maneira gratuita e livre, como também o seu código-fonte
completo. Assim, os estudantes de computação podiam - e podem -
estudá-lo inteiramente para desenvolver suas habilidades ou mesmo
para criar projetos derivados. Foi assim que Linus Torvalds entrou
nesta história.
A relação do Linux - e do MINIX - com o UNIX
O
MINIX também não foi escrito do "zero". Trata-se, na
verdade, de um projeto baseado em um sistema operacional que tem
grande participação na história da computação: o UNIX.
O surgimento do UNIX se deu em 1969, como um projeto da Bell Labs,
laboratório pertencente à AT&T. Mas somente em meados da década
seguinte tornou-se um sistema efetivamente disponível no meio
acadêmico, o que permitiu a sua evolução e o surgimento de
variações.
O
UNIX, na verdade, começou em meados dos anos 1960 como um projeto a
ser desenvolvido por um grupo de habilidosos programadores, entre
eles, Ken
Thompson e
Dennis
Ritchie:
um sistema operacional de nome Multics.
O
Multics era um projeto ambicioso, mas enfrentou vários problemas,
entre eles, falta de recursos computacionais. Assim, no mesmo ano,
Ken Thompson decidiu criar algo mais "realista", chamando o
novo projeto de Unics.
Tempos depois, o nome foi mudado para UNIX,
denominação que permanece até hoje.
Apesar
de haver outros programadores envolvidos com a criação do UNIX, Ken
Thompson e Dennis Ritchie são os nomes mais lembrados porque ambos,
em 1973, praticamente reescreveram o UNIX a partir da linguagem C.
C
é uma criação de Dennis Ritchie, daí o seu comprometimento com o
trabalho envolvendo a linguagem e o UNIX. Por causa de seus recursos,
a linguagem passou a ser utilizada em vários outros projetos mais
complexos, inclusive no desenvolvimento de outros sistemas
operacionais, fazendo com que o seu criador fosse reconhecido
mundialmente como um dos grandes nomes da computação (infelizmente,
Dennis
Ritchie faleceu eum outubro de 2011).
O
UNIX teve grande aceitação não somente em universidades, mas
também em ambientes corporativos, resultando no surgimento de
variações diversas do sistema, como as versões BSD e o Solaris. O
MINIX, assim como o Linux, é uma delas, o que não quer dizer que
ambos sejam iguais ao UNIX, mas notoriamente parecidos.
O surgimento do Linux
Linus
Torvalds, então com quase 20 anos, começou a estudar ciência
da computação na
Universidade de Helsinki, na Finlândia, em 1988. Cerca de dois anos
depois, aproveitando o conhecimento que tinha e estava adquirindo
sobre a linguagem C, decidiu criar a sua própria implementação de
um terminal em seu recém obtido computador 80386, principalmente
para acessar o servidor UNIX da instituição de ensino. Isso porque
ele já havia testado o MINIX para esta finalidade, mas não estava
satisfeito com os seus recursos.
A
intenção de Torvalds era a de fazer com que o projeto rodasse
especificamente em sua máquina 80386, com o desenvolvimento sendo
feito a partir do MINIX. O trabalho avançou de tal forma que chegou
um ponto onde Torvalds já tinha um kernel funcional em mãos.
Em
1991, Linus Torvalds decidiu divulgar abertamente o seu projeto. Para
isso, publicou mensagens na Usenet
(uma
espécie de antecessora da internet, baseada em troca de mensagens)
pedindo sugestões e colaborações para a sua iniciativa.
Eis
a íntegra da primeira
mensagem,
em inglês, postada em 25 de agosto de 1991. Logo em seguida, sua
tradução para português:
From:
torvalds@klaava.Helsinki.Fi (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Keywords: 386, preferences
Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.FI>
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki
Lines: 20
Newsgroups: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Keywords: 386, preferences
Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.FI>
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki
Lines: 20
Hello
everybody out there using minix -
I'm
doing a (free) operating system (just a hobby, won't be big
and
professional like gnu) for 386(486) AT clones. This has been brewing
since april, and is starting to get ready. I'd like any feedback on
things people like/dislike in minix, as my OS resembles it somewhat
(same physical layout of the file-system (due to practical reasons)
among other things).
professional like gnu) for 386(486) AT clones. This has been brewing
since april, and is starting to get ready. I'd like any feedback on
things people like/dislike in minix, as my OS resembles it somewhat
(same physical layout of the file-system (due to practical reasons)
among other things).
I've
currently ported bash(1.08) and gcc(1.40), and things seem to
work.
This implies that I'll get something practical within a few months, and
I'd like to know what features most people would want. Any suggestions
are welcome, but I won't promise I'll implement them :-)
This implies that I'll get something practical within a few months, and
I'd like to know what features most people would want. Any suggestions
are welcome, but I won't promise I'll implement them :-)
Linus
(torvalds@klaava.Helsinki.Fi)
PS.
Yes - it's free of any minix code, and it has a multi-threaded fs.
It is NOT protable (uses 386 task switching etc), and it probably never
will support anything other than AT-harddisks, as that's all I have :-(.
It is NOT protable (uses 386 task switching etc), and it probably never
will support anything other than AT-harddisks, as that's all I have :-(.
Tradução
para português:
Assunto:
O que você gostaria de ver no minix?
Summary: Pequena pesquisa para o meu novo sistema operacional
Summary: Pequena pesquisa para o meu novo sistema operacional
Olá
a todos que usam o minix -
Estou
fazendo um sistema operacional (livre - apenas como um hobby,
não será algo grande e profissional como o GNU) para
máquinas AT 386 (486). Ele tem sido trabalhado desde abril, e
está começando a ficar pronto. Eu gostaria de
opiniões sobre coisas que as pessoas gostam/não gostam no
minix, já que o meu SO lembra um pouco ele (mesmo layout
físico do sistema de arquivos (por motivos práticos),
entre outros).
não será algo grande e profissional como o GNU) para
máquinas AT 386 (486). Ele tem sido trabalhado desde abril, e
está começando a ficar pronto. Eu gostaria de
opiniões sobre coisas que as pessoas gostam/não gostam no
minix, já que o meu SO lembra um pouco ele (mesmo layout
físico do sistema de arquivos (por motivos práticos),
entre outros).
Eu
já portei o bash (1.08) e o gcc (1.40) e as coisas
parecem
funcionar. Isso indica que conseguirei alguma coisa prática
dentro de alguns meses, e gostaria de saber quais recursos as pessoas
mais gostaria de ter. Todas as sugestões serão
bem-vindas, mas não prometo implementá-las :-)
funcionar. Isso indica que conseguirei alguma coisa prática
dentro de alguns meses, e gostaria de saber quais recursos as pessoas
mais gostaria de ter. Todas as sugestões serão
bem-vindas, mas não prometo implementá-las :-)
Linus
(torvalds@kruuna.helsinki.fi)
PS.
Sim - ele está livre de qualquer código do minix, e
tem sistema de arquivos com multi-threading. Ele NÂO é
portável (usa 386, chaveamento de tarefas, etc) e provavelmente
nunca suportará qualquer coisa além de discos
rígidos AT, pois é tudo o que eu tenho :-(.
tem sistema de arquivos com multi-threading. Ele NÂO é
portável (usa 386, chaveamento de tarefas, etc) e provavelmente
nunca suportará qualquer coisa além de discos
rígidos AT, pois é tudo o que eu tenho :-(.
Por
esta mensagem, é possível perceber que Linus Torvalds não esperava
que seu projeto fosse crescer tanto e se tornar tão importante para
o advento da computação e da Tecnologia
da Informação.
O
início da trajetória do Linux não foi isenta de problemas. Uma dos
obstáculos que Torvalds teve que enfrentar foram as críticas do
professor Andrew S. Tanenbaum, que em suas declarações afirmou que
o "Linux é obsoleto", especialmente por este ter "design
monolítico".
Tanenbaum
não estava contente com o fato de o Linux ter sido preparado
especificamente para rodar com o processador 80386 que, além de
caro, teria sua arquitetura substituída futuramente, o que, na
verdade, não aconteceu.
Linus
respondeu às críticas e continuou seu trabalho, contando com o
apoio de cada vez mais pessoas. Com o passar do tempo, o Linux acabou
inclusive sendo portado para várias outras plataformas, o que
certamente contribuiu para o seu sucesso.
O nome Linux
O símbolo do Linux é o PINGUIM TUX |
O
projeto já era realidade, mas não tinha um nome. Inicialmente,
Torvalds atribuiu ao kernel a denominação Freax,
uma mistura de free
(livre)
com freak
(monstruoso,
esquisito) e a letra 'x', para lembrar o UNIX.
O
programador Ari
Lemmke,
depois de sugerir a Torvalds que colocasse o projeto em uma rede para
torná-lo mais acessível, decidiu criar no servidor de FTP que
hospedaria o software uma pasta de nome "linux" (muito
provavelmente, uma mistura de Linus com UNIX), já que não havia
gostado de Freak. A denominação "Linux" acabou "pegando"
e é, tal como você vê, utilizada até hoje.
GNU/Linux
Você
já deve ter visto em vários lugares - inclusive aqui no InfoWester
- a expressão GNU/Linux.
O que isso significa?
Tal
como você já sabe, o Linux, por si só, é um kernel. Sozinho, um
kernel não tem muita utilidade. É necessário "juntá-lo"
a um conjunto de softwares para que tenhamos, efetivamente, um
sistema operacional em condições de uso. É aí que o projeto GNU
entra.
GNU
é a sigla para um nome curioso: "GNU
is Not UNIX (GNU
Não é UNIX)". Trata-se de um projeto que teve início em 1984,
pelas mãos de Richard
Stallman,
que queria criar um sistema compatível com UNIX, mas sem utilizar
código deste.
Com
o passar dos anos, o projeto foi ganhando recursos, como compiladores
e editores de texto. Mas, faltava um elemento importantíssimo: um
kernel. Stallman e seus colaboradores estavam trabalhando em um
kernel de nome Hurd,
mas dada a demora em concluí-lo, muitos daqueles que precisavam ou
queriam usar software GNU decidiram recorrer a algo que souberam ser
capaz de atender à necessidade que tinham: o Linux.
Então,
basicamente, o Linux que temos hoje é conhecido por trabalhar em
conjunto com software GNU. Por isso, muitos integrantes e
simpatizantes de movimentos ligados ao software livre defendem a
ideia de que, quando houver referência ao sistema operacional como
um todo, o nome GNU/Linux
seja
utilizado. Acontece que, por comodidade ou simplesmente
desconhecimento, muitas pessoas criaram o hábito de chamar todo o
conjunto de Linux e não somente o kernel.
Distribuições Linux
Você
já sabe que o Linux, ao contrário de outros sistemas baseados no
UNIX ou mesmo deste, não é um sistema operacional como um todo.
Mas, sendo um kernel disponível de maneira gratuita e com
código-fonte aberto, qualquer pessoa ou organização pode juntá-lo
a um conjunto de softwares para criar um sistema operacional
customizado.
Ao
longo dos últimos anos, foi justamente isso que aconteceu. Vários
grupos ou mesmo empresas se organizaram e criaram seu próprio
sistema operacional baseado em Linux. Cada uma delas recebe o nome de
"distribuição Linux" (ou "distribuição
GNU/Linux").
Há
várias distribuições Linux por aí, para os mais diversos fins.
Muitas inclusive fazem parte de negócios rentáveis, onde a empresa
fornece, por exemplo, o sistema operacional de graça, mas obtém
receita a partir de serviços de suporte técnico. Naturalmente,
aquelas distribuições que se destinam ao segmento de usuários
domésticos são mais populares.
Para
o público em geral, a distribuição mais famosa é o Ubuntu,
da empresa Canonical.
Por padrão, são lançadas novas versões do Ubuntu em todos os
meses de abril e outubro de cada ano. Há um esquema de numeração
que ajuda a identificar a época de lançamento: a versão 11.10 do
Ubuntu, por exemplo, foi lançada em 2011, no mês de outubro. É
possível saber disso porque a indicação de ano aparece primeiro
(11) e, depois do ponto, vem a indicação do número do mês (10).
É
claro que há outras distribuições renomadas, entre elas:
- CentOS (com foco em servidores);
É
possível obter informações sobre estas e outras distribuições
Linux no site DistroWatch.com
(em
inglês).
Versões do kernel
Periodicamente,
novas versões do kernel Linux são lançadas. Atualizações são
naturais para qualquer software e ocorrem para atribuir melhorias a
determinadas funcionalidades, para corrigir falhas (bugs)
e, no caso de sistemas operacionais, para adicionar recursos
importantes ao kernel, principalmente compatibilidade com novos
hardwares.
Normalmente,
cada versão do kernel é representada por três números distintos
separados por pontos, por exemplo: 2.6.24. O primeiro número indica
a versão do kernel. O segundo número indica a última revisão
feita até o momento naquela versão. O terceiro número, por sua
vez, indica uma revisão menor, como se fosse uma "revisão da
última revisão" do kernel. Um quarto número pode ser
utilizado para indicar uma atualização importante naquela versão.
É
válido frisar que antes da série 2.6.x, a numeração do kernel
tinha o seguinte esquema: se o segundo número da representação
fosse ímpar, significava que aquela série ainda estava em
desenvolvimento, ou seja, era uma versão instável e em fase de
testes ou aperfeiçoamentos. Se o número fosse par, significava que
aquela série já tinha estabilidade para ser disponibilizada para
uso.
A
numeração sofreu outra mudança em julho de 2011, quando foi
lançada a versão 3.0 do Linux. Das versões 1.x para 2.x houve
significativas alterações no kernel. No entanto, da 2.x para a 3.x
não houve nada tão importante assim, tanto que, pelo esquema, esta
versão deveria ser 2.6.40.
Tudo
indica que a mudança aconteceu por uma questão de comodidade e
"estética". Há também quem afirma que a numeração 3.0
foi dada como forma de comemorar o aniversário do Linux, que
completou 20 anos de existência em 2011.
A licença do Linux
Uma
licença é, em poucas palavras, um documento que explica como
determinado software pode ser utilizado. No que se refere a programas
de código-fonte aberto, há vários tipos de licenças disponíveis.
O Linux utiliza a GPL
(GNU
Public Licence).
Vale
frisar que, inicialmente, Linus Torvalds aplicou ao Linux uma licença
própria, que tinha restrições para uso comercial. A GPL só foi
adotada somente em 1992, mesmo porque o Linux já era utilizado com
software GNU.
A
GPL é uma licença criada pela Free
Software Foundation (organização
fundada por Richard Stallman) baseada nas liberdades que a entidade
defende:
- liberdade de executar o programa, para qualquer propósito (liberdade zero);
- liberdade de estudar como o programa funciona e adaptá-lo às suas necessidades (liberdade 1), sendo o acesso ao código-fonte um pré-requisito para esta aspecto;
- liberdade de distribuir cópias de forma que você possa ajudar ao seu próximo (liberdade 2);
- liberdade de melhorar o programa e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie (liberdade três). Novamente, aqui o acesso ao código-fonte é um pré-requisito.
Um
software não pode utilizar a GPL se não corresponder a todos estes
requisitos.
A
GPL surgiu em 1989, mas foi revisada em 1991 para atender a
determinadas necessidades, resultando na GPLv2 (GPL versão dois). Em
2007, surgiu a GPLv3 (GPL versão três).
Finalizando
Você
pode até não ter Linux em seu computador, mas já o utilizou de
alguma forma. Por se tratar de um software gratuito, de código-fonte
aberto e amplamente disponível, é comum encontrá-lo nas mais
diversas aplicações. O servidor que hospeda o InfoWester, por
exemplo, roda uma distribuição Linux. Também é possível
encontrar este kernel em sistemas embarcados, caixas eletrônicos,
dispositivos portáteis, entre outros.
COLABORADOR:
AGNALDO CURVELLO GALDINO
Técnico
em Informática: Formando do Colégio Estadual
Buarque de Nazareth, Itaperuna-RJ.
Formado
em CABEAMENTOS E REDES: Formado pelo CETEP-Itaperuna-RJ
Formado
em Montagem e Manutenção em micros: Formado
pelo CETEP-Itaperuna-RJ
Comentários
Postar um comentário
È necessário evitarmos frases que contenham palavras de baixo calão,ofensas,xingamentos,racismo e/ou qualquer insinuação de apologia a drogas ou crimes.