Kernel do Linux

Imagine que você está dentro do CORAÇÃO DO LINUX OU SEJA O KERNEL, esse simulador serve exatamente para isso, para você aprender de forma didática.

Antes de entender como o KERNEL LINUX funciona é importante entender como a estrutura de desenvolvimento do kernel funciona, o Linus Torvalds que é o líder do projeto, só liberada para o público (qualquer um pode baixar), após sua revisão final.

Assim fica fácil de você entender: O kernel está basicamente dividido em partes, é como se fosse uma empresa, um prédio e vários departamentos, cada departamento é responsável por uma parte da empresa, dependendo do tamanho da empresa ela vá precisa de muitos departamentos específicos ou não, vai depender do objetivo final da empresa e seu tamanho, por exemplo uma empresa de garagem (Puppy Linux), não precisa da parte do RH dentro dela, já uma empresa que desenvolve diversos sistemas (CANONICAL), e tem diversos clientes pelo Brasil precisa de um departamento RH dentro da empresa.

Antes de ir para o simulador veja bem essa imagem e estrutura, isso é o motor de muitos, mas muitos sistemas ao redor do mundo.

Linux do Zero

Estrutura Interna do Kernel Linux

Explore os subsistemas que formam o núcleo do sistema operacional.
Clique em cada componente para aprender mais.

🖥 Hardware
CPU RAM Disco Rede USB
KERNEL LINUX — monolítico com módulos versão 6.1.0
🔌 Drivers / Hardware
🧠 Gerenc. de Memória
📁 Sistema de Arquivos
⚙️ Gerenc. de Processos
🌐 Networking / Redes
System Calls
read() write() fork() exec() open() socket() mmap() kill()
👤 Espaço do Usuário
bash python apt firefox ssh
🔬

Microkernel

Minix / QNX

Mantém o kernel o mais pequeno e simples possível. O restante (drivers, sistema de arquivos) roda no espaço do usuário como serviços separados.

✔ Muito estável
✔ Falha isolada
✔ Mais seguro
✘ Mais lento
✘ Overhead maior
🔀

Kernel Híbrido

Windows / macOS

Combina características do monolítico e do microkernel, buscando equilíbrio entre desempenho e estabilidade.

✔ Equilíbrio
✔ Flexível
✘ Complexo
✘ Difícil depurar

Exokernel

Pesquisa / MIT

Extremamente minimalista — expõe o hardware diretamente às aplicações. Muito usado em pesquisa acadêmica.

✔ Máximo desempenho
✔ Total controle
✘ Muito complexo
✘ Pouco uso prático

Por que o Linux escolheu o monolítico?

O design monolítico permite que os subsistemas do kernel se comuniquem diretamente, sem a latência de troca de mensagens de um microkernel. Com a adição de módulos carregáveis (.ko), o Linux ganha a flexibilidade de carregar apenas o necessário — o melhor dos dois mundos para servidores, desktops e sistemas embarcados.

🔧 O que são Módulos do Kernel?

Módulos são blocos de código que podem ser carregados ou descarregados do kernel em tempo de execução, sem reiniciar o sistema. Ficam em /lib/modules/ com extensão .ko

lsmodlistar módulos
modinfover informações
modprobecarregar
rmmoddescarregar
Módulo (.ko) Categoria Função
e1000.ko🔌 Driver de RedeDriver para placas Intel PRO/1000
ext4.ko📁 Sistema de ArquivosSuporte ao sistema de arquivos EXT4
usb-storage.ko🔌 Driver USBSuporte a dispositivos USB
nvidia.ko🖥 Driver de VídeoDriver proprietário NVIDIA
iptable_filter.ko🌐 FirewallFiltragem de pacotes (iptables)
snd-hda-intel.ko🔊 Driver de ÁudioÁudio Intel HDA
btrfs.ko📁 Sistema de ArquivosSuporte ao Btrfs
kvm.ko⚙️ VirtualizaçãoVirtualização KVM
💡 Por que usar módulos?
Carregar apenas o necessário economiza memória RAM. Módulos com falha podem ser removidos sem reiniciar. Adicionar suporte a novo hardware sem recompilar o kernel inteiro.

/proc

pseudo-sistema de arquivos
/proc/cpuinfoinformações detalhadas da CPU
/proc/meminfouso de memória RAM e swap
/proc/versionversão do kernel em uso
/proc/uptimetempo ligado desde o boot
/proc/net/estatísticas de rede
/proc/[PID]/info de cada processo ativo
/proc/modulesmódulos do kernel carregados
/proc/filesystemssistemas de arquivos suportados

/sys

interface com drivers e dispositivos
/sys/class/dispositivos por classe
/sys/block/dispositivos de bloco (discos)
/sys/bus/baramentos (PCI, USB, SCSI)
/sys/devices/árvore de dispositivos
/sys/kernel/parâmetros do kernel
/sys/module/parâmetros dos módulos
/sys/power/controle de energia
/sys/firmware/interface com BIOS/UEFI

📂 Outros diretórios do kernel

/bootbinários do kernel (vmlinuz, initrd)
/lib/modulesmódulos carregáveis (.ko)
/usr/srccódigo-fonte do kernel
/devdispositivos como arquivos

Rolar para cima