The following terms are related to the time-slice scheduler:
Term | Definition |
---|---|
background priority | The time-slice priority of a virtual machine that does not have the execution focus. |
background virtual machine | A virtual machine that does not have the execution focus. |
base priority | The unboosted time-slice priority of a thread. A thread's base priority depends on its priority class. |
block | The temporary halting of the execution of a thread or virtual machine while it waits for a needed resource to be freed. |
boost | An increase or decrease in the time-slice priority of a thread. |
dynamic boost | An temporary increase or decrease in the time-slice priority of a thread, brought about by either the VMM or a virtual device. |
exclusive execution | The execution of a virtual machine to the exclusion of all other non-system virtual machines. When a virtual machine has the execution focus and is executing exclusively, the VMM suspends all other non-system virtual machines. The VMM never suspends the system virtual machine. |
execution focus | A property of the virtual machine with which the user is currently working. The virtual machine with the execution focus runs in the foreground and its priority is boosted. |
foreground priority | The time-slice priority assigned to a virtual machine that has the execution focus. |
foreground virtual machine | The virtual machine that has the execution focus. |
high priority class | A group of time-slice priority values associated with high priority threads. |
idle | The state of a thread or virtual machine that is runnable but needs input before continuing. |
idle priority class | A group of time-slice priority values associated with idle threads. |
idle thread | A thread that runs only when there are no higher priority threads to run. |
initial thread | The first thread created in a virtual machine. The system virtual machine can have many thread, non-system virtual machines have only one thread. |
inversion boost | An increase in the time-slice priority of a thread that owns a resource so that the priority matches that of the highest-priority thread that blocks on the resource. |
inversion priority | In priority inversion prevention, the time-slice priority to which the owner thread is raised. Also see priority inversion prevention. |
normal priority class | A group of time-slice priority values associated with threads that are not idle, high priority, or real time. |
priority class | A group of priority values associated with threads of a particular type. Also see idle priority class, normal priority class, high priority class, and real-time priority class. |
priority inversion list | A list, maintained internally by the VMM, that contains information used to raise the priority of threads that own resources on which other threads block. Also see priority inversion prevention. |
priority inversion prevention | A technique the VMM uses to prevent a form of deadlock in which a low priority thread that owns a resource is unable to run because of its low priority, and a higher priority thread that also needs the resource remains blocked while waiting for the resource to be freed. |
real-time priority class | A group of priority values associated with threads that perform time-critical tasks. |
round robin | The sequential, cyclical allocation of processor time to all threads of the same priority. |
schedule | Allocating processor time to a virtual machine or thread. |
static boost | Raising or lowering a thread's time-slice priority with no time decay. |
suspend | To halt a process temporarily. |
system idle priority | A priority of 0, which is reserved for system use. |
system thread | The first thread created in the system virtual machine. |
thread | The basic entity to which the VMM allocates processor time. A thread can execute any part of the application's code, including a part currently being executed by another thread. All threads of a process share the virtual address space, global variables, and operating system resources of the process. |
thread group | Two or more threads whose priorities are boosted at the same time. |
thread starvation | A situation in which a thread does not receive adequate processor time because its time-slice priority is too low. |
time-slice | A brief period of time during which a thread receives control of the processor. |
time-slice execution flags | A set of flags, defined in the VMM include files, that can be set in the control block of a virtual machine or thread and control aspects of how the thread is scheduled. |
time-slice granularity | The duration of a time-slice. |
time-slice list | A list of the threads that the VMM is currently scheduling. |
time-slice priority | A number associated with a thread and used by the VMM to determine the amount of processor time to grant to the thread. |
time-slice quantum | The average duration of all time slices. |
time-decayed boost | Raising or lowering of a thread's time-slice priority, followed by a return to the base priority over several subsequent time slices. |