O que é Linux? O sistema operacional de código aberto que está mudando o mundo

Linux é um sistema operacional de código aberto experimentado e verdadeiro lançado em 1991 para computadores, mas seu uso se expandiu para suportar sistemas para carros, telefones, servidores web e, mais recentemente, equipamentos de rede.

Its longevidade, maturidade e segurança fazem dele um dos sistemas operacionais mais confiáveis disponíveis atualmente, o que significa que é ideal para dispositivos de rede comerciais, bem como para empresas que desejam usá-lo e seus periféricos para personalizar sua própria infraestrutura de rede e data center.

Isso, por sua vez, torna as habilidades Linux altamente procuradas pelos gerentes de contratação de TI. Por exemplo, muitas das novas tecnologias associadas ao DevOps, tais como containers, infra-estrutura e controladores SDN, são construídas em Linux.

O que é Linux?

Linux é um sistema operacional semelhante ao – embora, como veremos, não descendente diretamente do – Unix. Como a maioria dos sistemas operacionais do tipo Unix, Linux é composto de vários componentes.

O kernel

Este é o núcleo do sistema e envia instruções para a CPU, periféricos e memória.

O bootloader

Os processos que gerenciam o boot do sistema. Em um computador, o usuário reconheceria isso pela tela de início que estava em cima. Em um dispositivo de rede há um status indicando o processo de boot.

Daemons

Serviços em segundo plano que começam no momento do boot ou depois que o sistema está totalmente operacional. Por exemplo, o daemon de rede ativa todas as interfaces de rede no momento do boot. Outros daemons são coisas como tempo e DNS.

A shell

Esta é a linha de comando do Linux. Pode ser intimidante para pessoas que estão habituadas a trabalhar em ambientes gráficos, mas a maioria dos profissionais de rede estão habituados a operar numa shell.

Comandos Linux

A interface de linha de comandos (CLI) da shell oferece uma série de capacidades poderosas – incluindo aquelas cruciais para redes e administração de sistemas – para utilizadores experientes que estão familiarizados com a interface baseada em texto.

ambientes de desktop Linux

Além da shell, há uma série de ambientes de desktop para Linux, que funcionam como as GUIs baseadas em janelas conhecidas do Windows e macOS. Ao contrário desses sistemas operacionais, o Linux pode ser equipado com um dos muitos ambientes desktop para atender às necessidades e gostos do usuário.

Linux package managers and applications

Embora muitos programas – especialmente aqueles conduzidos pela linha de comando – estejam incluídos na maioria das instalações do sistema operacional Linux, você obviamente vai querer instalar mais para ganhar a funcionalidade que você precisa, e muitos desses programas serão aplicativos gráficos, baseados em GUI, mais familiares do que aqueles conduzidos por uma CLI. Geralmente você usará um gerenciador de pacotes, um programa que baixa pacotes de software de bibliotecas de software disponíveis gratuitamente, para este propósito. Algumas aplicações de rede para Linux, tais como as que se concentram na análise de tráfego, segurança e gestão de rede, têm interfaces gráficas, mas são muito menos em número do que as de servidores e desktops.

Linus Torvalds e a história do Linux

Como já foi referido, o Linux é um dos muitos sistemas operativos que se enquadram no cabeçalho de “tipo Unix”. A história do próprio Unix é extremamente confusa, mas o Linux, embora forneça grande parte da sensação do Unix, não reutiliza nenhum código fonte Unix.

Linux poderia na verdade ser considerado um neto do Unix. Seu predecessor imediato foi o MINIX, um pequeno SO semelhante ao Unix criado no final dos anos 80 para ilustrar os princípios do design do sistema operacional para os estudantes.

O código MINIX estava disponível para fins educacionais, mas não podia ser reutilizado para aplicações comerciais. Em 1991, um estudante de 21 anos de idade de ciência da computação chamado Linus Torvalds anunciou que iria criar um novo sistema operacional, inspirado no MINIX, mas escrito do zero para que o código pudesse ser lançado como código aberto sob a GNU GPL. Ele combinou o nome MINIX com seu próprio nome e dublou o novo sistema operacional Linux.

O kernel Linux

O kernel Linux é o núcleo do sistema operacional. Ele também representa a diferença chave entre Linux e MINIX (o que é um pouco irônico, pois Torvalds foi acusado de roubar código do MINIX para criar seu sistema operacional). Enquanto MINIX é baseado em um microkernel que contém a quantidade mínima de código necessária para rodar um sistema operacional, Linux tem um kernel monolítico, o que significa que funções como o sistema de arquivos, memória virtual, e várias chamadas de sistema acontecem em espaço privilegiado do kernel.

Uma das vantagens disto – que é também uma das principais vantagens do Linux como um todo – é que, enquanto o funcionamento interno do SO pode evoluir com o tempo, a interface entre o kernel e o espaço do usuário – a parte do sistema onde as aplicações individuais do usuário executam – permanece muito estável, o que significa que atualizar o Linux não o forçará a atualizar seus programas.

Linux community

Como observado, o código do Linux é de código aberto – especificamente, seu código é lançado sob a permissiva Licença Pública GNU. Isto significa:

  • O sistema operacional Linux pode ser baixado e instalado gratuitamente.
  • Administradores podem estudar o SO e customizá-lo.
  • Existem privilégios ilimitados de redistribuição das versões originais ou modificadas do sistema operacional.

Um dos sinais mais claros de que o Linux é um projeto baseado em comunidade é que o kernel não é mantido em sigilo em um laboratório corporativo, mas sim através de uma lista pública de e-mail, onde todas as atualizações propostas e debates sobre se elas devem ser adotadas no sistema operacional estão disponíveis para qualquer um ver. Qualquer um pode juntar-se à comunidade Linux participando e contribuindo para esta lista de discussão.

Torvalds preside a lista como um ditador não particularmente benevolente – ele era notório por deixar escapar diatribes obscenas sobre código que ele achava particularmente problemático – mas ultimamente ele tem tentado consertar seus caminhos um pouco.

A comunidade Linux vai muito além apenas do kernel, no entanto. A natureza aberta do Linux significa que há um enorme grupo de profissionais e entusiastas ativamente envolvidos em encontrar novas maneiras de usá-lo. Por exemplo, os contentores têm evoluído muito através do envolvimento da comunidade.

E ser um projecto de comunidade Linux não significa que uma plataforma baseada em Linux seja um dispositivo “menor”. O Linux tem um excelente ecossistema com APIs maduras, bem como uma pilha ágil de redes otimizada para o centro de dados modernizado. Por exemplo, o Linux é projetado com planos de controle e encaminhamento de dados separados, facilitando a queda em arquiteturas de rede definidas por software, pois separar esses planos é a base do SDN.

Distribuições Linux

Porque o Linux é de código aberto, não há nenhum fornecedor vendendo-o; teoricamente, você poderia baixar o kernel, um ambiente desktop e vários outros utilitários e aplicativos, e instalá-los todos você mesmo. Na prática, estes componentes do SO são empacotados juntos no que é chamado de distribuição – basicamente, um SO Linux ajustado de uma forma particular que está pronto para uso fora da caixa.

Again, em teoria qualquer um poderia colocar uma distribuição Linux junto, mas a maioria é oferecida por empresas e organizações sem fins lucrativos. Distribuidores comerciais podem cobrar pela sua distribuição, ou oferecer serviços opcionais de suporte pago. Algumas das distribuições Linux mais conhecidas são:

  • Ubuntu
  • SuSE
  • Debian
  • Red Hat
  • Fedora
  • Oracle Linux
  • CentOS
  • Arch Linux
  • Mandriva

A lista está sempre mudando; DistroWatch mantém o controle dos principais jogadores e avalia os prós e contras de cada um.

Linux vs. Windows

A virada do milénio foi uma era dourada para as guerras Microsoft vs. Linux, com os utilizadores contrabandistas de Linux seguros da superioridade do seu sistema operativo escolhido, tanto em termos ideológicos como técnicos, e com a Microsoft a disparar de volta com a mesma paixão. Muitos dos mais vocais proponentes do Linux afirmaram que o dia em que o Linux se tornaria um sistema operacional de desktop dominante estava bem próximo. Isto obviamente nunca aconteceu. Como um SO comercial de usuário final, o Linux nunca se espalhou além de um nicho minúsculo, e os dias dessas batalhas já passaram em grande parte (embora você ainda encontrará pessoas dispostas a lutar).

Mas quando se trata de servidores Linux, essa é uma história diferente. O Linux é amplamente visto como um dos principais players no mercado de servidores, a par da Microsoft e de outros fornecedores. E no mercado de tecnologia mais lucrativo a surgir neste século, o Linux, de certa forma, esmagou absolutamente Redmond. O sistema operacional móvel Android é, no fundo, um derivado do Linux, e o Android é o principal player do mercado móvel onde, apesar de repetidas tentativas, a Microsoft falhou em obter uma participação.

Para que é utilizado o Linux?

Devido à sua flexibilidade, o Linux encontrou o seu caminho para uma série de nichos, desde produtos incorporados até servidores de supercomputação. Durante a última década houve uma explosão no número de produtos baseados em Linux que tiveram um grande impacto no espaço de TI, incluindo:

  • Kubernetes: Gestor de cluster de contentores do Google
  • OpenStack: Plataforma de software para infra-estrutura como uma plataforma de nuvem de serviços
  • Open Daylight: Projeto baseado em java da Linux Foundation para acelerar a adoção de SDNs e Virtualização de Funções de Rede (NFV)
  • Docker: Software container program
  • Open vSwitch (OVS): Switch virtual multicamadas distribuídas para fornecer uma pilha de comutação dentro de ambientes de virtualização. OVS é particularmente interessante porque oferece um conjunto mais rico de características de rede do que as capacidades básicas do kernel Linux. Se o OVS é mesmo moderadamente bem sucedido, pode ser um excelente precursor da forma das coisas a vir em rede.

O trabalho em rede tem sido lento para abraçar o Linux, mas quanto mais as empresas dependem da rede, mais os domínios de rede e de servidor estão sendo empurrados juntos. Para os engenheiros de rede, poder acessar o shell Linux nativo permite que eles utilizem ferramentas e softwares que antes estavam disponíveis apenas para servidores. Isto torna muito mais fácil orquestrar serviços de rede com mudanças nos servidores e aplicações.

Por que o Linux tem tanto sucesso na empresa?

No seu olhar sobre o Linux para o seu 25º aniversário, Paul Venezia da InfoWorld refletiu sobre porque este sistema operacional upstart desenhado por hippies e idealistas em vez de empresários acabou tendo tanto sucesso no mundo corporativo. Sua opinião é que o apelo do Linux era duplo.

Primeiro, o Linux é adaptável, com diferentes distribuições portando-o para praticamente qualquer plataforma de computação que você pudesse nomear.

E segundo, o Linux é barato. Não era no tipo livre de Linux que as empresas estavam interessadas – elas não confiavam francamente no livre – mas Linux comercial de baixo custo com suporte disponível era difícil de deixar passar. E talvez ainda mais importante, o Linux poderia rodar em hardware de commodity – os PCs x86 baratos que a maioria das empresas já tinha em abundância – numa época em que outros vendedores Unix como a Sun usavam seu sistema operacional para agregar em seu hardware high-end.

Estes fatores manterão o Linux na empresa por anos futuros. Portanto, se você é um administrador de sistemas ou de rede, você vai querer se familiarizar com ele.