Structure of Fuchsia OS TOPAZ PERIDOT Garnet ZIRCON
Topaz
The uppermost user-facing layer of Fuschia. This handles the UI, shell and offers basic applications – such as video player, image viewer and chat client. This is written in Dart using the Flutter framework.
Peridot
This is the application layer, Fuchsia is designed to be very modular: Agent (think speech to text) services, Module management (this is a core idea in Fuchsia’s apps), Entities (data-objects that can be shared), Stories (Fuchsia’s name for apps). Ledger is the storage system designed to push an app’s status to the cloud. A system called Maxwell monitors Agents to intelligently deliver on-demand context-appropriate information, think Google Assistant. It primarily supports the Dart and Go languages.
Garnet
The service layer that sits atop the core kernel. This delivers network, media, graphics services and runs the package management and Amber Tuf-based update system. It handles authentication, app manager, device settings, system tracing, metrics collection and reporting. Part of this is the Magma graphics framework using the Vulkan API and Escher renderer to drive the Fuchsia UI layer Topaz. This graphics system is called Scenic.
Zircon (formly Magenta)
The micro-kernel layer that underpins the Fuchsia OS. Zircon contains the kernel, bootloader, device drivers, device manager service and a hypervisor. For low-level development there’s the Fuchsia Interface Definition Language, libc and launchpad libraries. User space libraries include file server and device driver service to run processes at boot time.