Pular para o conteúdo
JelinaJelina DocumentationDocumentação técnica
Voltar ao site oficial

Arquitetura do sistema

A arquitetura se resume em quatro conceitos: sistema duplo, raiz somente leitura, dados independentes e integração com a nuvem. Juntos, formam a base da confiabilidade, da facilidade de manutenção e da gestão do JelinaOS.

Cada partição tem uma responsabilidade específica e não interfere nas demais. Nomes fixos de partição (Label) são iguais em todas as plataformas. Independentemente dos nós de dispositivo subjacentes, como sda/nvme em x86 ou mmcblk em ARM, o sistema localiza as partições por nome:

┌───────────────────────────────────────────────────────────────────────────────┐
│ jelina-boot Partição de inicialização: carregador e variáveis de ambiente │
│ jelina-kernel-1 Kernel 1 (reserva mútua com 2, somente leitura) │
│ jelina-kernel-2 Kernel 2 │
│ jelina-system-1 Sistema 1 (somente leitura, estado de fábrica) │
│ jelina-system-2 Sistema 2 │
│ jelina-data Partição de dados: todos os dados e gravações do usuário │
│ jelina-recv Partição de recuperação: reparo e restauração de fábrica │
└───────────────────────────────────────────────────────────────────────────────┘
  • Partições duplas A/B: kernel e sistema mantêm duas cópias completas como backup mútuo.
  • Montagem somente leitura: durante a execução, os programas não podem alterar o conteúdo da partição do sistema.
  • Partição de dados independente: dados, configurações e gravações de execução ficam na partição Data.

Todas as plataformas de hardware seguem a mesma lógica:

Firmware do hardware → Carregador → Selecionar partição A/B → Carregar kernel → Montar sistema → Iniciar aplicações
│ │ │
Específico da plataforma Específico da plataforma Independente da plataforma; restante do fluxo igual em todas
  1. Firmware e bootloader inicializam a plataforma. As diferenças específicas de hardware são transparentes ao usuário.
  2. O bootloader lê a política de inicialização, escolhe a partição A ou B e verifica a integridade do sistema.
  3. Após iniciar o kernel, o sistema combina a partição somente leitura e a partição de dados gravável em uma visão única de execução.
  4. Serviços do sistema e aplicações de negócio iniciam em sequência, colocando o dispositivo em operação.

As atualizações seguem o mesmo fluxo: a nova versão é gravada na reserva, validada após a troca e revertida automaticamente em caso de falha. Em redes limitadas, incrementos transferem apenas as diferenças.

A atualização modifica apenas a partição de reserva, sem afetar o sistema em execução; a inicialização valida automaticamente a integridade e troca de cópia se houver anomalia.

Durante a execução, o fluxo interno segue regras rigorosas de isolamento:

┌──────────────────────────────────────────────────────────┐
│ Camada de aplicações (contêineres / aplicações nativas) │
└─────────────────────────────┬────────────────────────────┘
│ Leitura: sistema somente leitura
│ Gravação: partição de dados
┌─────────────────────────────┴────────────────────────────┐
│ Camada do sistema (somente leitura, imutável) │
├──────────────────────────────────────────────────────────┤
│ Partição de dados (todas as gravações do usuário) │
└──────────────────────────────────────────────────────────┘
  • As aplicações podem ler o conteúdo do sistema, mas não modificá-lo.
  • Todas as gravações são redirecionadas à partição de dados, isolada do sistema.
  • A restauração de fábrica redefine o sistema e as gravações do usuário; faça backup prévio dos dados importantes.

O agente integrado conecta o dispositivo ao JelinaCloud:

┌──────────────────────┐ ┌──────────────────────┐
│ Dispositivo de borda │ Estado / logs │ JelinaCloud │
│ JelinaOS │ ────────────────────────────────▶ │ Plataforma de nuvem │
│ │ ◀──────────────────────────────── │ │
│ │ Atualizações / manutenção remota │ │
└──────────────────────┘ └──────────────────────┘
  • Envio à nuvem: estado, métricas e logs contínuos, com visualização em tempo real.
  • Envio ao dispositivo: atualizações, Releases e políticas de configuração orquestradas centralmente.
  • Canal seguro: no modo de produção, a comunicação com a nuvem usa apenas o canal criptografado, sem expor a manutenção à rede pública.
Camada Componentes Responsabilidade
Aplicação Aplicações nativas e em contêineres Executar a lógica de negócio
Execução Runtime de contêineres, gestão de serviços e agente Orquestração, serviços do sistema e integração com a nuvem
Sistema Sistema somente leitura, como Debian / Ubuntu / Kylin Base estável e protegida contra alterações
Hardware ARM64, com Allwinner / Rockchip / NXP i.MX, e x86_64 Adaptação unificada a várias plataformas

O resultado é mais segurança, atualizações mais confiáveis e manutenção mais simples, objetivos centrais da arquitetura do JelinaOS para a borda industrial.