Pular para o conteúdo principal

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:

  1. Gerenciamento de Processos

    • Escalonamento (scheduler)
    • Criação e finalização
    • Comunicação entre processos
  2. Gerenciamento de Memória

    • Alocação dinâmica
    • Memória virtual
    • Swap
  3. Sistema de Arquivos

    • VFS (Virtual File System)
    • Suporte a múltiplos sistemas de arquivos
    • Cache e buffers
  4. Gerenciamento de Rede

    • Stack TCP/IP
    • Interfaces de rede
    • Firewall
  5. 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