No Happy Hour


Hoje, uma aulinha de Linux servida como uma prosa descontraída, depois de um dia de trabalho, redigida pelo nosso amigo Vinicius Monfre.

Leiamos :)

- Cara, você vive me falando sobre Linux e software livre. Pode me explicar direito como isso tudo funciona?

- Claro amigo. De onde eu começo?

- Do início.

- Beleza. Quando Linus Torvalds criou o LINUX, ele não tinha ideia do quão grande seu projeto se tornaria dentro do vasto universo que é a computação e a Tecnologia da Informação. Graças a ele, hoje o Linux está presente em bilhões de dispositivos eletrônicos.Dentre eles servidores, desktops, smartphones, embarcados, satélites, vários dispositivos portáteis como relógios inteligentes e até mesmo em televisores.

- Mas o que é o Linux?

- Muitos pensam que o Linux é apenas um sistema operacional. Esse pensamento não está errado, porém não está totalmente certo. Antes de me xingar mentalmente, deixe eu te explicar. O Linux é uma parte do sistema operacional. Para ser mais exato, ele é um kernel de código aberto, que vem sendo desenvolvido ao longo dos anos graças à colaboração de programadores ao redor da terra.

- Beleza, mas o que é um kernel?

- Kernel é o núcleo de um sistema, e é imprescindível para que este funcione corretamente. O kernel faz a ponte entre o hardware da sua máquina e os programas que você executa nela. Ou seja, o kernel, juntamente com os softwares que te deixam usar sua máquina (drivers por exemplo), formam no sistema operacional própriamente dito.

Um exemplo prático: imagine o kernel como se fosse o quadro de uma bicicleta. Dependendo da forma como você for usar, você pode construir uma bicicleta de carga, uma de corrida ou uma bicicleta comum, com ou sem marchas. O kernel não deve ser manipulado diretamente pelo usuário. Não é tão simples assim. O kernel é um software de alta complexidade que deve constituir o sistema, trabalhando “por baixo dos panos”. Desta forma, para um usuário leigo não há necessidade de saber que o kernel está ali.

- Tô entendendo, Então o Linux é um kernel?

- Isso mesmo! Quando você procura um programa na internet, por exemplo o Chrome,você pode perceber que existem versões diferentes desse programa para cada sistema com seus respectivos links. Um vai te redirecionar para o instalador do Windows, outro para o do Mac, outro para o do Linux e por aí vai. Nesse caso o termo Linux está certo. Mas achar que o Linux é um sistema operacional completo, com interface, programas e etc., é meio errado.

- Que interessante. Mas vem cá: como isso começou?

- Meio que por acidente. Em 1991, Linus Torvalds estava estudando Ciência Da Computação e criou o Linux como um fork, uma variação de um sistema conhecido na época, o Minix, que por sua vez era baseado em Unix. Minix, assim como o Linux é um kernel gratuito e de código aberto para que estudandes pudessem e possam estudar seu código para se aprimorarem ou criar projetos baseados nele. Foi nesse ponto que Linus Torvalds resolveu aparecer.

- Poxa cara, que legal. Mas quem é esse tal de Unix mesmo?

- Que bom que perguntou! O Unix nasceu em 1969 no Bell Labs. Mas só na década de 70 que o Unix se tornou visível na área acadêmica e graças a isso ele evoluiu muito. Porém surgiram variações, outros sistemas baseados nele. Seu desenvolvimento se iniciou por volta dos anos 60 e veio acompanhado de uma equipe de programadores que causaria inveja em qualquer empresa na época. Dentre eles Dennis Ritchie e Ken Thompson.

Seu nome inicial seria Multics, um projeto muito ambicioso, mas que estava à frente do seu tempo. Tinha como principal empecilho a falta de poder computacional. Desta forma Thompson optou por colocar os “pés no chão” e criar algo mais realista. Seu novo projeto se chamou Unics, depois seu nome foi mudado para Unix e assim continua até os dias atuais.

Apesar de haver outros programadores envolvidos com a criação do Unix, Ken Thompson e Dennis Ritchie são os nomes mais lembrados porque ambos, em 1973, praticamente reescreveram o Unix a partir da linguagem C, linguagem essa criada pelo próprio Dennis. Graças a seus inúmeros recursos, sua linguagem passou a ser usada em muitos projetos variando a complexidade, e até mesmo em outros sistemas operacionais, o que deu a Ritchie reconhecimento mundial como um dos maiores nomes da tecnologia. (Infelizmente Ritchie faleceu em outubro de 2011).

O Unix foi amplamente aceito não apenas nas faculdades, mas também em ambientes corporativos, o que fez que surgissem várias variações do sistema, como por exemplo BSD, Solaris, Minix e o Linux. O que não significa que sejam todos iguais ao Unix, mas são bem parecidos.

- Que história incrível! Conta mais sobre como o Linux começou!

- Você que manda. Linus Torvalds com quase 20 anos de idade entrou para a universidade de Helsinki, na Finlândia, em 1988. Uns 2 anos depois, com o conhecimento que estava adquirindo com a linguagem C, Linus optou por criar uma implementação de um terminal em seu computador novinho, um 80386, para acessar o servidor Unix de sua faculdade porque ele não havia ficado satisfeito com os recursos disponíveis no Minix para essa função. A ideia de Linus era fazer o projeto apenas para seu computador 80386. Sendo baseado no Minix, o desenvolvimento foi tão rápido que em pouco tempo Linus já tinha um kernel em mãos.

Em 1991 Linus optou por divulgar seu projeto para o mundo. Para isso, fez uso da Usenet (pensa nela como a internet do tempo das cavernas) e escreveu algo como:

“Olá pra quem usa o Minix. Estou fazendo um sistema operacional no meu tempo livre. Não será tão grande como o GNU, mas funciona em computadores AT 386 e talvez 486. Estou trabalhando nele tem um tempo e está começando a ficar legal. Eu gostaria muito que me enviassem opiniões sobre o que gostam ou não no Minix, já que meu sistema tem o mesmo Layout de arquivos do Minix e outras semelhanças. Também já portei o BASH 1.08 e o GCC 1.40, parece que está tudo funcionando. Em alguns meses creio que vou ter algo sólido e gostaria de saber quais recursos as pessoas gostariam que o sistema tivesse. Toda sugestão é bem vinda. Só não posso prometer que vou conseguir implementar todas.

P.S.: Meu sistema é livre dos códigos do Minix e vem com sistema de arquivos com multitarefa. Ele não é portável e provavelmente nunca suportará nada além de discos rígidos AT, porque é só isso que eu tenho”

- Cara, ele não tinha nem ideia do que o sistema ia se tornar!

- Sim. Ele não esperava que seu projeto iria ficar tão grande. Mas nem por isso o Linux se livrou dos problemas. Os maiores obstáculos vinham na forma de críticas feitas pelo professor Andrew S. Tanenbaum (criador do Minix) que dizia que o Linux era defasado por ser monolítico. Andrew não estava nem um pouco contente com o fato de que o Linux foi feito para rodar com o processador 80386 porque o hardware era muito caro e provalvelmente sua arquitetura seria trocada no futuro (o que não ocorreu).

Apesar das críticas Linus continuou trabalhando em seu sistema com a ajuda de mais pessoas a cada dia. Conforme o tempo ia passando e iam surgindo necessidades por parte dos desenvolvedores envolvidos no projeto, o Linux foi portado para outros dispositivos, o que ajudou no seu crescimento.

- É… a necessidade é mesmo a mãe de todas as invenções. Já sei! Linus deu o seu nome para o Linux!

- Não foi bem assim. O sistema ficou sem nome por um tempo, então Linus o nomeou de Freax, que é uma uma fusão de free (livre) e freak (assustador) e o x no final pra acrescentar um toque único. Entendeu a referência? Porém o programador e amigo de Torvalds, Ari Lemmke, não gostou do nome Freax e criou em seu servidor FTP uma pasta chamada Linux (acho que é exatamente isso que você está pensando, uma fusão de Linus com Unix), onde ele hospedou o sistema e disponibilizou para download. O nome Linux pegou e vem sendo usado desde então.

- Olha, esse projeto vem sendo envolvido em cada coincidência engraçada! E sobre os programas que vem junto com o Linux?

- Ah, esse é o GNU. A maioria dos sistemas Linux hoje em dia vem acompanhados dele. São chamados de GNU/Linux. GNU é uma sigla recursiva que significa Gnu is Not Unix (em português, GNU não é Unix). O projeto começou em 84 sob o comando de Richard Stallman, que queria fazer um sistema que fosse compatível com o Unix, mas sem usar o código dele. Com o passar do tempo o projeto cresceu e ganhou muitos recursos, mas ainda faltava um kernel. Stallman e sua equipe estavam trabalhando em um kernel chamado Hurd, mas não rolou de fazerem ele e adivinha quem coube como uma luva no projeto? Isso mesmo! O Linux.

- Então o Linux que o pessoal conhece e usa vem com o GNU?

- Mais ou menos isso. Linux funciona muito bem com GNU e a maioria dos sistemas Linux vem com programas GNU acompanhando seu kernel. Por esse motivo tem uma galera que defende que o nome GNU/Linux seja empregado no sistema operacional e Linux só no kernel.

- Entendi. Queria conversar mais, mas já é tarde. Se eu demorar muito, vou chegar atrasado em casa!.

- Nossa! Nem vi a hora passando! Me empolguei um pouco contando pra você sobre o Linux. Mas fica tranquilo. Se quiser saber de onde eu tirei tudo isso que te expliquei agora e ainda ter uma explicação legal sobre o que são as distribuições Linux, saber mais sobre as versões do kernel, sobre a licença do Linux e mais um pouco, visita a página do InfoWester nesse link.

Para ficar atento no mundo da tecnologia e aprender com uma galera que tem a mesma paixão por tecnologia que você, acesse o site do CodeWalkers nesse link aqui e depois entre no grupo de Telegram deles. Agora pode ir, cara. Bom descanso. A gente se vê no próximo Happy Hour.

- Valeu amigo. Até mais!


Voltar para o blog