Why adaptive?

Updated: October 26, 2022

To provide realtime performance with guarantees against overloading, QNX Neutrino introduced adaptive partitioning. Rigid partitions work best in fairly static systems with little or no dynamic deployment of software. In dynamic systems, static partitions can be inefficient. For example, the static division of execution time between partitions can waste CPU time and introduce delays:

An adaptive partition is a set of threads that work on a common or related goal or activity. Like a static partition, an adaptive partition has a budget allocated to it that guarantees its minimum share of the CPU's resources. Unlike a static partition, an adaptive partition:

You can introduce adaptive partitioning without changing—or even recompiling—your application code, although you do have to rebuild your system's OS image.

Note: You can have a maximum of 32 partitions. In QNX Neutrino, it's threads, not partitions, that are scheduled.