blob: d1b3254bec56558c26b1d2499269243e8f60f4e6 [file] [log] [blame]
.. _kernel:
Kernel Services
###############
The Zephyr kernel lies at the heart of every Zephyr application. It provides
a low footprint, high performance, multi-threaded execution environment
with a rich set of available features. The rest of the Zephyr ecosystem,
including device drivers, networking stack, and application-specific code,
uses the kernel's features to create a complete application.
The configurable nature of the kernel allows you to incorporate only those
features needed by your application, making it ideal for systems with limited
amounts of memory (as little as 2 KB!) or with simple multi-threading
requirements (such as a set of interrupt handlers and a single background task).
Examples of such systems include: embedded sensor hubs, environmental sensors,
simple LED wearable, and store inventory tags.
Applications requiring more memory (50 to 900 KB), multiple communication
devices (like WiFi and Bluetooth Low Energy), and complex multi-threading,
can also be developed using the Zephyr kernel. Examples of such systems
include: fitness wearables, smart watches, and IoT wireless gateways.
.. toctree::
:maxdepth: 2
threads/index.rst
other/interrupts.rst
synchronization/semaphores.rst
synchronization/mutexes.rst
data_passing/fifos.rst
data_passing/lifos.rst
data_passing/stacks.rst
data_passing/message_queues.rst
data_passing/mailboxes.rst
data_passing/pipes.rst
timing/clocks.rst
other/cpu_idle.rst
timing/timers.rst
memory/slabs.rst
memory/pools.rst
memory/heap.rst
other/atomic.rst
other/polling.rst
other/float.rst
other/ring_buffers.rst
other/cxx_support.rst
other/version.rst