Capítulo 2.2 - Kernel Linux
Objetivos de Aprendizagem
Ao final deste capítulo, você será capaz de:
- Compreender o papel do Kernel Linux
- Explicar como o Kernel gerencia os recursos
- Entender as chamadas de sistema (syscalls)
- Identificar as interações com o hardware
O que é o Kernel Linux?
O Kernel Linux é o núcleo do sistema operacional. Ele atua como uma interface entre o hardware e os softwares, gerenciando todos os recursos do sistema.
Papéis do Kernel
1. Gerenciamento de Processos
O Kernel cria, agenda e termina processos:
- Criação: fork(), clone()
- Escalonamento: Scheduler (CFS - Completely Fair Scheduler)
- Finalização: exit(), kill()
- Comunicação: pipes, sockets, sinais
2. Gerenciamento de Memória
O Kernel gerencia a memória física e virtual:
- Alocação: malloc() → kmalloc()
- Memória virtual: Paginação, swap
- Proteção: Separação dos espaços de memória
- Cache: Buffer cache, page cache
3. Sistema de Arquivos
O Kernel gerencia o acesso aos arquivos:
- VFS: Virtual File System (interface unificada)
- Suporte a múltiplos FS: ext4, xfs, btrfs, etc.
- Permissões: Verificação dos direitos de acesso
- Cache: Melhoria de desempenho
4. Gerenciamento de Rede
O Kernel gerencia as comunicações de rede:
- Stack TCP/IP: Implementação dos protocolos
- Interfaces de rede: eth0, wlan0, etc.
- Firewall: iptables, netfilter
- Roteamento: Tabelas de roteamento
5. Gerenciamento de Dispositivos
O Kernel gerencia os dispositivos de hardware:
- Drivers: Drivers para cada dispositivo
- Plug and Play: Detecção automática
- Gerenciamento de energia: ACPI, suspend/resume
- Interrupções: Gerenciamento de IRQ
Chamadas de Sistema (Syscalls)
As aplicações se comunicam com o Kernel através das chamadas de sistema:
Exemplos de chamadas de sistema:
open(): Abrir um arquivoread(): Ler de um arquivowrite(): Escrever em um arquivofork(): Criar um processoexec(): Executar um programasocket(): Criar um socket de rede
Arquitetura do Kernel
O Kernel é organizado em módulos:
Tipos de módulos:
- Core: Funcionalidades essenciais (sempre carregadas)
- Modules: Funcionalidades opcionais (carregadas sob demanda)
- Drivers: Drivers de hardware
Resumo
Neste capítulo, você aprendeu:
Kernel Linux: Núcleo do sistema, interface hardware/software
Papéis: Gerenciamento de processos, memória, arquivos, rede, dispositivos
Chamadas de sistema: Interface entre aplicações e kernel
Arquitetura: Core + modules + drivers
Módulos: Carregamento dinâmico de funcionalidades
Próximos Passos
Capítulo 2.3: Gerenciamento de Memória e Swap
Capítulo 2.4: Sistema de Arquivos Virtual (VFS)
Capítulo criado em: Dezembro 2024