Skip to content
JelinaJelina DocumentationTechnical documentation
Back to website

Core concepts

This page briefly introduces the key concepts needed to understand JelinaOS. You do not need to memorize them all—return here as a reference while reading other chapters.

The core reliability design in JelinaOS. Both the kernel and system have two complete copies, A and B, with only one set used at runtime:

  • The two copies provide mutual backup, both in their factory state.
  • System updates write only to the inactive copy; switching occurs after the update completes and passes validation.
  • If the new version has problems, you can revert to the other copy at any time.

For users, A/B partitions mean upgrades with a recovery path instead of a gamble.

At runtime, the system partition is mounted read-only, preventing any program from changing its contents. This is the foundation of system security: even with application faults or accidental operations, the system itself remains intact.

A separate partition holds all user data and write operations:

  • User files, configuration, and application data are stored here.
  • System updates and factory resets do not affect the data partition itself. A factory reset does restore the system and user-written data to their factory state, so back up important data first.
  • The data partition and system partition are physically isolated and do not interfere with each other.

JelinaOS supports online updates (OTA) for four categories: the system, kernel, device agent, and incremental updates:

  • Cloud OTA: Centrally orchestrated by JelinaCloud, with batch delivery and staged execution.
  • Local OTA: Updates through device-side tools for offline or locally controlled environments.
  • Incremental updates (Increment): Transfer only changes to save bandwidth and shorten update times, suitable for sites with limited bandwidth.

The management component running on each device bridges the device and JelinaCloud:

  • Handles device registration, status reporting, and update execution.
  • Manages the lifecycle of containerized and non-containerized applications.
  • Provides local interfaces for on-site management and diagnostics.
  • Containerized application: An application delivered as a container image, providing a consistent environment and simple deployment.
  • Non-containerized application (ProgramSet): A traditional program running as a service, with declarative configuration and system-level management.
  • Release: A collection of applications and configurations created in the cloud and deployed to devices; the basic unit of updates and version management.

A unit for grouping and managing devices in JelinaCloud. Devices in the same fleet can:

  • Use a centrally specified release version.
  • Receive batch system, kernel, and agent updates.
  • Share centrally configured runtime policies.

The device agent supports several operating modes for different deployment environments:

Mode Use case Characteristics
Cloud-managed Standard JelinaCloud deployment Registration, reporting, and cloud command reception
Locally managed Environments without a cloud or on isolated private networks Device management through local interfaces
Offline Temporary network disconnection Retains cloud configuration and suspends network activity
Standalone Deployments entirely without cloud connectivity Local device self-management without cloud dependencies
Concept Brief explanation
A/B partitions Two system copies provide a recovery path for updates
Read-only system System contents cannot be modified
Data partition Separate storage for user data
OTA Online updates executed from the cloud or locally
Incremental update Efficient update that transfers only changes
Device agent Bridge between device and cloud
Release Deployment unit for applications and configuration
Fleet Unit for grouping and managing devices