1. A system comprising: a processor; one or more memory storage units; software code stored in the one or more memory storage units, where the software code is executable by the processor to generate a plurality of adaptive partitions that are each associated with one or more process threads, where each of the plurality of adaptive partitions has a corresponding processor time budget, and where a critical adaptive partition of the plurality of adaptive partitions is associated with at least one critical thread and has a corresponding critical time budget, and where the software code further comprises a scheduling system executable by the processor for selectively allocating the processor to the process threads based, at least in part, on the processor time budgets of the respective adaptive partitions, where the scheduling system may allocate the processor to the critical thread based on an available amount of the critical time budget of the critical adaptive partition even when the processor time budget of the critical adaptive partition has been exhausted.