Linux

Linux by Grossmann

Definições Importantes

O Linux introduziu novos conceitos e novas idéias em um mundo acostumado a soluções prontas e a "caixas pretas". Para quem está recém chegando ao mundo Linux, existe um mundo de conceitos e idéias a serem aprendidos e compreendidos. Alguns conceitos são essenciais para quem quer que esteja se aventurando, outros são apenas curiosidade, e interessam mais a usuários mais versados no lado técnico das coisas.


  Linux  

O Linux é um núcleo de sistema operacional multitarefa, e multiusuário, o que significa que em uma máquina podem haver vários usuários logados, executando diferentes tarefas ao mesmo tempo.

Entre as atividades que o Linux deve executar, incluem-se a administração dos recursos do computador: ele deve impedir que dois processos concorrentes obtenham acesso exclusivo a um recurso, bem como impedir que algum usuário monopolize o uso do sistema. Tarefas executadas na memória devem ser corretamente carregadas e descarregadas, e a troca de tarefas, que o torna realmente multitarefa, deve ser executada sem comprometimento de dados ou da segurança da máquina.

Na administração da integridade dos dados, uma tarefa não pode ter acesso aos dados de outra tarefa, a não ser por meios legítimos (comunicação inter-processos). Da mesma forma, as tarefas de um usuário não devem interferir nas tarefas de outro usuário, exceto por meios legítimos (novamente, comunicações inter-processos). O sistema operacional deve estar protegido de tarefas mal-comportadas ou mal-escritas, bem como deve proteger outras tarefas, evitando a corrupção de memória e de disco. Hardware defeituoso também deve ser um fator em vista: se falhar, o sistema operacional deve fazê-lo em condições controladas, se possível protegendo dados na memória e gerando informações que permitam o diagnóstico “post-mortem”.

Em tudo isto o Linux se destaca de outros sistemas operacionais. Não só possui uma boa estabilidade, como também boa confiabilidade. A cada nova versão do mesmo novas funcionalidades são acrescentadas, e o conjunto todo cresce. A cada release menor (tipo, do 2.0.30 para o 2.0.31), o Linux torna-se mais estável e confiável.


  Portes  

O Linux foi portado para diversas plataformas. Isto significa que ele pode ser executado em computadores que usam outros tipos de processadores, além do 386 e seus “descendentes” (Pentium, PentiumPro, Pentium II, Celeron, Xeon). De acordo com o Hardware HOWTO, as seguintes plataformas são suportadas:

Além destas, plataformas mais modernas, como o recente chip Itanium, e praticamente toda a linha de processadores Intel e compatíveis (AMD, Cyrix) também é suportada pelo Linux. Acrescente-se a isto o mercado de eletrônica embarcada, para o qual já existem ports do Linux, iniciativas como o Linux para PlayStation e PlayStation II. Provavelmente o Linux é o Sistema Operacional que suporta o maior número de plataformas diferentes.

Some-se a isto as mais diferentes atividades que tem sido executadas com o auxílio do Linux, como servidor (arquivos, web, correio eletrônico, autenticação, banco de dados, backup remoto), como conector (roteador, firewall, servidor de acesso discado), como desktop tanto por usuários domésticos quanto corporativos, em aplicações especiais (auxiliar na conexão de espaçonaves na Estação Espacial Internacional, executando cálculos em grupos de computadores, que simulam supercomputadores, na renderização e geração de imagens digitais para filmes) e tem-se uma vaga idéia do uso que já foi encontrado para o Linux, e o potencial que ele tem para o futuro.


  Distribuições  

Mas o Linux é apenas um núcleo, apenas uma pequena parte do que está funcionando em um computador, quando o mesmo está em uso. O núcleo do sistema operacional tem por responsabilidade interagir com o hardware, e coordenar o acesso ao mesmo.

O resto são programas com as mais diferentes utilizações: desde aplicativos para a administração do computador, como o LinuxConf e o WebMin, a aplicativos que oferecem serviços para os usuários, como o SAMBA e o Apache, passando por programas de automação de escritório, como o StarOffice e o OpenOffice, a programas para navegação na Internet, como o Netscape Communicator e o Mozilla.

A maioria destes programas é fornecida com o Linux, no que se convencionou chamar de “distribuição Linux”, ou apenas “distro”..

Uma distribuição Linux nada mais é que uma mídia contendo um núcleo do Linux, mais um bando de programas necessários e outros nem tanto, mais um programa ou script que auxiliam o usuário a instalar tudo isto no computador.

Inicialmente o Linux era distribuído como um arquivo .tar.gz que continha os fontes, mais alguma instrução mínima para que o usuário (normalmente um programador que já conhecia UNIX e C) fizesse a instalação e compilação do mesmo.

Hoje temos literalmente dezenas de distribuições, desde distribuições genéricas, como o Conectiva Linux e Red Hat Linux, a mini distribuições, como o muLinux. Existem distribuições voltadas para atividades específicas, como o SmoothWall e FreeSCO. Existem distribuições voltadas para o mercado de um determinado país ou região do planeta, como o Red Flag Linux, e temos também a possibilidade de instalar o Linux a partir do zero, a partir das instruções do Linux-from-Scratch.


  LUG  

Outro fenômeno interessante que ocorreu com o surgimento do Linux é o surgimento de grupos de usuários Linux, ou “LUGs”. Como uma comunidade, uma LUG é organizada em torno de um interesse comum: promover o crescimento do Linux na comunidade local. Encontram-se em LUG's desde hackers que passam noites em claro a programar, a novatos, que recém ouviram falar o Linux, de empresários a técnicos de informática, de estudantes a engenheiros. Apenas um ponto em comum: o gosto pelo Linux.

Para quem estiver interessado na criação de um grupo de usuários Linux, existem dicas para isto no User Group HOWTO, um guia para a fundação, manutenção e crescimento de um Grupo de Usuários Linux.


  Particionamento  

Em um computador com o Linux instalado, a organização dos discos é diferente. Em primeiro lugar, o Linux não utiliza o mesmo método de organização de discos que o MS-DOS/Windows® (a saber, FAT e FAT32), mas um sistema derivado do sistema utilizado no UNIX, e baseado no conceito de inodes. De forma bem simples, o disco é reduzido a uma estrutura de dados semelhante a uma árvore ou lista ligada, incompatível, portanto, com o sistema FAT. Existe, é claro, a possibilidade de instalar o Linux em sistemas FAT, mas a confiabilidade e performance do mesmo cai bastante neste tipo de sistema (que é menos confiável e de performance mais pobre que o sistema nativo do Linux).

Outra diferença é que o Linux utiliza, normalmente, dois tipos de sistemas de arquivos: um para o sistema de arquivos, propriamente dito, e outro para a área de troca, ou memória virtual.

Por isto, sempre que for feita uma instalação do Linux, é necessário um reparticionamento dos discos que serão utilizados. O particionamento pode ser destrutivo (são perdidos quaisquer dados pré-existentes no disco) ou não (é utilizada uma partição vazia ou um espaço em disco deixado assim para este propósito).

Maiores informações sobre o processo de particionamento podem ser obtidas no Linux Partition mini HOWTO, que discute a fundo este aspecto da instalação do Linux. Outra fonte de informações alternativa é o manual ou guia de instalação da sua distribuição preferida.


  Desfragmentação  

Muitos dos novos usuários Linux já possuem uma experiência com o MS-DOS® ou com o MS Windows®. Estes sistemas operacionais são instalados em sistemas de arquivos tipo FAT, que causam um impacto sensível na performance do sistema operacional como um todo, após algum tempo de operação, devido ao que ficou conhecido como fragmentação de arquivos.

O sistema de arquivos próprio do Linux é o Second Extended FileSystem, ou ext2 para os íntimos. Ele foi projetado para manter a fragmentação em um valor máximo de 5%, aproximadamente. Isto significa, entre outras coisas, que uma desfragmentação vai causar pouco impacto na performance do sistema como um todo.

Outro detalhe apontado no Linux Partition mini HOWTO, é que se você estiver desfragmentando seu disco e houver uma queda de energia, as chances de que você tenha uma perda de dados é grande. Em vez de utilizar uma ferramenta de desfragmentação, experimente copiar os arquivos para um outro disco, apagar os originais e então copiar os mesmos novamente para seus locais de origem - geralmente é só o que se precisa para desfragmentar o disco.


  Licença  

O Linux é distribuído sob a licença pública GNU, ou GPL. Boa parte dos programas distribuídos junto com o Linux também o é sob esta mesma licença.

A GPL permite ao usuário instalar o programa e redistribuir o mesmo sem qualquer limite, desde que sob a mesma licença GNU. Outra coisa que a GPL obriga é que quem distribui um programa sob a mesma deve também disponibilizar o código fonte do mesmo.

Para o usuário, isto significa que, uma vez adquirido o programa, ele pode instalar o mesmo em quantos computadores quiser. Pode também fazer cópias e vender/emprestar/doar as mesmas a quantas pessoas ele quiser/puder, desde que a mesma licença seja repassada a quem receber o programa, bem como o acesso ao código fonte seja mantido.

Para programadores, a GPL permite que se examine um programa que esteja funcionando para aprender novas técnicas. Também é permitido fazer alterações nestes programas visando estender ou melhorar o mesmo. Se estas alterações forem redistribuídas, o serão sob a mesma GPL. Atenção deve ser tomada, entretanto, ao se criar software usando código GPL. Se você aproveitar um trecho de código de programa sob a GPL no seu programa, automaticamente a licença GNU deve ser aplicada ao seu programa. Se você não concorda com isto, deve abster-se de copiar código GPL para o seu programa. Mas ainda pode estudar o código GPL para aprender novas técnicas.

Para as empresas, usar programas que estejam sob a GPL significa que elas podem manter uma equipe de programadores dedicada a aperfeiçoar um programa que eles utilizem bastante. Significa também que um programa não sofrerá solução de continuidade tão facilmente: se o criador abandonar o programa, outro programador/equipe pode assumir o desenvolvimento do programa. E, com os fontes disponíveis, o suporte ao programa também pode ser aperfeiçoado, problemas podem ser verificados junto ao fonte do programa, e correções/sugestões podem ser repassadas ao criador, fazendo, desta forma, que o programa evolua. Outro fator atrativo no software GPL é que não existem custos de licenças. Instalar o Linux em um ou em 100 máquinas só tem o acréscimo da mão-de-obra. Da mesma forma, a maioria dos programas distribuídos com o Linux também o são sob a GPL, significando que as restrições para seu uso/distribuição são as mesmas.

A licença GNU é bastante simples no seu conceito, mas bastante complexa nas suas conseqüências. Reconhecendo isto, a FSF colocou um FAQ, ou “Respostas a Perguntas Freqüentes” na página do projeto GNU, em http://www.gnu.org/.

Por fim, quero lembrar que nem todos os programas distribuídos com os CD's de Linux são GPL. Alguns são shareware, outros são versões de demonstração, e existem ainda programas que podem ser instalados, desde que não em ambientes de produção. Sempre que for utilizar um software de empresas como Oracle, IBM, Lotus, Sun e outras, verifique qual a licença de uso do mesmo. E lembre-se: Free Software significa “Software Livre”.



© 2001 César A. K. Grossmann
Esta página é OpenContent, e pode ser utilizada nos termos da OpenContent License.
1