50 lines
1.7 KiB
ReStructuredText
50 lines
1.7 KiB
ReStructuredText
.. _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 Wi-Fi 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
|