Thread Scheduler Details

Updated: October 26, 2022

The adaptive partitioning thread scheduler is an optional thread scheduler that lets you guarantee minimum percentages of the CPU's throughput to groups of threads, processes, or applications. The percentage of the CPU allotted to a partition is called a budget.

The thread scheduler was designed on top of the core QNX Neutrino RTOS architecture to primarily solve two problems in embedded systems design:

We call our partitions adaptive because their contents are dynamic:

You can control adaptive partitioning from the command line with the aps utility (see the Utilities Reference), or from a program with the SchedCtl() or SchedCtl_r() function (see the QNX Neutrino C Library Reference).

Note: Before you call SchedCtl(), ensure that you initialize all the members of the data structure that you pass to it. You can use the APS_INIT_DATA() macro to do this.