Arquivo

Posts Tagged ‘Linux’

Considerações sobre a relação entre o Unix e o Linux

10 de janeiro de 2010 4 comentários

No artigo passado, deixei aberta uma questão importante, e foi proposital. Em alguns momentos comparei o Unix e o Linux indistintamente, visando um detalhamento futuro da relação entre os dois sistemas operacionais, que será explicado agora.

Pode ser que, ao ler algumas citações do artigo anterior, você tenha imaginado: Ah mas o Linux também serve pra isso, também roda nessas plataformas e etc. A verdade é que o Unix está em todo lugar. In everywhere. E “em todo lugar”, também inclui-se dentro do Windows (várias partes – principalmente dos descendentes atuais do antigo BSD) e dentro do Linux (várias partes do código, inserido nos últimos anos).

Porém, considerei como Unix apenas as vertentes modernas dos filhos tanto do BSD quanto do System V.

Então Lucas, explica essa relação

Sim. O Linux foi criado com base no Minix. O Minix era um sistema operacional multi-tarefa e Unix-Like (“igual ao Unix”), desenvolvido por Andrew Tannenbaun no final da déca de 80. A finalidade do Minix era educacional, unicamente para aprendizagem. Ele possuía as mesmas funções que o Unix, mas não foi feito a partir do código de fonte dos releases de Unix da época.

Quando o mr. Linus Torvalds se sentiu entediado o suficiente para sentar “um pouquinho” e programar seu próprio kernel, ele não o fez com base no Minix, mas sim como um projeto próprio. Na época o Linux ainda era imaturo suficiente a ponto de precisar do Minix para ser compilado. Assim como o Minix, o Linux também não foi criado com base em código de Unix – seja BSD ou System V.

Linus Torvalds, como todo nerd supremo, era uma pessoa extremamente exigente com os sistemas operacionais que utilizava. Se pra você, querido leitor, não bastarem os fatos dele ter programado o kernel Linux original sozinho (coisa que os GNU/programadores não conseguiram – até hoje) e até hoje ser o principal mantenedor do kernel Linux, existe um terceiro motivo que embasa esse meu comentário: O antigo quebra-pau entre Linus Torvalds e Andrew Tanenbaun sobre a questão kernel monolítico x micro-kernel.

O Solaris (na época: SunOS, BSD) era um sistema operacional que lhe atendia perfeitamente. Ele já era um ótimo programador. E usava Minix em seu 386. Porém, movido pelo gostinho de quero-mais, ele criou seu próprio kernel, e nem ele imaginava o quão grandioso esse sistema se tornaria, sendo um dia um “substituto” para o Unix em muitas aplicações.

Assim sendo, o Linux também é um SO Unix-like, que se comporta igual o Unix, com os mesmos algoritmos de gerenciamento e muitos recursos idênticos. Mas o Linux não é Unix. Solaris, AIX, BSDs, HP-Ux, Irix (R.I.P.), Tru64 (R.I.P.) sim – estes são Unices. O código do Linux também não foi feito com base em Unix BSD ou System V, assim como o Minix.

Sobre a GNU, o Unix e o Linux

O embrião da GNU (GNU is Not Unix) surgiu em 1983. Richard Stallman (quando ele ainda fazia alguma coisa era ciencista do MIT) se sentiu injustiçado pela quantidade de código criado por ele (e outros programadores) no Unix e sendo licenciado de maneira cretina pela AT&T para outras empresas gigantes. Em 1985 ele criou a FSF (Free Software Foundation), com o intuito de criar um sistema operacional livre, cujos conceitos de liberdade se resumia em que: Qualquer um poderia utilizar sem qualquer restrição desde que o código de fonte permanecesse aberto.

A partir de 1985, muitos programadores aderiram essa “causa”, e parecia que de fato esse maravilhoso sistema operacional sairia do forno. Os caras criaram quase tudo: Os aplicativos (vulgo comandos), o compilador, as bibliotecas, e muitos drivers. Só faltava o principal: O kernel! É, irônico que tudo isso fosse criado para rodar nos sistemas operacionais opressores e imperialistas das grandes corporações, mas foi assim durante algum tempo.

A proposta de sistema operacional da GNU, o GNU/HURD, ainda não está concluida – provavelmente só ficará pronta em Pasárgada, e será usado por Manoel Bandeira. Então, os GNUs resolveram partir pro óbvio: Ah, Linus Torvalds tem um kernel. A gente tem o resto. Que tal unir o útil ao agradável? Linus Torvalds concordou, e o Linux foi licenciado na GPL e passou a fazer parte do projeto GNU. O Linux Ganhou desenvolvedores, componentes e muito sucesso. E a GNU ganhou o kernel que faltava!

Muitos membros da GNU, incluindo Richard Stallman, dizem que o Linux foi programado para o GNU. Isso não é verdade. O “destino” permitiu que ambos se integrassem. Provavelmente o Linux não seria o que é hoje sem o projeto GNU, e o projeto GNU também não seria o que é hoje sem o Linux. E muitos membros do projeto GNU chamam o Linux de GNU/Linux, mas é algo mais pessoal do que técnico. Linus Torvalds, como eu, acha idiotice.

O Linux/Windows vão matar o Unix?

É verdade que, a partir do Windows 2000, os sistemas operacionais da Microsoft têm ganhado muito em estabilidade. Isso resultou em que, muitas aplicações antes usadas apenas em estações de alto desempenho movidas a Unix foram portadas para Windows, e aplicações que antes rodavam em hardware e software de primeira qualidade, foram gradativamente portadas para x86 e sistema operacional Windows (ou Linux). E quando falo de hardware de primeira qualidade, me refiro à processadores RISC, Unix 64 bits, 8GB Ram, 2 ou 4 processadores e HDs SCSI.

Humildemente acho que isso é uma regressão, mas em parte, justificado – visto que o x86 realmente evoluiu dos últimos anos pra cá. Por exemplo, o Windows “demorou” pra suportar mais que 4GB de memória Ram, e uma grande quantidade de processadores. O Unix já fazia isso há muito tempo atrás. Entretanto, essa debandada diminuiu bastante o número de aplicações específicas do Unix em comparação ao x86 (Linux/Windows) nas workstations. Versões de vários softwares (como o Maya) foram descontinuados em workstations Unix, e foram migrados para sistemas operacionais como o Red Hat Linux, ou mesmo o Windows Vista/Windows XP. Alguns (como o Catia) ainda permanecem para Unix, também com versão pra Windows, mas é difícil responder até quando isso permanecerá.

Entretanto, vários softwares comerciais que são multi-plataforma, como o Oracle, GIS Design, SAP, Natural/ADABAS, servidores de aplicação (Java), softwares de rede, e etc, continuam sendo desenvolvidos com versões para Unix em mainstream. Essas versões continuam sendo procuradas por empresas que buscam pela performance e estabilidade oferecidas pela plataforma quarentona. Cada um no seu quadrado, o Linux já matou o Unix onde ele podia. Bem como o Windows. Mas, o Unix continuará com suas aplicações específicas, pois embora mais restrito, continua sendo tecnologicamente mais “preparado” para aplicações críticas e de alto desempenho que o Linux e que o Windows. Pelo menos até o momento. 🙂

Stay safe,

Lucas Timm.

Categorias:Diversos, Linux, Unix Tags:, ,

Pequenas Sutilezas dos programas Open Source

25 de dezembro de 2009 1 comentário

Se tem uma coisa que eu realmente ADORO nos programas Open Source, ao contrário dos softwares chatos e sem-graça do Windows, são as pequenas sutilezas que determinados desenvolvedores incluem em seus programas. Isso também acontece no Mac OS X. Por exemplo: Hoje é natal, 25 de dezembro de 2009, e olhe com o quê eu fui surpreendido:

Provavelmente aconteceu o mesmo com a versão for Windows. Mas são coisas que não acontecem, por padrão, no SO da Microsoft. 🙂

Em tempo: Segundo o amigo Stomaz, o Kmess também o desejou feliz natal… 🙂

Stay safe,
Lucas Timm.

Categorias:Linux Tags:, ,