Linux
O que é "Linux", exatamente?
Linux é, tecnicamente, apenas o kernel — criado por Linus Torvalds em 1991, como projeto pessoal inspirado no Minix (um Unix acadêmico). Sozinho, o kernel não é um sistema operacional utilizável: precisa de bibliotecas, um shell, gerenciador de pacotes e utilitários ao redor.
Esse conjunto (kernel Linux + ferramentas GNU + gerenciador de pacotes + tudo mais) é o que forma uma distribuição (distro):
┌─────────────────────┐
│ Kernel Linux │ ← o mesmo código-fonte,
│ (mesmo para todas) │ compartilhado por todas
└──────────┬───────────┘
┌──────────────┬──────┴───────┬──────────────┐
▼ ▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│ Ubuntu │ │ Debian │ │ Fedora │ │ Arch │
│ (.deb, │ │ (.deb, │ │ (.rpm, │ │(pacman, │
│ apt) │ │ apt) │ │ dnf) │ │rolling) │
└─────────┘ └─────────┘ └─────────┘ └─────────┘
Cada distro escolhe seu próprio gerenciador de pacotes, ambiente gráfico padrão (GNOME, KDE, XFCE), política de lançamento e foco (Ubuntu/Debian para desktop e servidor geral, Fedora para tecnologia de ponta, Arch para controle granular, Kali para segurança ofensiva).
Arquitetura do kernel
O kernel Linux é monolítico modular: todo o núcleo (processos, memória, rede, sistemas de arquivos) roda em modo kernel para máximo desempenho, mas drivers e funcionalidades podem ser compilados como módulos (.ko) carregados e descarregados em tempo de execução, sem recompilar o kernel inteiro.
lsmod # lista módulos carregados no momento
sudo modprobe nome # carrega um módulo (ex.: driver de rede)
sudo rmmod nome # descarrega um módulo
Isso dá parte da flexibilidade de um microkernel (adicionar/remover funcionalidade sem reiniciar) sem abrir mão do desempenho de chamadas internas de um monolítico.
"Tudo é um arquivo"
Uma filosofia central herdada do UNIX: dispositivos, processos e até informações do kernel são expostos como arquivos, navegáveis com os mesmos comandos (cat, ls, echo) usados para documentos comuns.
| Caminho | O que é |
|---|---|
/dev/sda | Disco físico inteiro (bloco de dispositivo) |
/dev/tty | Terminal atual |
/proc/cpuinfo | Informações da CPU, geradas ao vivo pelo kernel |
/proc/[pid]/ | Estado de um processo em execução |
/sys/class/thermal/ | Sensores de temperatura expostos pelo kernel |
Sistema de arquivos e boot
- ext4 é o sistema de arquivos padrão na maioria das distros (journaling, como o NTFS); alternativas modernas incluem Btrfs (snapshots nativos) e XFS (servidores de alta performance).
- systemd é o sistema de init (o primeiro processo, PID 1) na maioria das distros atuais — gerencia a ordem de inicialização de serviços, dependências e logs (
journalctl). Substituiu o antigoinit/SysV em quase todas as distros principais desde meados dos anos 2010.
systemctl status nginx # estado de um serviço
systemctl enable nginx # inicia automaticamente no boot
journalctl -u nginx # logs desse serviço
Código aberto e a licença GPL
O Linux é distribuído sob a GPL (GNU General Public License): qualquer um pode ler, modificar e redistribuir o código-fonte, desde que trabalhos derivados também sejam abertos sob a mesma licença (copyleft). É esse modelo que permite que fabricantes de hardware, a Google (Android) e distros comerciais (Red Hat) construam produtos sobre o mesmo núcleo sem pagar licenciamento.
Você pode ler o código-fonte exato do driver que está rodando na sua máquina, ou o do kernel de um roteador doméstico — não é possível fazer isso com o kernel NT do Windows ou o XNU do macOS, que são fechados.
Onde o Linux domina
| Ambiente | Por quê |
|---|---|
| Servidores/nuvem | Estabilidade, sem custo de licença, controle total via linha de comando — a imensa maioria da AWS/Azure/GCP roda instâncias Linux |
| Supercomputadores | 100% dos 500 supercomputadores mais rápidos do mundo rodam Linux (top500.org) |
| Sistemas embarcados | Roteadores, smart TVs, carros — kernel enxuto e customizável |
| Desenvolvimento/DevOps | Contêineres (Docker), Kubernetes e a maior parte da infraestrutura de nuvem nasceram e rodam nativamente em Linux |
| Android | Bilhões de smartphones — ver próxima página |
Próximo: macOS
➡️ macOS →