Methods and computer-executable components for real-time scheduling of CPU
resources are disclosed. A performance counter determines when to
allocate CPU resources to a thread. When it is time to allocate the CPU
resources, the performance counter issues a maskable or non-maskable
interrupt to an advanced programmable interrupt controller (APIC). The
APIC then issues a maskable non-maskable interrupt to the CPU. In
response to receiving the non-maskable interrupt, the CPU allocates
resources to the thread. In addition, the disclosed methods and
computer-executable components also: (a) allow scheduling of CPU
resources such that real-time threads are guaranteed respective portions
of time slots, (b) enable real-time scheduling on a non-real-time
operating system, and (c) provide scheduling of CPU resources on a
uni-processor machine such that at least first and second real-time
threads dependent on one another are synchronized.