ChibiOS/LIB is an RTOS extension library. This library can be added on top of RT and NIL kernels increasing the core RTOS functionality with higher level mechanisms.
For a detailed description of functionalities please refer to the reference manuals, in brief:
Two states semaphores. An useful variant of counter semaphores.
Queues of messages between Thread/ISR and Thread/ISR, messages are pointer-sized variables.
Characters queues between threads.
Copy-less exchange of fixed-size messages between Thread/ISR and Thread/ISR. Messages can have any size.
A very fast way to allocate memory blocks from a global heap. It is a two ways allocator, block can be allocated both from top downward or from base upward.
The classic alloc/free of variable-size memory blocks.
An efficient way to allocate/free fixed-size blocks.
A way to allocate kernel objects or custom objects dynamically, objects are assigned a name and can be used by reference or by name. Objects have a reference counter and disappear when the last reference is released.
Dynamically allocated threads, this is an RT-only feature not available on NIL.