Capítulo 2.1 - Visão Geral da Arquitetura
Objetivos de Aprendizagem
Ao final deste capítulo, você será capaz de:
- Compreender a separação entre Espaço do Usuário e Espaço do Kernel
- Identificar as responsabilidades de cada componente do sistema
- Visualizar os fluxos de comunicação
- Entender os conceitos de processo e memória
Arquitetura em Camadas
O Linux segue uma arquitetura em camadas bem definida:
Espaço do Usuário vs Espaço do Kernel
Espaço do Usuário (User Space)
Função: Executar aplicações e programas do usuário
Características:
- Contém todos os aplicativos que você utiliza
- Acesso limitado ao hardware (via chamadas de sistema)
- Isolamento entre processos
- Gerenciamento de permissões de usuário
Componentes:
- Aplicações de usuário (navegador, editor, etc.)
- Shell e linha de comando
- Bibliotecas do sistema (libc, etc.)
- Serviços e daemons
Espaço do Kernel (Kernel Space)
Função: Gerenciar os recursos do sistema e o hardware
Características:
- Acesso direto ao hardware
- Gerenciamento de processos e memória
- Sistema de arquivos
- Rede e dispositivos
- Proteção e segurança
Componentes:
- Kernel Linux (núcleo)
- Drivers de hardware
- Gerenciamento de memória
- Sistema de arquivos virtual (VFS)
Fluxos de Comunicação
1. Usuário → Shell → Aplicação
2. Processo → Kernel → Hardware
3. systemd → Serviços → Kernel
Arquitetura do Kernel
O Kernel Linux é organizado em vários subsistemas:
Principais subsistemas:
-
Gerenciamento de Processos
- Escalonamento (scheduler)
- Criação e finalização
- Comunicação entre processos
-
Gerenciamento de Memória
- Alocação dinâmica
- Memória virtual
- Swap
-
Sistema de Arquivos
- VFS (Virtual File System)
- Suporte a múltiplos sistemas de arquivos
- Cache e buffers
-
Gerenciamento de Rede
- Stack TCP/IP
- Interfaces de rede
- Firewall
-
Gerenciamento de Dispositivos
- Drivers
- Plug and play
- Gerenciamento de energia
Processo Init e systemd
O processo init (PID 1) é o primeiro processo iniciado na inicialização:
Funções do systemd:
- Primeiro processo (PID 1)
- Pai de todos os processos
- Gerenciamento de serviços
- Monitoramento de processos
- Gerenciamento de runlevels
Resumo
Neste capítulo, você aprendeu:
Arquitetura em camadas: Aplicação → Sistema → Hardware
Espaço do Usuário: Aplicações e programas do usuário
Espaço do Kernel: Gerenciamento do sistema e hardware
Comunicação: Fluxos via chamadas de sistema (syscalls)
Kernel: Organizado em subsistemas especializados
systemd: Primeiro processo, gerenciamento de serviços
Próximos Passos
Agora que você compreende a arquitetura geral:
Capítulo 2.2: Kernel Linux - O Coração do Sistema
Capítulo 2.3: Gerenciamento de Memória e Swap
Capítulo criado em: Dezembro de 2024