Você está na página 1de 12

LINUX: UM POUCO DA HISTÓRIA E SEU USO HOJE

1- Introdução

O que é o LINUX?
LINUX é um sistema operacional aberto criado pelo finlandês Linus Torvalds.
Por sistema operacional entende-se um ou mais programas que são capazes de
abstrair as complexidades de hardware, capazes de gerenciar memória e acesso
a dispositivos (impressoras, hds, scanners). Sem um sistema operacional seria
impraticável a construção de programas, uma vez que estes deveriam conhecer
toda a arquitetura de hardware. O hardware de uma máquina está sujeito a
mudanças além do que os programas, geralmente, não são escritos para
arquiteturas de hardware especificas. Indo mais a fundo na discussão podemos
dizer que o LINUX é um kernel, ou seja, o núcleo de um sistema maior
denominado GNU/LINUX. Talvez recaia neste momento uma dúvida: o que é
exatamente um kernel? Um kernel é um núcleo de um sistema operacional, é
uma camada de software mais próxima do hardware e responsável pela
comunicação dos programas acima dela com o hardware mais abaixo. Se um
sistema não tivesse kernel, que é uma camada de abstração, todos os
programas, isto é, os aplicativos e o restante do sistema operacional acima
deveriam ter sua própria implementação de como se comunicar com o
hardware e a consequência, sem dúvidas, seria a complexidade demasiada do
projeto. Dada esta introdução de fundamental importância ao entendimento do
projeto LINUX, será colocado mais adiante neste trabalho a história, as
características do kernel e alguns aplicativos desenvolvidos especialmente para
o sistema do Pinguim.

Tux: o símbolo do Linux

2- História

2.1) O UNIX
Para entender as origens do sistema LINUX deve-se olhar a história de
outro sistema operacional: o UNIX. O Unix é um sistema operacional que teve sua
primeira versão desenvolvida em 1965 por engenheiros (Ken Thompson, Dennis
Ritchie, Douglas McIlroy e Peter Weiner) do Bell Labs (AT & T). Na época o sistema
se chamava MULTICS (Multiplexed Information and Computing Service ) e era uma
ideia extremamente avançada naquele contexto. É interessante destacar alguns
conceitos apresentados neste sistema:

➢ Segmentação da memória: a memória era dividida em blocos e o acesso aos


arquivos do disco funcionavam de modo integrado a este acesso a memória
➢ Memória virtual: parte de outros dispositivos de armazenamento poderiam ser
usados como memória principal.
➢ Implementação em linguagem de alto nível: no contexto da criação do
MULTICS as linguagens predominantes para a construção de SO ainda era
assembler.
➢ Banco de dados relacional: o MULTICS foi o primeiro SO a implementar um
banco de dados relacional: o MRDS.
➢ Segurança: foi o primeiro sistema operacional a receber o prêmio a
qualificação B2 dada pelo governo americano.

Apesar do esforço o projeto do MULTICS acabou-se mostrando infrutífero.


Mais tarde (1973) Ken Thompson e Dennis Ritchie acabariam por reescrever o
projeto em linguagem C com um PDP 11 e com o nome de UNIX.

Criadores do UNIX (Ken Thompson e Dennis


Ritchie)

A arquitetura do sistema se divide em:

➢ Núcleo: o kernel que é executado numa área de memória protegida. Suas


tarefas são:
➢ Agenda processos;
➢ Gerencia a memória;
➢ Controle de acesso a arquivos;
➢ Controle de acesso a outros dispositivos.

➢ Programas: as aplicações propriamente ditas e que são a camada entre o kernel


e o usuário. Sua estrutura é basicamente a seguinte:
➢ Bibliotecas;
➢ Shell: uma interface para o usuário digitar seus comandos;
➢ Programas diversos;
➢ Ambiente gráfico: hoje em dia extremamente necessário devido a
facilidade de uso.

2.2) A FSF (Free Software Foundation)

É uma organizacão sem fins lucrativos fundada por Richard Stallman em 1995.
Tal fundação tem como papel principal defender a bandeira do software livre (free
software em inglês). Esta expressão costuma causar confusão e dá-se a ideia de que o
software é gratuito e isso não é necessariamente verdade. O software livre está
baseado na ideia de liberdade onde a pessoa ou instituição que recebe o software
deve ter direito ao código fonte podendo alterá-lo conforme suas necessidades e
obrigada a distribuir suas melhorias sob a mesma licença que o software foi
“adquirido”. É verdade que muitos softwares livres são gratuitos e um exemplo
clássico é o Apache que é o servidor web mais usado no mundo e consagrado.
Uma das principais contribuições de Stallman ao projeto LINUX foi o fato de
que sua licença (Gnu Public License) foi usado por Linus Torvalds ao lançar a sua
primeira versão do kernel (a 0.1) e consequentemente esta licença se mantém ativa
até hoje. Os princípios que regem essa licença são:

➢ 0. Um programa pode ser executado para qualquer finalidade (liberdade nº 0).


➢ Pode-se estudar o programa e melhorá-lo de acordo com a necessidade
(liberdade nº 1). Obviamente é necessário o código-fonte para que isso seja
possível.
➢ Pode-se distribuir cópias do programa. (liberdade nº 2).
➢ Pode-se distribuir as modificações decorrentes da melhoria do código-fonte
(liberdade nº 3).

A GPL foi escrita em inglês e atualmente não há tradução válida em outros


idiomas pela Free Software Foundation com o argumento de que existe a
ameaça de introdução de equívocos de tradução que poderiam alterar o sentido
da licença. Assim, qualquer tradução da GPL não é oficial e apenas informativa
e mantém-se a obrigatoriedade de distribuir o texto oficial em inglês com os
programas.

2.3) O Projeto GNU

Foi um projeto iniciado por Richard Stallman em 1984 que visava a criação de
um sistema operacional 100% livre no qual toda pessoa teria o direito de estudar,
modificar e redistribuir essas modificações desde que para todos fosse garantido os
mesmos direitos.
Um dos objetivos do sistema era ser compatível com o UNIX mas sem usar o
código-fonte deste. Inclusive o nome GNU é um acrônimo para a expressão Gnu is
Not UNIX (GNU não é o UNIX).
De 1984 em diante vários programadores abraçaram a causa e passaram a
desenvolver as peças fundamentais de um só como editores de texto, compiladores e
demais utilitários.
O sistema já estava quase pronto em 1991, mas faltava a peça fundamental do
sistema: o kernel. O kernel em desenvolvimento era o Hurd, entretanto um jovem
finlandês tinha desenvolvido um núcleo que poderia ser compatível com o projeto.
Tal núcleo ficou conhecido como LINUX e o sistema como todo passou a ser
denominado GNU/LINUX.

Símbolo do projeto GNU

2.4) Linus Torvalds


O ano era 1991, Linus Torvalds estava a trabalhar no desenvolvimento de um
sistema estilo UNIX para rodar no seu 386. O sistema mais parecido com o UNIX e
de código-fonte disponível era o Minix (criado por Andrew S. Tanenbaum para dar
aulas sobre sistemas operacionais). No começo o kernel LINUX foi desenvolvido
nesse ambiente até o ponto onde este estava maduro o suficiente para poder gerar
novas versões em seu próprio ambiente, ou seja, Linus e seus colaboradores passaram
a usar o LINUX para desenvolver o próprio LINUX. Como já foi citado o LINUX
utiliza-se de ferramentas do projeto GNU, uma vez que este possui as ferramentas
que os usuários podem de fato usar, como editores de texto, softwares para edição de
imagens e todas as atividades que hoje os usuários costumam realizar nos
computadores.

Linus Torvalds: criador do


primeiro kernel Linux.

3- As distribuições LINUX
3.1) O que é uma distribuição?
Uma distribuição LINUX é um conjunto de programas (kernel e os demais
aplicativos, daí a razão do nome GNU/LINUX). Inúmeras são as distribuições hoje
encontradas e o que se diferencia entre cada uma é a quantidade de drivers, o
gerenciamento de atualizações dos programas da distribuição (chamados de pacotes)
e o ambiente gráfico que cada uma usa. Obviamente isto é o que a distribuição tem
por default e nada impede que o usuário faça a sua própria distribuição. Em seguida
será listada as principais distribuições e as características nela encontradas.
3.1.1) Debian

Projeto iniciado em 1993 por Ian Murdock (na época estudante universitário) e
de fortemente atrelada a ideia GNU/LINUX. Esta distribuição é muito utilizada em
servidores devido ao uso de softwares bem testados. Uma distribuição (em sua versão
completa) possui aproximadamente 25 000 programas. O Gerenciamento de pacotes é
feito através do sistema APT e permite de modo fácil e seguro instalação de novos
programas bem como a atualizações dos já instalados. Existe o projeto de portar a
distribuição do sistema para outros núcleos (como o Hurd do projeto GNU e o BSD).
Inspirou diversas outras distribuições como Ubuntu, Kurumin (versão brasileira que
foi descontinuada), Knoppix (live cd muito conhecido) entre outros. Uma curiosidade
é o nome da distribuição que veio do nome do fundador do projeto (Ian Murdock) e
de sua ex-mulher (Debra). A versão atual é 5.0 com o nome de Lenny.
3.1.2) Slackware

Criada em 1993 por Patrick Volkerding é uma das distribuições mais


complexas do LINUX, pois não possui qualquer ferramenta de configuração
automática e tem como objetivo se manter fiel ao sistema operacional pai (UNIX). O
objetivo desta distribuição é mostrar o real funcionamento do sistema e seu uso é
recomendado para aqueles que querem aprender mesmo como funciona o sistema
LINUX e suas configurações. Os programas da distribuição são bem estáveis e o
gerenciador de pacotes é o pkgtool. O termo slackware deriva de duas palavras de
origem inglesa, o primeiro (slack) significa preguiça e o segundo (ware) produto. A
filosofia corrente é que esta distribuição é fruto de um trabalho demorado. As
configurações são feitas sempre em arquivos de texto e este é o modo preferido de
usuários mais experientes configurarem seus sistemas. A versão atual é a 13.1.
3.1.3) Red Hat

É uma distribuição criada e mantida pela Red Hat (uma empresa dos Estados
Unidos). Foi a primeira distribuição a usar o conceito de pacotes cujo objetivo é
simplesmente facilitar a atualização de programas. Começou como um projeto de
programadores da Carolina do Norte (EUA) que visava a criação de um sistema mais
fácil de ser operado. Hoje o mercado principal do Red Hat é o mercado de servidores.
Utiliza o sistema RPM (Red Hat Packet Manager) para o gerenciamento de pacotes.
A versão atual é a 5.5.
3.1.4) OpenSuse

Hoje a distribuição OpenSUSE é mantida pela Novell (que adquiriu a


distribuição em janeiro de 2004). O principal utilitário do OpenSUSE é o Yast que
possibilita a configuração de diversos elementos do sistema. O mascote do projeto é
comumente confundido com um lagarto, mas é um camaleão cujo nome é Geeko. A
versão atual é a 11.2.
3.1.5) Ubuntu

É a mais popular versão do GNU/LINUX (derivada do Debian) hoje e ocupa o


primeiro lugar no site distrowatch. Sua filosofia básica é que qualquer pessoa possa
utilizá-la independentemente de sua nacionalidade ou limitações físicas e sem custo
algum. O projeto é mantido pela Canonical Ltd. A distbuição vem com uma série de
aplicativos (como a suite OpenOffice e o navegador Mozilla Firefox) e constantes
atualizações. A imagem cabe no cd, mas se a pessoa não dispor de uma internet
rápida poderá solicitar um cd com a imagem já gravada sem qualquer custo. Se o
usuário decidir experimentá-lo poderá usar o cd como live-cd sem precisar instalar
qualquer sistema em seu computador (esse recurso é comum a várias distribuições).
Seu nome (Ubuntu) significa “humanidade para com os outros”). A versão atual é a
10.04 (Lucid Lynx).
3.1.6) Fedora

É uma distribuição desktop mantida pela Red Hat. Utiliza o gerenciamento de


pacotes RPM através do utilitário YUM. É de fácil utilização e pode ser usado tanto
como servidor como em estações domésticas. Está atualmente na versão 13.

4- Aplicativos LINUX
Será mostrado a seguir uma série de programas que rodam sobre as diversas
distribuições GNU/LINUX.
4.1) GCC
O GNU Compiler Collection é um conjunto de compiladores criados
originalmente por Richard Stallman no projeto GNU no ano de 1987. É um software
livre e mantido pela Free Software Foundation (daí sua licença ser a GPL) e é vital
pro projeto GNU, pois é através deste que grande parte dos aplicativos são
compilados em distribuições GNU/LINUX. É o compilador padrão para sistemas
estilo UNIX e até Mac OS. Originalmente o compilador suportava linguagem C e
com o tempo e ajuda de colaboradores ao redor do mundo este software cresceu a
passou a suportar as seguintes linguagens:
➢ Ada (GCC for Ada ou GNAT)
➢ C
➢ C++ (GCC for C++ ou G++)
➢ Fortran (GCC for Fortran ou GFortran)
➢ Java (GCC for Java ou GCJ)
➢ Objective-C
➢ Pascal
4.2) Apache HTTP Server

É o servidor web mais usado no mundo. Foi criado em 1995 por Rob MacCool
então NCSA (National Center for Supercomputing Application). Hoje é mantido pela
Apache Software Foundation. O servidor é compatível com o HTTP 1.1. Funciona
em diversos sistemas operacionais (Windows, FreeBSD, UNIX, LINUX). A razão
para o nome se deve a uma antiga tribo indígena que vivia na América do norte que
tinha no combate grande resistência e estratégias superiores o que seria uma alusão da
comunidade de software livre aos ataques de interesses privados. Segundo só dados
do site NetCraft o apache é usado em aproximadamente 55% dos servidores erb do
mundo. Atualmente a versão estável é a 2.2.
4.3) OpenOffice

Suíte de aplicativos de escritório baseada na antiga versão do StarOffice 5.1


que foi adquirido pela Sun em 1999. O objetivo inicial do projeto era desenvolver
uma conjunto de aplicativos de baixo custo e com alta qualidade. Este conjunto de
software é compatível com os arquivos gerador por outra suíte de escritório bem mais
conhecida: o Microsoft Office. A suíte é composta pelos seguintes aplicativos:
➢ OpenOffice.org Writer: processador de texto estilo Microsoft Word. A
extensão padrão deste aplicativo é a odt (que obedece ao padrão Open
Document Format, um arquivo zipado contendo arquivos em XML). É capaz
de exportar diretamente em PDF (Portable Document Format). Aceita diversos
outros formatos de arquivos como Lotus Pro Word e Word Perfect.
➢ OpenOffice.org Impress: programa para visualizar e criar apresentações de
slides muito similar ao Power Point. É capaz de exportar as apresentações em
formato flash. Uma desvantagem é falta de modelos prontos sendo sempre
necessário o uso de modelos a parte.
➢ OpenOffice.org Math: é um edito de fórmulas ideal para quem aplica provas.
Equivale ao Microsoft Equation Editor.
➢ OpenOffice.org Draw: ferramenta para criação de desenhos de várias
naturezas. Pode usar o conceito de desenho vetorial e inclusão de vários tipo de
mídias como filmes, sons entre outras coisas.
➢ OpenOffice.org Calc: similar ao Excel da Microsoft possuindo uma série de
funções não presentes neste. Pode importar dados de outros formatos como
Lotus e SYLK.
➢ OpenOffice.org Base: ferramenta similar ao Acess. Não é usado para grandes
bancos de dados, apenas para banco de dados pequeno porte.

4.4) MySQL

Um sistema gerenciador de banco de dados criado por David Axmark, Allan


Larsson e Michael Widenius. Hoje o projeto é mantido por aproximadamente 400
profissionais ao redor do mundo. Em 2008 a empresa desenvolvedora (MySql AB)
foi adquirida por 1 bilhão de dólares pela Sun. Alguns dos órgãos ou empresas que o
utilizam são a NASA, Cisco e Google. É um dos bancos de dados mais populares do
mundo principalmente devido a fácil integração com a linguagem PHP (muito
utilizada para criar páginas dinâmicas na web). Roda em diversos sistemas
operacionais (Windows, LINUX, Mac) e compatível com diversas linguagens de
programação.

5- Ambientes gráficos
Uma grande vantagem dos sistemas LINUX (e também Unix) é a
independência de ambiente gráfico. Através do sistema X Window System ou
simplesmente X que funciona como um protocolo que possibilita o uso de uma
interface gráfica. Embora seja usado em sistemas unix-like também tem versões para
Windows e Mac. Este servidor pode tanto local quanto remoto. A seguir será
apresentado os gerenciadores de janelas, isto é, o conjunto de softwares que são a
aparência do sistema e que rodam sobre esse sistema X.
5.1) GNOME

O projeto foi iniciado em 1997 pelos mexicanos Miguel de Icaza e Federico


Mena Quintero. É um acrônimo de GNU Network Object Model Environment.
Atualmente é mantido pela fundação GNOME e é totalmente escrito em C, usando a
biblioteca GTK. Permite a utilização das seguintes linguagens de programação: C++,
Python, Java e Perl. Atualmente está na versão 2.28. O projeto tem as seguintes
metas:
➢ Acessibilidade - garantir que o ambiente poderá ser usado por qualquer
individuo, independentemente de habilidades técnicas, ou deficiências físicas.
➢ Liberdade – o código-fonte estará sempre disponível para reutilização.
➢ Suporte – dar suporte a Instituições fora da comunidade GNOME.
➢ Internacionalização – tornar ambiente disponível em vários idiomas. Agora o
GNOME é vertido para mais de 160 idiomas.
➢ Facilidade para o desenvolvedor – o ambiente deve prover facilidade de
integração aos softwares e também devem permitir que o programador use a
linguagem de sua preferência.
➢ Organização – período de lançamentos regulares e disciplinados.

5.2) KDE

Ambiente gráfico voltado para sistemas UNIX like e é baseado na biblioteca


gráfica QT que é propriedade da Nokia. A sede do projeto fica numa cidade alemã
cujo nome é Tübingen.
O nome era um acrônimo para K Desktop Enviroment, mas a partir de 2009 o
projeto deixou de usar o nome extenso. A primeira versão foi lançada em 12 de julho
de 1998 e tinha um painel composto por barras de tarefas e um lançador de
aplicações. Convém lembrar que o KDE não é apenas um gerenciador de janelas (já
que está tarefa é do Kwin, um pedaço do KDE), mas sim uma suíte de aplicativos que
inclui softwares como:
➢ Kate: destinado a edição de textos;
➢ Amarok: gerenciador de músicas;
➢ K3B: um programa capaz de gravar DVDs e Cds;
➢ Kcalc: uma calculadora simples;
➢ Kmail: um cliente de e-mail;
➢ Koffice: uma suíte de escritório que inclui Kword (edição de texto),
Kpresenter (apresentações), Kspread (editor de planilhas), Krita (editor de
imagens) entre outros.
➢ Okular: leitor de pdf;
➢ Ark: compressor e descompactador de arquivos;
➢ Kdenlive: editor de vídeo.

5.3) XFCE

É um ambiente gráfico que roda sobre o servidor gráfico X em sistemas UNIX


e similares. Utiliza a biblioteca GTK +2 e torna-o parecido com o GNOME. A
diferença está no fato deste ambiente consumir menos recursos da máquina que o
GNOME (que é considerador excessivamente pesado) e é a escolha de muitos
usuários que desejam conciliar beleza e desempenho. O projeto foi iniciado por
Olivier Fourdan e atualmente é mantidor por uma série de colaboradores
principalmente europeus. Atualmente está na versão 4.6.2.

6- Sistema de Arquivos
O Linux oferece suporte a diversos sistemas de arquivos. Cabe aqui a definição
de sistema de arquivos: é a forma de organização dos dados em um meio de
armazenamento em massa. Dada a definição vejamos quais são os sistemas de
arquivos mais usados:
➢ EXT: o extended file system foi o primeiro sistema de arquivos criado
especificamente para o Linux. Ele foi desenvolvido por Rémy Card para
substituir o sistema de arquivos do MINIX (Minix FS), que havia sido
inicialmente utilizado por Linus Torvalds para o recém-criado Linux. O
tamanho máximo para uma partição era de 2 GB e para um arquivo específico
o mesmo tamanho.
➢ EXT2: o Second Extended file system é um sistema de arquivos para
dispositivos de blocos (disco rígido, disquete, pen drive). Foi desenvolvido
para o Linux por Rémy Card para substituir o Ext (Extended file system), que
também havia sido criado por Rémy Card.
➢ EXT3: O Ext3 (Third Extended file system) é um sistema de arquivos
desenvolvido por Stephen C. Tweedie para o Linux, que acrescenta alguns
recursos ao Ext2, dos quais o mais visível é o journaling.
➢ REISERFS: Criado por Hans Reiser e inicialmente mantido pela empresa The
Naming System Venture (Namesys) , o ReiserFS foi o primeiro sistema de
arquivos com suporte a “journaling” incluído no núcleo Linux 2.4+. São seus
patrocinadores as empresas Novell e Linspire, embora a Novell tenha
anunciado em Outubro de 2006 que o sistema de arquivos selecionado por
omissão no Suse Linux passou a ser o ext3.

Comparativo dos sistemas de arquivos Linux


Tipo EXT EXT2 EXT3 EXT4 REISERFS
Tamanho 2 GB 4 TB 32 TB 1 EB 16 TB
max.

7- Conclusão
O sistema operacional GNU/LINUX tem grandes chances de crescer no
mercado. Hoje é muito utilizado no mercado de servidores e com a popularização dos
computadores e busca por um baixo custo nestes equipamentes este sistema tem sido
cada vez mais a preferência de muitos fabricantes. Além da robustez, da maior
facilidade na operação do sistema bem como a grande segurança é uma boa ideia
introduzi-lo no mercado de Desktops também.

Você também pode gostar