Fuchsia is a production-grade operating system designed to power consumer devices and products used for business-critical applications. As such, Fuchsia is not a playground for experimental operating system concepts. Instead, practical use cases arising from partner and product needs drive the platform’s roadmap.
By prioritizing security, updatability, and performance, our goal is to create an operating system that meets the needs and expectations of developers, manufacturers, and consumers.
Fuchsia may delay in pursuing new or experimental features to ensure that Fuchsia is as good—or better—than the alternatives.
A kernel that is practical, not minimal
Zircon is a pragmatic, message-passing kernel—not a microkernel
Although Fuchsia applies many of the concepts popularized by microkernels, Fuchsia does not strive for minimality. For example, Fuchsia has over 170 syscalls, which is vastly more than that of a typical microkernel. Instead of minimality, the system architecture is guided by practical concerns about security, privacy, and performance.
Fuchsia provides pathways for porting existing software
There is a large ecosystem of software for existing platforms; developers shouldn't need to rewrite everything from scratch. Fuchsia supports a subset of POSIX to ease porting costs. Furthermore, Fuchsia’s software model encourages developers to bring their own runtimes in the form of component runners. This allows developers to use their desired application frameworks and re-use much of their application code.
A flexible scheduler optimizes the system
Fair scheduling gives the system more flexibility to schedule work
Increasing the choices available to the system scheduler gives the scheduler the flexibility to optimize for power, throughput, or latency, as appropriate for the situation. At any given time, there are more threads in the system that are ready to do useful work than there would be if threads commonly blocked one another.
On the roadmap
This section covers features on Fuchsia's roadmap.
Performance is a priority
Asynchronous communication reduces latency
Fuchsia makes heavy use of asynchronous communication, which reduces latency by letting the sender proceed without waiting for the receiver. This is important for delivering software that can come and go on a device as needed, to account for network latency.
Fuchsia does not yet achieve its performance goals, but this is an area under active development. For example, performance related storage enhancements are on the project roadmap.