Ir al contenido
JelinaJelina DocumentationDocumentación técnica
Volver al sitio oficial

Arquitectura del sistema

Cuatro conceptos resumen la arquitectura de JelinaOS: dos sistemas, raíz de solo lectura, datos independientes y coordinación con la nube. Juntos sustentan la fiabilidad, la facilidad de mantenimiento y la gestión del sistema.

JelinaOS organiza el almacenamiento en particiones con responsabilidades claras e independientes. Las particiones se identifican mediante etiquetas fijas y uniformes entre plataformas. Aunque cambien los nodos de dispositivo subyacentes —sda/nvme en x86 o mmcblk en ARM—, el sistema localiza las particiones por su nombre:

┌──────────────────────────────────────────────────────────────────────────────┐
│ jelina-boot Partición de arranque: cargador y variables de entorno │
│ jelina-kernel-1 Kernel 1: redundante con 2, solo lectura │
│ jelina-kernel-2 Kernel 2 │
│ jelina-system-1 Sistema 1: solo lectura, estado de fábrica │
│ jelina-system-2 Sistema 2 │
│ jelina-data Partición de datos: todos los datos y escrituras del usuario │
│ jelina-recv Recuperación: reparación del sistema y restauración de fábrica│
└──────────────────────────────────────────────────────────────────────────────┘
  • Particiones A/B: el kernel y el sistema mantienen dos copias completas y redundantes.
  • Montaje de solo lectura: durante la ejecución, ningún programa puede alterar el contenido de la partición del sistema.
  • Partición de datos independiente: todos los datos, configuraciones y escrituras del usuario se almacenan en la partición Data.

Independientemente del hardware, JelinaOS sigue la misma lógica de arranque:

Firmware → Cargador de arranque → Selección de partición A/B → Carga del kernel → Montaje del sistema → Inicio de aplicaciones
│ │ │
Específico de Específico de Independiente de plataforma; flujo posterior idéntico en todas
plataforma plataforma
  1. El firmware y el cargador de arranque inicializan la plataforma; sus diferencias no requieren intervención del usuario.
  2. El cargador lee la política de arranque, elige la partición A o B y verifica el estado del sistema.
  3. Tras iniciar el kernel, el sistema combina la partición de solo lectura con la partición de datos escribible en una vista de ejecución unificada.
  4. Los servicios del sistema y las aplicaciones arrancan en orden y el dispositivo comienza a operar.

Las actualizaciones siguen el mismo proceso: la nueva versión se escribe en la partición de reserva, se verifica automáticamente tras el cambio y se revierte si falla. En instalaciones con ancho de banda limitado pueden utilizarse actualizaciones incrementales que transmiten solo las diferencias.

El proceso garantiza que la actualización solo afecte a la partición de reserva, mantenga operativo el sistema actual y realice verificación y conmutación automáticas al arrancar.

Durante la ejecución, los datos siguen reglas estrictas de aislamiento:

┌─────────────────────────────────────────────────┐
│ Aplicaciones: contenedores / aplicaciones nativas│
└────────────────────────┬────────────────────────┘
│ Lecturas: sistema de solo lectura
│ Escrituras: partición de datos
┌────────────────────────┴────────────────────────┐
│ Sistema: solo lectura, inmutable │
├─────────────────────────────────────────────────┤
│ Partición de datos: todas las escrituras │
└─────────────────────────────────────────────────┘
  • Las aplicaciones pueden leer el sistema, pero no modificarlo.
  • Todas las escrituras se redirigen a la partición de datos, completamente aislada del sistema.
  • La restauración de fábrica devuelve el sistema y las escrituras del usuario al estado inicial. Haz copias de seguridad de la información importante previamente.

El agente integrado conecta el dispositivo con JelinaCloud:

┌──────────────────┐ Informes de estado / registros ┌──────────────────┐
│ Dispositivo borde│ ─────────────────────────────────────▶ │ JelinaCloud │
│ JelinaOS │ ◀───────────────────────────────────── │ Plataforma nube │
└──────────────────┘ Actualizaciones / operación remota └──────────────────┘
  • Envío a la nube: estados, métricas y registros continuos, visibles en tiempo real.
  • Envío al dispositivo: orquestación centralizada de actualizaciones, versiones de aplicaciones y políticas de configuración.
  • Canal seguro: en producción, el dispositivo se comunica con la nube mediante canales cifrados, sin exponer el mantenimiento remoto a Internet.
Capa Componentes Responsabilidad
Aplicaciones Aplicaciones en contenedores y nativas Ejecutar la lógica de negocio
Ejecución Entorno de contenedores, gestión de servicios y agente Orquestar aplicaciones, servicios y coordinación con la nube
Sistema Sistema de solo lectura: Debian / Ubuntu / Kylin, etc. Proporcionar una base estable e inmutable
Hardware ARM64: Allwinner / Rockchip / NXP i.MX; x86_64 Adaptación uniforme entre plataformas

El resultado es un sistema más seguro, actualizaciones más fiables y operaciones más sencillas: la respuesta arquitectónica de JelinaOS para el borde industrial.