Linux

Origem: Wikipédia, a enciclopédia livre.

Esta página precisa ser reciclada de acordo com o livro de estilo.
Sinta-se livre para editá-la para que esta possa atingir um nível de qualidade superior.
Esta página ou secção foi marcada para revisão, devido a apresentar inconsistências e dados de confiabilidade duvidosa. Se tem algum conhecimento sobre o tema, por favor verifique e melhore a consistência e o rigor deste artigo.
Mascote Linux Linux

Desenvolvedor: Inúmeros (desenvolvimento livre)
Família do SO: UNIX
Modelo do desenvolvimento: Software livre
Última versão: 2.6.23
Data da última versão: 9 de outubro de 2007
Kernel: Monolítico
Interface: {{{ui}}}
Interface: Inúmeras (na foto, KDE)
Licença: GPL v.2
Estado do desenvolvimento: Estável
Website: Inúmeros: núcleo em kernel.org, sistema GNU em gnu.org e lista de distribuições em distrowatch.com
Este artigo fala sobre sistemas operacionais Linux que utilizam o núcleo desenvolvido por linus torvalds. Para o núcleo propriamente dito, veja Linux (kernel).

Linux é um sistema operacional tipo Unix que foi desenvolvido por Linus Torvalds a partir do código fonte do sistema Minix, que por sua vez é uma simplificação 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.[1]

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

Índice

[esconder]

[editar] Nomenclatura

Diagrama de Venn mostrando a nomenclatura nos sistemas Linux
Diagrama de Venn mostrando a nomenclatura nos sistemas Linux

Linux, assim como GNU/Linux, refere-se ao sistema operacional Linux, contudo GNU/Linux inclui ao sistema o conjunto de programas desenvolvidos pelo projeto GNU e defendidos pela Free Software Foundation - FSF. Freqüentemente GNU/Linux e Linux são usados como sinônimos, contudo ao falarmos em Linux também podemos nos referir apenas ao seu núcleo.

Segundo o próprio Linus Torvalds no filme Revolution OS, ao ser perguntando se é justificável chamar-se o Linux de GNU/Linux:

"Well, I think it's justified, but it's justified if you actually make a GNU distribution of Linux ... the same way that I think that 'Red Hat Linux' is fine, or 'SuSE Linux' or 'Debian Linux', because if you actually make your own distribution of Linux, you get to name the thing, but calling Linux in general "GNU Linux" I think is just ridiculous"

Bem eu acredito que seja justificável, mas é apenas justificável se você fizer uma distribuição GNU do Linux ... da mesma maneira que eu acredito que Red Hat Linux está ótimo, ou SuSE Linux ou Debian Linux, por que se você realmente faz sua própria distribuição do Linux, você tem direito de nomeá-la, mas chamar Linux de forma genérica de GNU Linux eu acredito que é apenas ridículo.

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, 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.

[editar] História

Linus Torvalds, criador e principal mantenedor do Kernel Linux.
Linus Torvalds, criador e principal mantenedor do Kernel Linux.

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 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.

[editar] Núcleo (kernel)

Ver artigo principal: Linux_(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.

[editar] 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.

[editar] 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.

[editar] 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.

[editar] 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:

Sistemas de arquivos nativos:

Sistemas de arquivos especiais:

[editar] Sistema Operacional

Richard Stallman, fundador do projeto GNU para um sistema operacional livre.
Richard Stallman, fundador do projeto GNU para um sistema operacional livre.

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 incluia 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.

A 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.

[editar] Distribuições

Ver artigo principal: Distribuições de Linux

Actualmente, um Sistema Operacional (em Portugal Sistema Operativo) 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 monitorizações 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.

[editar] Distribuições de propósito geral


Alguns grupos compilam distribuições Linux para propósitos especiais como firewalls, etc.

[editar] Distribuições LiveCD

Estas distribuições correm (rodam) directamente do CDROM, sem necessidade de instalação.

[editar] Distribuições de propósitos especiais

[editar] Desktops

Desktop do Xfce - GoblinX
Desktop do Xfce - GoblinX

O sistema operacional Linux possui duas interfaces para que o usuário possa interagir com o sistema operacional. A interface gráfica e a interface de linha de comando.

As interfaces gráficas foram desenvolvidas inicialmente por Douglas C. Engelbart e também chamadas de ambientes gráficos, Desktop's ou GUI(Graphical User Interfaces). Alguns exemplos para o Linux são:

[editar] Interpretadores de comandos

Usando o Bash - Framebuffer
Usando o Bash - Framebuffer

Representando o a interface de acesso no modo texto, ou CLI(Command Line Interface) do Linux, eles são a principal forma de controle remoto e gerenciamento do sistema. Exemplos de interfaces de linha comando, também chamados de Shell's ou interpretadores de comandos:

(*) O screen é um gerenciador de sessões em modo texto

[editar] Código Aberto e Programas Livres

Um programa assim como toda obra produzida atualmente, seja ela literária, artística ou tecnológica, possui um autor. Os Direitos sobre a idéia ou originalidade da obra do autor, que incluem essencialmente distribuição, reprodução e uso é feito no caso de um programa através de sua licença.

Existem dois movimentos que regem o licensiamento de programas no mundo livre, os programas de código aberto e os programas livres. Os dois representantos respectivamente pela OSI e pela FSF oferecem licenças para produção de software, sendo seus maiores presentantes a licença BSD e a GPL. O Linux oferece muitos aplicativos de open source, contudo nem todos podem ser considerados programas livres, dependendo exclusivamente sobre qual licença estes programas são distribuídos. Os programas distribuídos sob tais licenças possuem as mais diversas funcionalidade como desktops, escritório, edição de imagem e inclusive de outros sistemas operacionais.

Também existem organizações inclusive no mundo livre como a organização Linux Simples para o Usuário Final (SEUL) que tem como objetivo adotar a maior gama possível de aplicativos de alta qualidade produzidos sobre a GPL. É um projeto voluntário que atualmente se foca no aprendizado de Linux, seu uso na ciência e em documentos de advocacia, bem como gerenciar e coordenar projetos de desenvolvimento de aplicativos.

[editar] Referências

  1. Netcraft (7 de Outubro de 2006). Rackspace Most Reliable Hoster in September. Página visitada em 15 de Junho de 2007.
  2. Sean Michael Kerner. Cray Unleashes XD1 Opteron/Linux Supercomputer. Página visitada em 15 de Junho de 2007.
  3. Stephen Shankland e Ben Charny. Linux to power most Motorola phones. Página visitada em 15 de Junho de 2007.
  4. Stan Beer. Dell: Ready, set, go Linux desktop. Página visitada em 15 de Junho de 2007.
  5. Primeiro período do original, em inglêsDo you pine for the nice days of minix-1.1, when men were men and wrote their own device drivers?
  6. Lars Wirzenius (27 de Abril de 1998). Linux Anecdotes. Página visitada em 15 de Junho de 2007.
  7. 7,0 7,1 As empresas Conectiva e Mandrake se uniram e deram origem à distribuição Mandriva.

[editar] Ver também

[editar] Ligações externas

Commons
O Wikimedia Commons possui multimídia sobre Linux
Wikibooks
O Wikilivros possui livros e publicações sobre: GuiaFocaLinux

Ferramentas pessoais