Escolar Documentos
Profissional Documentos
Cultura Documentos
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.
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:
É 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:
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.
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
É 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
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
4.4) MySQL
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
5.2) KDE
5.3) XFCE
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.
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.