.. _os-architecture: ######################## OrchestraOS Architecture ######################## OrchestraOS combines container and native application support, device services, and image-based system updates on Linux and systemd. The reference layout separates replaceable A/B release slots from shared persistent configuration and runtime data. .. _os-architecture-overview: .. _os-high-level-design: High-Level Design ================= .. figure:: images/orchestraos-architecture.svg :alt: OrchestraOS container applications, native applications, and RAUC updates each communicate in both directions with Linux and systemd. Storage sits below Linux, followed by boot firmware and the target hardware. :width: 100% :class: architecture-figure Core design of OrchestraOS. Applications and update services use the same Linux foundation; the lower bands show storage and boot foundations. Select any diagram to open its full-size SVG. Container workloads use Docker and Compose. Native applications execute directly on the target and can run as systemd services. RAUC updates replace the inactive system and application slot group, while ``/data`` and the writable ``/etc`` overlay retain configuration and runtime state. The diagram describes the reference RAUC image with rootfs on LVM. Firmware and secure-boot support depend on the selected target. :ref:`os-optional-extensions` describes capabilities added by separate layers. The following subchapters describe the software, storage, and boot policies: .. toctree:: :maxdepth: 1 /chapters/orchestra-os/architecture-software.rst /chapters/orchestra-os/architecture-storage.rst /chapters/orchestra-os/architecture-boot.rst