|
Xenomai
3.3
|
The Cobalt core is a co-kernel which supplements the Linux kernel for delivering real-time services with very low latency. More...

Modules | |
| In-kernel arithmetics | |
| A collection of helpers performing arithmetics not implicitly available from kernel context via GCC helpers. | |
| Buffer descriptor | |
| Abstraction for copying data to/from different address spaces. | |
| Clock services | |
| Debugging services | |
| Dynamic memory allocation services | |
| This code implements a variant of the allocator described in "Design of a General Purpose Memory Allocator for the 4.3BSD Unix
Kernel" by Marshall K. | |
| Locking services | |
| The Xenomai core deals with concurrent activities from two distinct kernels running side-by-side. | |
| Lightweight key-to-object mapping service | |
| A map is a simple indexing structure which associates unique integer keys with pointers to objects. | |
| Registry services | |
| The registry provides a mean to index object descriptors on unique alphanumeric keys. | |
| Thread scheduling control | |
| Synchronous I/O multiplexing | |
| This module implements the services needed for implementing the POSIX select() service, or any other event multiplexing services. | |
| Thread synchronization services | |
| Thread services | |
| Timer services | |
| The Xenomai timer facility depends on a clock source (xnclock) for scheduling the next activation times. | |
| Virtual file services | |
| Virtual files provide a mean to export Xenomai object states to user-space, based on common kernel interfaces. | |
The Cobalt core is a co-kernel which supplements the Linux kernel for delivering real-time services with very low latency.
It implements a set of generic RTOS building blocks, which the Cobalt/POSIX and Cobalt/RTDM APIs are based on. Cobalt has higher priority over the Linux kernel activities.
| Tag | Context on entry |
|---|---|
| primary-only | Must be called from a Cobalt task in primary mode |
| primary-timed | Requires a Cobalt task in primary mode if timed |
| coreirq-only | Must be called from a Cobalt IRQ handler |
| secondary-only | Must be called from a Cobalt task in secondary mode or regular Linux task |
| rtdm-task | Must be called from a RTDM driver task |
| mode-unrestricted | May be called from a Cobalt task in either primary or secondary mode |
| task-unrestricted | May be called from a Cobalt or regular Linux task indifferently |
| unrestricted | May be called from any context previously described |
| atomic-entry | Caller must currently hold the big Cobalt kernel lock (nklock) |
| Tag | Description |
|---|---|
| might-switch | The Cobalt kernel may switch context |