29 de dezembro de 2006

Linux X Windows

Como o leitor pode notar, este é o terceiro artigo deste blog que trata de algum tipo de comparação. Mas não podia deixar de ser...

(Nota: o termo correto é "GNU/Linux", mas pra fins de simplicidade utilizarei neste texto apenas o nome "Linux")

Talvez mais do que Java ou C? ou Engenharia ou Ciência?, a discussão que eu mais tenha presenciado (e participado) nos últimos quatro anos - durante os quais estou cursando a graduação - tenha sido sobre comparações entre Linux e Windows.

99,9% das pessoas no mundo conhecem o Windows. E 99,9% desses 99,9% pensam que o Windows é o único sistema operacional que existe.

Pra muita gente, ele é o ar que o computador respira. Alguns chegam a acreditar que o Windows faz parte dos computadores; seria uma "peça" essencial ao seu funcionamento, como a placa mãe ou o monitor.

- Ih... O Windows "deu pau"? Troca de computador!

Pra quem não sabe, o Linux é um sistema operacional também. E bom. E grátis! :-)

Um Pouco Da História Do Linux

O Linux não nasceu como um projeto sério e ambicioso, mas como um hobby. Em 1988, um rapaz chamado Linus Torvalds começou a estudar Ciência da Computação da Universidade de Helsinki (Finlândia), e, depois de adquirir um computador Intel 386, começou a utilizar o Minix - um "mini"-sistema operacional baseado em Unix (este, por sua vez, um sistema operacional proprietário) e criado para fins didáticos pelo então professor Andrew Tanembaum.

Linus não gostava muito do Minix; além disso, precisava de um sistema que emulasse terminais, para poder se conectar aos computadores da universidade, e o Minix não tinha essa capacidade. E Andrew Tanembaum não permitia que outras pessoas fizessem modificações em seu sistema.

Por isso, em 1991, Linus resolveu criar ele mesmo um sistema operacional - que fosse mais eficiente que o Minix e que tivesse a capacidade de emular terminais. Em agosto daquele ano, Linus enviou o email abaixo para a lista de discussão sobre Minix na universidade:

From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Message-ID: <1991aug25 .205708.9541="" klaava.helsinki.fi="">
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki

Hello everybody out there using minix -

I'm doing a (free) operating system (just a hobby, won't be big and
professional like gnu) for 386(486) AT clones. This has been brewing
since april, and is starting to get ready. I'd like any feedback on
things people like/dislike in minix, as my OS resembles it somewhat
(same physical layout of the file-system (due to practical reasons)
among other things).

I've currently ported bash(1.08) and gcc(1.40), and things seem to work.
This implies that I'll get something practical within a few months, and
I'd like to know what features most people would want. Any suggestions
are welcome, but I won't promise I'll implement them :-)

Linus (torvalds@kruuna.helsinki.fi)

PS. Yes - it's free of any minix code, and it has a multi-threaded fs.
It is NOT protable (uses 386 task switching etc), and it probably never
will support anything other than AT-harddisks, as that's all I have :-(.


Traduzindo:

Olá a todos os que estão usando o Minix,

Estou trabalhando num sistema operacional (livre) (apenas um hobby, não é pra ser nada grande e profissional como o gnu) para máquinas AT 386 (486). Está sendo desenvolvido desde abril e começando a ficar pronto. Eu gostaria de receber informações sobre o que as pessoas gostam/não gostam no Minix, pois meu sistema se assemelha com ele em alguns aspectos (tem o mesmo projeto físico do sistema de arquivos (por razões práticas), entre outras coisas).

Atualmente, já "portei" o bash (1.08) e o gcc (1.40), e parece ter funcionado. Isso significa que, em poucos meses, terei algo prático, e gostaria de saber que características as pessoas querem. Toda sugestão é bem-vinda, mas eu não posso prometer que irei implementá-las. :-)

Linus (torvalds@kruuna.helsinki.fi)

PS. Sim - ele é livre de qualquer código Minix, e possui um "fs" multitarefa. Ele NÃO é portável (utiliza escalonamento 386, etc), e provavelmente nunca suportará discos rígidos que não sejam AT, já que são tudo o que eu tenho :-(.


(Nota: Pra falar a verdade, não tenho certeza do que siginificaria esse "fs", e por isso deixei entre aspas; mas creio que Linus estivesse se referindo ao "sistema de arquivos", ou "file system".)

Linus lançou a primeira versão do Linux (0.01) em setembro de 1991. Em 1994, veio a versão 1.0. Atualmente, já está disponível a versão 2.6.

Linus não tinha ambições comerciais com seu projeto. Ele o disponibilizou ao público sob a licença GPL (General Public License), o que significa que o sistema pode ser modificado por qualquer pessoa. De fato, o Linux chegou ao estágio atual graças às contribuições de milhares de programadores ao redor do mundo, dedicados a trabalhar de graça para melhorá-lo cada vez mais.

Distribuições e Kernel Linux

Quando se fala em Linux, geralmente se confunde distribuição Linux com kernel Linux.

Na verdade, o Linux em si é um kernel (ou núcleo). Ele é uma camada de software que provê, por exemplo, o acesso ao sistema de arquivos, manipula e escalona processos, gerencia a memória e os dispositivos de entrada/saída, entre outras funções críticas e essenciais ao funcionamento de um computador.

Mas, para que esse kernel tenha alguma utilidade para o usuário, é preciso que algum software aplicativo rode sobre ele. As distribuições Linux nada mais são do que conjuntos de software's aplicativos adicionados ao núcleo.

Existem centenas de distribuições disponíveis atualmente (como Debian, Fedora, Suse, Mandriva, etc), que podem ser adquiridas através de download pela internet ou em cd's e dvd's (geralmente como encarte em revistas especializadas). Cada uma delas possui um conjunto de aplicativos diferente, além do kernel obviamente. Algumas empresas, como a Novell ou a Red Hat, vendem kits compostos de cd/dvd e manual do usuário, além de oferecem suporte técnico e garantia.

O kernel e várias distribuições podem ser baixados gratuitamente da internet, mas não há suporte técnico nem garantia. No entanto, pelo fato de o kernel Linux ser open source (código aberto) e desenvolvido pela comunidade, existem literalmente milhares de fóruns sobre ele e suas distribuições na internet, onde é quase impossível não obter respostas para dúvidas ou soluções para os problemas encontrados.

Mas cadê a comparação?

Até o momento só falei do Linux. De fato, o Windows é tão conhecido que, creio eu, dispensa explicações.

Mas, em termos de comparação, pode-se o Linux tem tomado um espaço cada vez maior. Já há alguns anos, por exemplo, ele vem sendo muito utilizado em servidores de empresas, por ser:

- Estável
- Seguro
- Adaptável
- Gratuito

No entanto, até há pouco tempo, era um sistema bastante difícil de ser utilizado pelo usuário comum, acostumado ao ambiente intuitivo do Windows. Além disso, a maioria dos dispositivos no mercado (placas de vídeo, modems, etc) eram ou tinham seus drivers projetados especificamente para as bibliotecas Windows, o que trazia a necessidade da criação apressada de drivers para Linux assim que o dispositivo era lançado e os problemas de compatibilidade eram constatados.

Mas, nos últimos anos, com o crescimento da comunidade usuária do Linux e com o incentivo de grandes empresas - que viram nessa comunidade um grande mercado -, muitos fabricantes têm inclusive oferecido drivers Linux junto com seus dispositivos.

Além disso, os vários ambientes gráficos desenvolvidos para esse sistema (sendo os mais conhecidos o Gnome e o KDE) estão cada vez mais intuitivos e fáceis de usar, o que atrai cada vez mais usuários que não tenham conhecimento profundo em computação e queiram apenas desfrutar das capacidades de seus computadores.

(O desenvolvimento do Linux chegou a tal ponto que, agora, não se pode mais alegar dificuldades de uso ou falta de compatibilidade como desculpa para não querer, ao menos, conhecer o sistema.)

Hoje, temos em lados opostos dois grandes sistemas operacionais que têm cada um seus defeitos e suas qualidades.

O Linux tem, provavelmente, como principal vantagem o custo zero (sua licença, como já foi dito, é gratuita, enquanto o Windows, dependendo da versão, pode custar centenas ou até milhares de reais). Além disso, é considerado por alguns como um sistema mais seguro e estável que o Windows. E, por ser mantido pela comunidade - e não por uma organização individual -, acredita-se que seus problemas sejam detectados e corrigidos com mais rapidez.

No entanto, pesa a favor do Windows o suporte técnico especializado (apesar de algumas distribuições Linux, como mencionado anteriormente, serem oferecidas com suporte também, e por um preço geralmente menor), além da identificação maior com os usuários, já que ele - ainda - é o sistema operacional mais utilizado por usuários domésticos no mundo.

Outro fator importante é a maior oferta de aplicativos mais sofisticados (como jogos em realidade virtual, software's multimídia, etc) para Windows do que para Linux. Apesar de as distribuições Linux virem com centenas ou até milhares de aplicativos para todos os gostos (muitos com qualidade excelente), boa parte desses programas é pouco conhecida ou possui baixa confiabilidade. A tendência, entretanto, é que grandes fabricantes de software lancem programas cada vez melhores para Linux.

Fica a cargo do usuário, portanto, decidir qual dois dois sistemas vale mais a pena (ou qual deles é o "melhor"). Muitos, como eu, utilizam os dois sistemas em conjunto, aproveitando seus pontos fortes em cada situação.

O importante, nese caso, é experimentar; baixar alguma distribuição da internet ou adquirir seu CD/DVD (recomendo o Suse, mas é apenas uma questão de gosto), instalá-la (se você não entende de computação, ou entende mas tem medo de fazer bobagem, peça ajuda para aquele seu amigo de óculos que nunca sai de casa e só tira dez), e começar a usar.

Portanto, mãos à obra!

10 comentários:

  1. Anônimo9:19 AM

    Muito legal seu blog. Quanto ao artigo ficou um pouco obscuro, pois vc falous mais sobre o liunux sem da os contra exemplos, dessa forma vc foi tendencioso para o lado linux, não q eu seja contra o linux, pois eu ja adotei como sistema padrão. E desde ja comunidade gnu recomenda usa gnu/linu, pois o kernel agora foi acoplado ao projeto gnu.

    ResponderExcluir
  2. Anônimo10:01 AM

    Boa, Gustavo! Tu esqueceu de dizer que, além de tudo, o Linux ta mais bonito, pois já é possível usar as bibliotecas OpenGL da placa de vídeo na área de trabalho: o "famoso" Xgl . Comprei até uma placa Nvidia soh pra ter meu Desktop 3D aqui em casa ;)

    ResponderExcluir
  3. Fale, Ivaldo!

    Valeu pelas observações!

    Tens razão quanto ao termo correto, de fato é GNU/Linux. Já coloquei uma nota no texto explicando esse detalhe.

    Bom, de fato eu falei bem mais do Linux que do Windows, mas não quis ser tendencioso para o lado do Linux (apesar de que, lendo o texto depois de tê-lo escrito, fiquei com essa impressão também...); é que, como eu disse no próprio texto, o Windows já é bastante conhecido por todos, enquanto o Linux ainda está começando a aparecer fora da comunidade universitária. E se eu fosse descever o Windows a aprtir da sus história, como fiz com o Linux, o texto ficaria mto longo...

    Eu tentei ressaltar os pontos fortes e fracos de cada um dos sistemas (até pq uso e gosto dos dois, mas tem vezes que um se sobressai em relação ao outro).

    Num próximo post, tentarei falar especificamente de cada um dos sistemas (e até, quem sabe, de outros sistemas não mencionados).

    É isso... Valeu pelas críticas e elogios, são sempre bem-vindos e vão me ajudar a tentar tornar o blog cada vez mais agradável!

    Abraços...

    ResponderExcluir
  4. Marcio, de fato... Me deste até uma idéia: vou falar mais do Xgl num post à parte :-)

    Abraços...

    ResponderExcluir
  5. Anônimo1:19 PM

    Fala um pouco sobre os outros sistemas também :) É bom pra deixar o pessoal informado... mas quem ler isso vai pensar que você é viciado em Linux, e não quer nem saber dos outros sistemas!!! E o Mac OS X???? Por um bom tempo, houve a disputa Windows x Mac...

    Mostrei o blog pra um amigo meu, e tive que ficar respondendo umas perguntas, por exemplo: "o que é kernel? multi-tarefa?". No começo desse blog você disse que queria fazer uma coisa pra que todos pudessem conhecer a engenharia da computação, e reconheço que fica meio difícil não usar esses termos, mas daí vem uma sugestão pra outro post: características básicas de um sistema computacional. :D Acho que vai ser interessante, e vai tornar o blog acessível pra mais pessoas!

    ResponderExcluir
  6. Raquel, brigadão pela sugestão tbm!

    Tens razão, acho q eu me excedi e acabei escorregando prum linguajar mto técnico, o q pode espantar quem estiver iniciando no assunto...

    Vou pensar num post bacana sobre "características básicas de um sistema computacional" (gostei, vou usar o mesmo nome q tu sugeristes :-)

    []'s

    ResponderExcluir
  7. Anônimo10:22 PM

    Olah de novo! Eu ia postar dizendo q o texto ficou meio tendencioso, mas axo q a galera e ateh tu jah notaram hehe! Na verdade naum eh nem tendencioso, eh q realmente ficou a lacuna de informacoes sobre o windows! Embora a gente use ele desde sempre, ha coisas q soh fui descobrir lendo o Wikipedia... entaum essa eh minha sugestao: tu dares uma lida nos textos Wiki referentes ao Win e fazeres um resumao pra adicionar ao texto. Um abraço!

    ResponderExcluir
  8. De fato, Pablo, eu percebi! hehehhe
    O artigo sobre o Windows ainda está de molho, não vai demorar muito e eu posto sim, pode deixar :)

    Valeu mesmo pela visita e pelas sugestões!

    Abração...
    Gustavo

    ResponderExcluir
  9. Anônimo12:23 AM

    ler todo o blog, muito bom

    ResponderExcluir
  10. Quanto a isso, sem comparações rs. Tb tenho alguns textos vídeos que talvez te interesse ou aos seus leitores:
    Correia transportadora, Fabricação de estruturas metálicas, Pontes metálicas, Pontes rolantes, Pivô central, Correia transportadora. Obrigado. Grd abço!

    ResponderExcluir