Terms

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.