|
Xenomai
3.1
|
| ▼RTDM | The Real-Time Driver Model (RTDM) provides a unified interface to both users and developers of real-time device drivers |
| RTDM User API | Application interface to RTDM services |
| ▼Driver programming interface | RTDM driver programming interface |
| Driver to driver services | Inter-driver interface |
| Device Registration Services | |
| Clock Services | |
| Task Services | |
| Timer Services | |
| ▼Synchronisation Services | |
| Big dual kernel lock | |
| Spinlock with preemption deactivation | |
| Event Services | |
| Semaphore Services | |
| Mutex services | |
| Interrupt Management Services | |
| Non-Real-Time Signalling Services | These services provide a mechanism to request the execution of a specified handler in non-real-time context |
| Utility Services | |
| ▼Device Profiles | Pre-defined classes of real-time devices |
| User-space driver core | This profile includes all mini-drivers sitting on top of the User-space Device Driver framework (UDD) |
| CAN Devices | This is the common interface a RTDM-compliant CAN device has to provide |
| Serial Devices | This is the common interface a RTDM-compliant serial device has to provide |
| Testing Devices | This group of devices is intended to provide in-kernel testing results |
| Real-time IPC | Profile Revision: 1 |
| ▼Cobalt | Cobalt supplements the native Linux kernel in dual kernel configurations |
| ▼Cobalt kernel | The Cobalt core is a co-kernel which supplements the Linux kernel for delivering real-time services with very low latency |
| Asynchronous Procedure Calls | Services for scheduling function calls in the Linux domain |
| 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 |
| Interrupt management | |
| 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 | |
| SCHED_QUOTA scheduling policy | The SCHED_QUOTA policy enforces a limitation on the CPU consumption of threads over a globally defined period, known as the quota interval |
| 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 | |
| Thread runtime statistics | |
| Thread state flags | Bits reporting permanent or transient states of threads |
| Thread information flags | Bits reporting events notified to threads |
| 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 |
| ▼Analogy framework | A RTDM-based interface for implementing DAQ card drivers |
| ▼Driver API | Programming interface provided to DAQ card drivers |
| Channels and ranges | Channels |
| Driver management services | Analogy driver registration / unregistration |
| Subdevice management services | Subdevice declaration in a driver |
| Buffer management services | Buffer management services |
| Interrupt management services | |
| Misc services | |
| ▼Analogy user API | |
| ▼Level 1 API | |
| Asynchronous acquisition API | |
| Descriptor API | |
| Synchronous acquisition API | |
| ▼Level 2 API | |
| Asynchronous acquisition API | |
| Software calibration API | |
| Math API | |
| Range / conversion API | |
| Synchronous acquisition API | |
| ▼Level 0 API | |
| Descriptor Syscall API | |
| Basic Syscall API | |
| Attach / detach Syscall API | |
| ▼POSIX interface | |
| Clocks and timers | Cobalt/POSIX clock and timer services |
| Condition variables | Cobalt/POSIX condition variable services |
| Message queues | Cobalt/POSIX message queue services |
| Mutual exclusion | Cobalt/POSIX mutual exclusion services |
| Process scheduling | Cobalt/POSIX process scheduling |
| Semaphores | Cobalt/POSIX semaphore services |
| Thread management | Cobalt (POSIX) thread management services |
| Scheduling management | Cobalt scheduling management services |
| Smokey API | A simple infrastructure for writing and running smoke tests |
| ▼Alchemy API | A programming interface reminiscent from traditional RTOS APIs |
| Alarm services | General-purpose watchdog timers |
| Buffer services | Lightweight FIFO IPC mechanism |
| Condition variable services | POSIXish condition variable mechanism |
| Event flag group services | Inter-task notification mechanism based on discrete flags |
| Heap management services | Region of memory dedicated to real-time allocation |
| Mutex services | POSIXish mutual exclusion servicesl |
| Message pipe services | Two-way communication channel between Xenomai & Linux domains |
| Message queue services | Real-time IPC mechanism for sending messages of arbitrary size |
| Semaphore services | Counting semaphore IPC mechanism |
| Task management services | Services dealing with preemptive multi-tasking |
| Timer management services | Services for reading and spinning on the hardware timer |
| VxWorks® emulator | A VxWorks® emulation library on top of Xenomai |
| pSOS® emulator | A pSOS® emulation library on top of Xenomai |
| Transition Kit | A set of wrappers and services easing the transition from Xenomai 2.x to 3.x |