blob: fbdc8fe7ee71770cbb834bdc2f66de0c7a7e15e8 [file] [log] [blame] [view]
**Components** are the foundational building blocks of software running in
Fuchsia. Each component is a composable, sandboxed module that interacts with
other components through capabilities. This promotes system security and
creates clear interfaces between individual components, making them easier to
update or replace.
In Fuchsia, **everything is a component** (almost). Recall from the previous
discussion of Zircon that the surface area of the kernel is intentionally small,
with most core services being implemented in user space. This means that most
software running on Fuchsia is implemented using the component framework,
including:
* User-facing applications
* Device drivers
* Filesystems
* Media codecs
* Network stacks
Outside the kernel there are only a few low-level exceptions not using the
component framework, such as bootloaders and the `userboot` process.