Programação
 › Algoritmo  › C/C++  › Java
Web
 › HTML/XHTML  › JavaScript  › PHP
Sistema Operacional
 › Comandos de DOS  › Windows  › Linux  › Mac/BSD
Office
 › Word / Writer  › Excel / Calc
Áreas do Site
 › Download  › Fórum  › Blog
Recomendamos
Computadores e Informática em Lisboa

Linux

Linux é um sistema operativo derivado do Unix que foi desenvolvido por Linus Torvalds inspirado no sistema Minix, que por sua vez é uma versão simplificada do Unix, e que por fim proveio do sistema Multics, isto é, o primeiro sistema operacional de tempo compartilhado (CTSS - Compatible Timesharing System). O Linux é um dos mais proeminentes exemplos de desenvolvimento com código aberto e de software livre. O seu código fonte está disponível sob licença GPL para qualquer pessoa utilizar, estudar, modificar e distribuir livremente.

Inicialmente desenvolvido e utilizado por nichos de entusiastas em computadores pessoais, o sistema Linux passou a ter a colaboração de grandes empresas, como a IBM, a Sun Microsystems, a Hewlett-Packard, e a Novell, ascendendo como principal sistema operacional para servidores -- oito dos dez serviços de hospedagem mais confiáveis da Internet utilizam o sistema Linux em seus servidores web.

Um sistema Linux é capaz de funcionar em um grande número de arquiteturas computacionais. É utilizado em supercomputadores, computadores pessoais e até em aparelhos celulares.

O Linux é na verdade o núcleo dos sistemas operacionais Linux, de forma que todo sistema operacional que tem o núcleo Linux como base, é chamado genéricamente de Linux. Richard M. Stallman, criador e líder do projeto GNU,solicita aos usuários e programadores que se refiram a sistemas baseados no Linux como GNU/Linux pois vários sistemas operacionais Linux construídos em torno do seu núcleo ou kernel utilizam como base, os programas do projeto GNU, que oferecem interpretador de comandos,utilitários,bibliotecas de software bibliotecas,compiladores,etc. Contudo não é necessário utilizar os programas desenvolvidos pelo projeto GNU para o funcionamento de um sistema operacional Linux, podemos utilizar outros programas desenvolvidos por outros grupos ou indivíduos, e mesmo criarmos nossa própria distribuição Linux sem usar qualquer programa desenvolvido pelo projeto GNU. Esta é uma das razões responsáveis pela controvérsia da nomenclatura Linux e GNU/Linux. A princípio os programas livres vinham em sua grande maioria do projeto GNU, hoje em dia, isto já é não é mais verdade e existem diversos grupos de desenvolvedores atuando no universo dos sistemas Linux, entre eles: Apache, Mozilla, OpenOffice, KDE, wine, mySQL, PostGreSQL, etc, Logo há vários programadores que discordam da visão de Stallman, assim como aqueles que concordam.

História

O Kernel Linux foi, originalmente, escrito por Linus Torvalds do Departamento de Ciência da Computação da Universidade de Helsinki, Finlândia, com a ajuda de vários programadores voluntários através da Usenet.

Linus TorvaldsLinus Torvalds começou o desenvolvimento do kernel como um projeto particular, inspirado pelo seu interesse no Minix, um pequeno sistema UNIX desenvolvido por Andrew S. Tanenbaum. Ele limitou-se a criar, nas suas próprias palavras, "um Minix melhor que o Minix" ("a better Minix than Minix"). E depois de algum tempo de trabalho no projecto, sozinho, ele enviou a seguinte mensagem para comp.os.minix:

Você suspira pelos bons tempos do Minix-1.1, quando os homens eram homens e escreviam seus próprios "device drivers"?[5] Você está sem um bom projeto em mãos e está desejando trabalhar num S.O. que você possa modificar de acordo com as suas necessidades? Está achando frustrante quando tudo funciona no Minix? Chega de noite ao computador para conseguir que os programas funcionem? Então esta mensagem pode ser exatamente para você.

Como eu mencionei há um mês atrás, estou trabalhando numa versão independente de um S.O. similar ao Minix para computadores AT-386.

Ele está, finalmente, próximo do estado em que poderá ser utilizado (embora possa não ser o que você está esperando), e eu estou disposto a disponibilizar o código-fonte para ampla distribuição. Ele está na versão 0.02... contudo eu tive sucesso ao executar bash, gcc, gnu-make, gnu-sed, compressão, etc. nele.

Curiosamente, o nome Linux foi criado por Ari Lemmke, administrador do site ftp.funet.fi que deu esse nome ao diretório FTP onde o kernel Linux estava inicialmente disponível [6] (Linus tinha-o baptizado como "Freax", inicialmente).

No dia 5 de outubro de 1991 Linus Torvalds anunciou a primeira versão "oficial" do kernel Linux, versão 0.02. Desde então muitos programadores têm respondido ao seu chamado, e têm ajudado a fazer do Linux o sistema operacional que é hoje.

Núcleo (kernel)

O termo Linux refere-se, na verdade, ao Núcleo (ou "cerne", "coração", do inglês kernel) do sistema operacional (SO). Contudo o termo é usado, normalmente, pelos meios de comunicação e usuários, para referir-se aos sistemas operacionais baseados no núcleo Linux agregado a outros programas. Segundo Tanenbaum e Silberschatz, um kernel ou núcleo pode ser considerado o próprio SO, quando este é definido como um gerenciador de recursos de hardware.

Arquitetura

O Linux é um kernel monolítico. Isto significa que as funções do kernel (agendamento de processos, gerenciamento de memória, operações de entrada e saída, acesso ao sistema de arquivos) são executadas no espaço do kernel. Uma característica do kernel Linux é que algumas das funções (drivers de dispositivos, suporte à rede, sistemas de arquivo, por exemplo) podem ser compiladas e executadas como módulos (LKM - loadable kernel modules), que são bibliotecas compiladas separadamente da parte principal do kernel e podem ser carregadas e descarregadas após o kernel estar em execução.

Portabilidade

Embora Linus Torvalds não tenha tido como objetivo inicial tornar o Linux um sistema portável, ele evoluiu nessa direção. Linux é hoje, na verdade, um dos núcleos (kernels) de sistema operacional com mais portabilidade, correndo em sistemas desde o iPaq (um computador portátil) até o IBM S/390 (um denso e altamente custoso mainframe)

De qualquer modo, é importante notar que os esforços de Linus foram também dirigidos a um diferente tipo de portabilidade. Portabilidade, de acordo com Linus, era a habilidade de facilmente compilar aplicações de uma variedade de fontes no seu sistema; portanto o Linux originalmente tornou-se popular em parte devido ao esforço para que as fontes GPL ou outras favoritas de todos corressem em Linux.

O Linux hoje funciona em dezenas de plataformas, desde mainframes até um relógio de pulso, passando por várias arquitecturas: x86 (Intel, AMD), x86-64 (Intel EM64T, AMD64), ARM, PowerPC, Alpha etc., com grande penetração também em sistemas embarcados, como handhelds, PVR, vídeo-jogos e centros multimídia, entre outros.

Termos de Licenciamento

Inicialmente, Torvalds lançou o Linux sob uma licença que proibia qualquer uso comercial. Isso foi mudado de imediato para a Licença Pública Geral GNU. Essa licença permite a distribuição e mesmo a venda de versões possivelmente modificadas do Linux mas requer que todas as cópias sejam lançadas dentro da mesma licença e acompanhadas do código fonte.

Apesar de alguns dos programadores que contribuem para o kernel permitirem que o seu código seja licenciado com GPL versão 2 ou posterior, grande parte do código (incluído as contribuições de Torvalds) menciona apenas a GPL versão 2. Isto faz com que o kernel como um todo esteja sob a versão 2 exclusivamente, não sendo de prever a adopção da nova GPLv3.

Sistemas de arquivos suportados

O Linux possui suporte de leitura e escrita, a vários sistemas de arquivos, de diversos sistemas operacionais, além de diversos sistemas nativos. Por isso em casos, em que o Linux é instalado em dual_boot, com outros sistemas, como Windows por exemplo, ou mesmo funcionando como LiveCD, ele poderá ler e escrever nas partições, formatadas em FAT e NTFS. Por isto, LiveCds Linux são muito utilizados na manutenção, e recuperação, de outros sistemas operacionais.

Sistemas suportados:

  • FAT
  • NTFS
  • JFS
  • XFS
  • HPFS

Sistemas de arquivos nativos:

  • Ext2
  • Ext3
  • ReiserFS
  • Reiser4

Sistemas de arquivos especiais:

  • SWAP
  • Unionfs
  • Squashfs
  • Tempfs
  • Aufs

Sistema Operacional

Logo que Linus Torvalds passou a disponibilizar o Linux, ou seja na sua versão 0.01, já havia suporte ao disco rígido, tela, teclado e portas seriais, o sistema de arquivos adotava o mesmo layout do Minix (embora não houvesse código do Minix no Linux), havia extensos trechos em assembly, e ela já era capaz de rodar o bash e o gcc.

"the guiding line when implementing linux was: get it working fast. I wanted the kernel simple, yet powerful enough to run most unix software." -Linus Torvalds

A linha guia quando implementei o linux foi: fazê-lo funcionar rápido. Eu queria o kernel(núcleo) simples, mas poderoso o suficiente para rodar a maioria dos aplicativos Unix

O próprio usuário deveria procurar os programas que dessem funcionalidade ao seu sistema, compilá-los e configurá-los e, talvez por isso, o Linux tenha carregado consigo a etiqueta de sistema operativo apenas para técnicos. Foi neste ambiente que surgiu a MCC Interim Linux (Manchester Computer Centre), a primeira distribuição Linux, desenvolvida por Owen Le Blanc da Universidade de Manchester, capaz de ser instalada independentemente em um computador, e tentando facilitar a instalação do Linux.

Desde o começo, o núcleo Linux incluía um sistema básico para chamadas do sistema e acesso aos dispositivos do computador. O núcleo de um sistema operacional define entre várias operações, o gerenciamento da memória, de processos, dos dispositivos físicos no computador e é uma parte essencial de qualquer sistema operacional utilizável, contudo para um sistema operacional adquirir funcionalidade são necessários também vários outros aplicativos que determinam funções específicas que aquele sistema será capaz de desenvolver, os aplicativos existentes em um sistema operacional com a única exceção do núcleo são determinados pelo usuário do computador, como por exemplo: interpretadores de comandos, Gerenciadores de janelas, que oferecem respectivamente uma interface para o usuário do computador, CLI ou GUI, e outros aplicativos como editores de texto, editores de imagem, tocadores de som, e mas não necessariamente compiladores.

Richard Matthew StallmanA maioria dos sistemas inclui ferramentas e utilitários baseados no BSD e tipicamente usam XFree86 ou X.Org para oferecer a funcionalidade do sistemas de janelas X — interface gráfica. Assim como também oferecem ferramentas desenvolvidas pelo projeto GNU.

No momento do desenvolvimento do Linux, vários aplicativos já vinham sendo reunidos pelo Projeto GNU da Free Software Foundation (‘Fundação Software Livre’), que embarcara em um subprojeto que ainda continua para obter um núcleo, o GNU Hurd. Porém devido a várias complicações o projeto GNU e demora em desenvolver o Hurd, Stallman acabou adotando o núcleo Linux como base para distribuir os programas do projeto GNU , não obstante diversas pessoas e instituições tiveram a mesma idéia e assim várias distribuições começaram a surgir baseadas no núcleo desenvolvido inicialmente por Linus.

Distribuições

Atualmente, um Sistema Operacional Linux ou GNU/Linux completo (uma "Lista de distribuições de Linux ou GNU/Linux") é uma coleção de software livre (e por vezes não-livres) criados por indivíduos, grupos e organizações de todo o mundo, incluindo o núcleo Linux. Companhias como a Red Hat, a SuSE, a Mandriva (união da Mandrake com a Conectiva), bem como projetos de comunidades como o Debian ou o Gentoo, compilam o software e fornecem um sistema completo, pronto para instalação e uso. Patrick Volkerding também fornece uma distribuição Linux, o Slackware.

As distribuições do Linux ou GNU/Linux começaram a receber uma popularidade limitada desde a segunda metade dos anos 90, como uma alternativa livre para os sistemas operacionais Microsoft Windows e Mac OS, principalmente por parte de pessoas acostumadas com o Unix na escola e no trabalho. O sistema tornou-se popular no mercado de Desktops e servidores, principalmente para a Web e servidores de bancos de dados.

No decorrer do tempo, várias distribuições surgiram e desapareceram, cada qual com sua característica. Algumas distribuições são maiores outras menores, dependendo do número de aplicações e sua finalidade. Algumas distribuições de tamanhos menores cabem num disquete com 1,44 MB, outras precisam de vários CDs, existindo até algumas versões em DVD. Todas elas tem o seu público e sua finalidade, as pequenas (que ocupam poucos disquetes) são usadas para recuperação de sistemas danificados ou em monitoramento de redes de computadores.

Existem as versões de 64 bits do núcleo Linux, otimizadas para correr em microcomputadores com microprocessadores de 64 bits.

De entre as maiores, distribuídas em CDs, podem-se citar: Slackware, Debian, Suse e Conectiva. O que faz a diferença é como estão organizadas e pré-configuradas as aplicações. A distribuição Conectiva Linux, por exemplo, tinha as suas aplicações traduzidas em português, o que facilitou que usuários que falam a Língua Portuguesa tenham aderido melhor a esta distribuição. Hoje esta distribuição foi incorporada à Mandrake, o que resultou na Mandriva. Para o português, existe também a distribuição brasileira Kurumin, construída sobre Knoppix e Debian, e a Caixa Mágica, existente nas versões 32 bits, 64 bits, Live CD 32 bits e Live CD 64 bits, e com vários programas open source: OpenOffice.org, Mozilla Firefox, entre outros.

Existem distribuições com ferramentas para configuração que facilitam a administração do sistema. As principais diferenças entre as distribuições estão nos seus sistemas de pacotes, nas estruturas dos diretórios e na sua biblioteca básica. Por mais que a estrutura dos diretórios siga o mesmo padrão, o FSSTND é um padrão muito relaxado, principalmente em arquivos onde as configurações são diferentes entre as distribuições. Então normalmente todos seguem o padrão FHS (File Hierarchy System), que é o padrão mais novo.

Quanto à biblioteca, é usada a Biblioteca libc, contendo funções básicas para o sistema Operacional Linux. O problema está quando do lançamento de uma nova versão da Biblioteca libc, algumas das distribuições colocam logo a nova versão, enquanto outras aguardam um pouco. Por isso, alguns programas funcionam numa distribuição e noutras não. Existe um movimento LSB (Linux Standard Base) que proporciona uma maior padronização. Auxilia principalmente vendedores de software que não liberam para distribuição do código fonte, sem tirar características das distribuições. O sistemas de pacotes não é padronizado.

Caixa Mágica, Debian, Dual OS, Fedora, Freedows, Kurumin, Mandriva, Slackware, SuSE e Ubuntu Linux são algumas das distribuições mais utilizadas actualmente, listadas aqui por ordem alfabética.

Um exemplo de distribuição que corre num CD é o Kurumin Linux, criado por Carlos E. Morimoto, baseada no Knoppix.

De entre as distribuições consideradas mais difíceis de gerir (por preferirem assegurar a estabilidade tecnológica em detrimento da interface de utilizador), destacam-se a Debian, Gentoo e Slackware.

GNU Free Documentation License
Este é um artigo adaptado que pertence ao site Wikipédia
e está sob licença GNU Free Documentation License.
Para vê-lo na íntegra, acesse:
http://pt.wikipedia.org/wiki/Linux

Faça o download da versão em PDF Indique nosso site Gostou?
Indique nosso site!
Este artigo foi
lido 12204 vezes
Bookmark e Compartilhe

Páginas Relacionadas

Enquete
O Google Chrome OS irá desbancar o Microsoft Windows 7?
» ProgramaçãoAlgorítmo | C/C++ | Java

» WebHTML/XHTML | JavaScript | PHP

» Sistema OperacionalComandos de DOS | Windows | Linux | Mac/BSD

» OfficeWord/Wirter | Excel/Calc

» Áreas do SiteDownloads | Fórum | Blog