EditorialSistemas operacionais

O que é Linux? – A definição oficial da Linux Foundation

O que é Linux? É curioso pensar na quantidade de pessoas que utiliza Linux diariamente de forma direta ou indireta e não tem a mínima noção do que realmente “é Linux“. Hoje vamos tirar alguns instantes para você entender “o que é Linux” da perspectiva atual, com a definição da instituição que atualmente representa o Linux e é o que mais próximo existe de “uma empresa” por trás do Linux, a Linux Foundation.

A maior parte das pessoas que já pesquisou sobre “O que é Linux” já deve ter chegado a informação que te respondem: Linux é um Kernel. Mas talvez isso não refletia a realidade nos tempos atuais, uma definição que outrora era mais adequada.

A documentação atual da Linux Foundation nos dá uma visão geral do que “é Linux” nos dias atuais, então vamos melhorar as nossas definições!

Linux é um Kernel?

Para evitar confundir as pessoas que tem isso por definição de “o que é Linux“, vamos fazer uma parada neste tópico.

Sim, Linux é um Kernel. 

Mas o que é um Kernel

Kernel é um software para computador que pode ser considerado o “núcleo” do sistema operacional, seja ele Linux, Windows, macOS ou qualquer outro. Do ponto de vista técnico, ele é um dos, se não “o”, componente mais importante do sistema operacional, do ponto de vista do usuário final (desktop, Smartphone, etc), a interface com o usuário tem maior relevância.

Na maior parte dos sistemas o Kernel é um dos primeiros programas a serem carregados no boot, ele costuma trabalhar com o restante da inicialização, assim como trabalha com as solicitações de entradas e saídas, traduzindo-as em instruções que o CPU vai interpretar. O Kernel trabalha com os periféricos (teclados, mouse, monitores, impressoras, som etc.), e também com a memória.

Em linhas gerais, o Kernel é o software que conecta o hardware do seu computador ou dispositivo com o restante do software. É ele que cria o “meio de campo” entre o seu player de música e as sua placa de som, e o resultado desta interação é que vai permitir que você ouça as suas músicas favoritas.

Linux é um Kernel, sim, mas não é “só” isso. Atualmente podemos considerar o Linux uma plataforma ou sistema operacional completo.

O que é Linux – A definição oficial pela Linux Foundation

Existem duas definições que a Linux Foundation oferece em seu site, a definição “comercial”, para que qualquer pessoa possa entender, e a explicação técnica, pra quem gosta de “escovar uns bits”.

Nós vamos ver as duas obviamente, assim você terá a compreensão total de “O que é Linux“.

Linux – A definição comercial

Começado em 1991, Linux é o sistema operacional dominante no mundo. Lançado por Linus Torvalds, o Linux é um exemplo de excelência da inovação de como um projeto pode ser levado. O Linux também representa o desejo de Linus por um sistema operacional que ele poderia executar em seu computador pessoal, eventualmente o mundo todo tomou conhecimento dele e todos, desde empresas de hardware até provedores de tecnologias emergentes, se encontraram participando do desenvolvimento do Linux e da construção de soluções para serem executadas em um sistema operacional aberto. 

O que é Linux?

Entre 2005 e 2015, mais de 11 mil desenvolvedores individuais e quase 1.200 empresas diferentes contribuíram com o Kernel do Linux, que se tornou um recurso compartilhado comum, desenvolvido em grande escala por empresas que, de outra forma, são concorrentes ferozes em seus respectivos segmentos industriais.

Os lançamentos dos Linux são regulares, a cada dois ou três meses são oferecidas atualizações estáveis para os usuários, onde são adicionados novos recursos importantes, suporte aprimorado a dispositivos recorrentes e melhorias de desempenho. A taxa de mudança no Kernel foi historicamente alta e continua a aumentar, com mais de 10 mil patches em cada nova versão do Kernel. Cada um desses lançamentos contém o trabalho de mais de 1.400 desenvolvedores que representam mais de 200 corporações, incluindo Google, Microsoft, Red Hat, Lenovo, Linaro, IBM, Intel, AMD, e muitas, muitas outras.

Consulte aqui a Fonte desta definição de “O que é Linux”.

O que é Linux? – Definição técnica

OK, agora vamos mergulhar em algo um pouco mais denso para você entender o contexto como um todo. Esta definição também foi retirada do site oficial da Linux Foundation, você pode ler o artigo original aqui.

Assim como o Windows ou o macOS, Linux é um sistema operacional. Um sistema operacional é um software que gerencia todos os recursos de hardware associados ao seu desktop ou Notebook, assim como os seus dispositivos móveis. Para colocar de forma simples, o sistema operacional gerencia a comunicação entre o seu software e o seu hardware e serve como plataforma para as aplicações que você executa. Sem o sistema operacional (também referido como SO, ou OS em inglês), o restante dos softwares não poderia funcionar da forma como conhecemos.

Um “sistema operacional Linux” abrange um certa quantidade de setores:

Bootloader: O software que gerencia o processo de boot do seu computador. Para a maior parte dos usuários, ele é reconhecido como uma simples “splash screen” com algum logo ou animação que eventualmente acaba e te leva até a sua área de trabalho ou tela de login. Essa página do Debian nos mostra uma grande variedade de bootloaders disponíveis para Linux.

O mais popular é o GRUB, no entanto, ele é comumente utilizado em distros de desktop/servidor, sendo que em máquinas mais recentes o próprio Kernel é capaz de gerenciar o boot sem a necessidade de outro bootloader. Existe também um projeto chamado “Das U-Boot” que é Open Source e é responsável por dar boot em placas embarcadas, como o Raspberry Pi.

O Android geralmente possui uma versão modificada pelos fabricantes do Bootloader que lhe garante acesso a características específicas de cada aparelho. O bootloader do Android consegue ler do armazenamento do dispositivo as imagens boot.img e recovery.img que contém versões comprimidas do Kernel Linux, onde elas são carregadas diretamente para a RAM dos Smartphones/Tablets, etc. Aqui tem um slide interessante sobre o boot do Android.

Kernel: Esta é a parte que do todo que chamamos efetivamente de “Linux”. O Kernel é o núcleo do sistema e gerencia o CPU, memória, periféricos, etc, como já comentamos anteriormente no texto. O kernel pode ser considerado o nível mais baixo do sistema operacional, a base de tudo.

Daemons: Esses são serviços que rodam em background (processos de impressão, som, scheduling, etc.) que iniciam durante o boot, ou depois de iniciar a sessão na área de trabalho. Para entender melhor o que é e como funcionam confira este outro artigo do blog.

O Shell: Você provavelmente já ouviu falar do terminal Linux. De forma simples, isto é o Shell. Em um termo mais técnico, Shell (casca/concha) é a camada externa do Kernel, no entanto, o termo também é empregado em sistemas Unix onde programas em modo texto podem ser utilizados como meio de interação como interface para o usuário operar serviços de acesso direto ao Kernel.

No Linux você pode usar o shell também para alterar funções de camadas mais altas do sistema operacional, como a manuseamento de software e automação de tarefas. O primeiro Shell Unix foi criado por Ken Thompson, uma das mentes mais importantes do mundo da informática ao lado de Dennis Ritchie.

Nas distros em geral você encontra o Bash, provindo do GNU, como o interpretador de comandos Shell, no entanto, ele não é o único e o próprio Linux possui o seu próprio, não sendo, teoricamente necessário a utilização de um outro. Veja informações sobre o Busybox/ToyBox aqui, além deles temos alguns extremamente queridos pelos profissionais como ZSH, que em alguns casos pode ser até mais seguro do que o próprio Bash, fish, IPython, KornShell, etc.

Servidor Gráfico: Este é o sub-sistema que mostra os gráficos no seu monitor, que mostra as imagens. Ele é comumente referido no mundo Linux como “X”, “X Server” ou “X.org”. Existem outros em desenvolvimento, como o Mir, Wayland e o Freon, criado pela Google para os Chromebooks, entre outros menos populares.

Desktop Enviroment (DE): Essa é a parte do “quebra cabeças” dos sistemas que usam o Linux é que os usuários finais geralmente interagem. Existem muitos ambientes de trabalho (desktop enviroments) para se escolher no mundo Linux, como GNOME, Cinnamon, KDE, Enlightment, XFCE, LXDE, Budgie, Deepin Desktop Enviroment, entre outros. Cada Desktop Enviroment inclui suas próprias aplicações desenvolvidas para integração com o restante da interface, como gestores de arquivos, ferramentas de configuração, etc.

Aplicações: Apesar de existirem desktop enviroments que oferecem soluções praticamente completas para todo o tipo de ferramenta, eles ainda podem deixar algo faltando, e é aí que entram as aplicações. Assim como o Windows e o macOS, o Linux oferece milhares de softwares de alta qualidade que podem ser facilmente encontrados e instalados. Distros Linux modernas, e focadas em uso domésticos especialmente, já incluem ferramentas para instalar softwares de terceiros com poucos cliques. Estas sãos as chamadas “Centrais de Aplicativos”, que funcionam como a AppStore ou Google Play.

Definidas as camadas, Linux atualmente é a plataforma que agrupa e serve de base para todos esses projetos que são desenvolvidos comunitariamente muitas vezes, mas também de forma independente.

Linux é o único ponto em comum de todas as chamadas “distribuições Linux“, que são sistemas operacionais que usam o Kernel Linux como base para o desenvolvimento de seus projetos, agrupando softwares de todos os desenvolvedores, com licenças variadas. Por si só o Linux é um Kernel que também já pode ser considerado um sistema operacional independente, pois já possui um bootloader próprio, daemons e um terminal de interação próprio. Tudo o que vem acima disso para dar um propósito ao Linux é o que compõe o que chamamos de “distribuição Linux”, ou simplesmente “distro”.

Falando em distribuições Linux…

Existem desacordos locais entre o que deve e o que não deve ser chamado de “distribuição Linux”, mas vamos ater nos novamente a explicação oficial, quem sabe assim possamos virar essa página.

É mais simples do que parece, uma distribuição Linux é um sistema operacional que usa o Kernel Linux, simples assim. Seja ele qual for e para qual finalidade ele for.

Partir de uma base do Kernel Linux e acrescentar coisas que não vem nele por padrão, ou pegar o Kernel e desmontar ele completamente usando somente os componentes que interessam, não faz dele menos Linux, faz dele um Linux modificado. É exatamente isso que praticamente todas as chamadas distribuições Linux fazem, praticamente nenhuma usa o Kernel Linux “puro” disponível no Kernel.org.

Fazendo uma analogia que ignora a filosofia e considera a biologia: Do mesmo jeito que se você, que é composto de incontáveis átomos, você desintegrado e se tornasse poeira cósmica novamente continuaria sendo tecnicamente você, só que em outra forma, assim é o Linux.

O Linux possui um número imenso de versões diferentes, de versões para usuários novatos aos hard users, de relógios de pulso ao seu celular, de máquinas de lavar a geladeiras, de ordenhadeiras a robôs que andam em Marte, tem Linux para todos os gostos!

Cada uma dessas versões é chamada de distribuição Linux (ou distro). No caso das versões moldadas para rodar no Desktop, temos algumas famosas. O site Linux.com cita como exemplo:

– Ubuntu

– Linux Mint

– Arch Linux

– Deepin

– Fedora

– Debian

– openSUSE

(Parênteses no assunto)

E uma observação aqui, fugindo um pouco da pauta. Muitas pessoas ainda criticam o Deepin pelo simples fato de sua origem ser chinesa, esse assunto já foi debatido no canal em dois vídeos que você pode ver aqui e aqui. Mas o Kernel.org faz espelhamento do Deepin e a Linux Foundation (da qual a Wuhan Technology, desenvolvedora do Deepin faz parte) agora indica ele como uma das boas distros para uso no Desktop. Isso definitivamente não os exime de nada, mas é um ótimo indicativo de confiança.

Retomando…

Cada distribuição pode ter um público alvo e um propósito diferente, muitas vezes existem distribuições (ou projetos) que tentam criar versões do sistema para finalidades diferentes. Ubuntu para Desktop, Ubuntu Server, Ubuntu Snappy, etc, são bons exemplos disso.

Em suma, para algo ser uma “distro Linux” ela simplesmente precisa usar o Kernel Linux.

Linus Torlvalds –  A mente por trás do Linux

Nas suas pesquisas sobre Linux você já deve, inevitavelmente, ter ouvido falar de Linus Torvalds. Ele já havia sido mencionado em outro momento neste mesmo texto. Ele é o criador original do Linux e até hoje um dos principais mantenedores. Não é uma pessoa de muitas palavras e raramente dá entrevistas, por isso, aproveite o “show” em um raro TED Talks que a nossa equipe legendou em português para você.

Linus Torlvads Entrevista Ted Talks PTBR

Apesar de Torvalds ser reconhecido mundialmente como “a mente por trás do Linux”, ele não é o único a fazer este árduo trabalho. A Linux Foundation nos mostra quem são as pessoas que atualmente estão ao lado de Linus Torvalds nesse trabalho.

Linux Desenvolvedores principais

Mencionar Chris Mason, Dan Williams e Greg Kroah-Hartman é interessante, pois muita gente se pergunta o que aconteceria com o Linux caso Linus Torvalds se aposente ou venha a falecer, a resposta é que a Linux Foundation está aí justamente para isso e estas são algumas das pessoas que poderiam assumir o cargo. Falamos mais sobre este assunto mórbido neste outro artigo aqui do blog.

E o Tux?

O Tux é o mascote do Linux, esse pinguim simpático que você já viu na primeira imagem deste artigo. Nós temos um artigo aqui no blog dedicado a te ensinar a origem do mascote do Linux, que atualmente possui inúmeras variações, veja alguns exemplos:

O mascote do Linux

Conclusões e Mitos Rápidos

– O que é Linux? 

R: Uma plataforma ou sistema operacional (Kernel e ferramentas satélites que podem ou não ser usadas, dependendo do projeto), criando proeminência para o Kernel.

– Android é Linux?

R: De uma vez por todas, SIM. Se você precisar de mais referências, veja o site oficial do Android, veja o site da Linux Foundation, veja a página da Wikipédia e consulte as referências para o artigo e por último, confira este artigo aqui do blog que tem um vídeo bacana sobre o assunto, e damos isso por encerrado. Belezinha? 😉

– Linux ou GNU/Linux?

R: É uma velha guerra e dificilmente quem se decidiu muda de opinião. A verdade é que cada um é uma coisa, tanto que são representados por instituições diferentes e ambos vivem de forma independente.

Ao se referir a “Linux” você se refere a toda e qualquer aplicação, sistema ou plataforma, que rode o Kernel Linux (usando ferramentas GNU ou não), usar o termo GNU/Linux é fazer uma alusão as ferramentas GNU que são inclusas em algumas distribuições comuns em desktop, como GRUB, Bash, GCC, entre outros, o que a meu ver (opinião pessoal agora):

É elucidar uma iniciativa (que é importante, mas não única) em detrimento de outras igualmente importantes. Uma distro como o Manjaro KDE por exemplo é formada por muito mais coisas do que apenas “Linux e ferramentas GNU”, temos ali KDE, QT, X.org, Filesystems e muitos outros softwares que formam o sistema operacional que você usa e que são provindos de outros desenvolvedores, onde juntas formam toda a distribuição, seguindo a mesma lógica, não seria justo usar todos os contribuidores no nome?

Melhor chamar só de “Manjaro” mesmo, que é o resultado desse agrupamento de software específico, que é o nome do sistema operacional, uma das muitas distros Linux que também usam ferramentas GNU. 

Uma das definições que eu já ouvi, é que chamar de “GNU/Linux” é também uma forma de trazer o projeto GNU a tona, tentando endossar a ideia do Software Livre, o que é louvável, mas a meu ver não é coerente. Um verdadeiro sistema GNU/Linux para mim seria um sistema operacional lançado pelo projeto GNU que usasse o Linux como Kernel.

Não temos uma “GNU/Linux Foundation”, nem uma “qt/KDE/GNU/X/Mesa/Intel/Linux/Minix/Unix Foundation”, temos uma fundação GNU, uma fundação Linux e assim por diante, afinal, são coisas diferentes e nem sempre relacionadas. E mesmo quando são, as ferramentas GNU estão sob a mesma base Linux que todas as outras ferramentas que compõem o sistema operacional estão, no nosso exemplo, o KDE Plasma, o sistema de arquivos, os KApps, os gestores de softwares, o servidores gráfico, entre outras coisas.

Para mais informações sobre essa discussão chata, inconclusiva para muitos e completamente inútil e improdutiva, veja a série “Muito Além do GNU” do canal Toca do Tux.

– Linux (ou Linux Foundation) é uma empresa?

R: Não! Muita gente se confunde quanto a isso e pensa que “Linux” é um sistema operacional que concorre diretamente com Windows e macOS no mercado através de uma empresa, então “se a Linux quiser abocanhar uma parte do mercado… blá, blá, blá”, você já deve ter ouvido isso. Para acabar com isso de uma vez, confira o vídeo “O que você ainda não entendeu sobre ‘O Linux’“.

Se preferir consumir o conteúdo deste vídeo em modo texto, faça a leitura neste artigo aqui do blog. Agora quando você pensar em Linux, não pense em um prédio cheio de escritórios onde um monte de pessoas trabalha desenvolvendo o Linux.

Algumas distros Linux são criadas dessa forma (mas não somente dessa forma), especialmente as que (justamente) possuem uma empresa “tradicional” por trás, como Ubuntu (Canonical) e Red Hat EL (Red Hat), Android (Google) entre outras.

Linux pode ser desenvolvido por uma série de empresas, mas ele é de domínio público, qualquer um (literalmente) pode utilizar o Linux para seus projetos, você não precisa necessariamente ser um contribuidor direto do Linux para usar Linux, no entanto, o simples fato de você usar Linux acaba gerando feedback e eventualmente código que vai ajudar a melhorar o Linux em versões futuras.

A Microsoft poderia criar uma versão do Linux para Desktop se quisesse, a Apple poderia criar um sistema Linux para o iPhone se quisesse também e assim por diante. A única coisa que tem Copyright é o nome Linux, que pertence a Linus Torlvalds por questões legais.

– Qual a função da “Linux Foundation”?

R: A Fundação Linux é dedicada a construir ecossistemas sustentáveis em torno de projetos de código aberto para acelerar o desenvolvimento de tecnologia e adoção comercial. Fundada em 2000, a Fundação Linux oferece suporte incomparável para comunidades de código aberto através de recursos financeiros e intelectuais, infra-estrutura, serviços, eventos e treinamento. Trabalhando juntos, a Fundação Linux e seus projetos formam o investimento mais ambicioso e bem sucedido na criação de tecnologia compartilhada, mais do que Linux “A Fundação Linux” conquistou sua experiência e expertise apoiando a comunidade Linux para ajudar a estabelecer, construir e sustentar algumas das tecnologias de código aberto mais críticas. 

Seu trabalho hoje se estende muito além do Linux, promovendo a inovação em todas as camadas da pilha de software. A Fundação Linux organiza projetos que abrangem TI corporativa, sistemas embarcados, eletrônicos de consumo, nuvem, rede e muito mais. Alguns desses projetos de alta velocidade que estão ajudando a redefinir o que é possível incluem o Hyperledger para tecnologias de cadeias de blocos interindustriais; Automotive Grade Linux, a plataforma de software aberto para aplicações automotivas; o projeto da Plataforma de Automação de Rede Aberta (ONAP) para automação de software em tempo real e orientada por políticas de funções de rede virtual; e Kubernetes, o projeto Cloud Native Computing Foundation para orquestração de contêineres de produção.

Conclusão do artigo

Todas as informações contidas neste artigo não são opinativas, elas são factuais e retiradas de fontes confiáveis e que foram referenciadas nos links ao longo do texto, além disso, você pode consultar o próprio site da Linux Foundation para validar as informações. A única informação opiniativa foi gravada em itálico na sessão “Linux ou GNU/Linux”.

Eu sinceramente espero que as horas que eu gastei pesquisando e organizando este conteúdo sejam realmente úteis para você! 🙂

Até a próxima!

Diolinux Ofertas - Aproveite os melhores descontos em diversos produtos!