Chapter 26. Synchronization

A virtual device uses the synchronization services to coordinate the execution of threads and virtual machines. The following terms are related to synchronization:

Term Definition
block ID A programmer-defined 32-bit value associated with one or more blocked threads.
claim A request on the part of a virtual device to enter a critical section.
claim count A system-defined variable that indicates the number of times the owner of a critical section has claimed the section.
context switch The act of turning the CPU's "attention" from one thread to another.
critical section A block of program code that accesses a shared system resource.
critical section owner The thread or virtual machine that is currently executing in a critical section.
must-complete count A system-defined variable that indicates the number of times the owner of a must-complete section has claimed the section.
must-complete section A block of code that must be executed in its entirety before any other thread or virtual machine can run.
mutex A synchronization object that ensures only one thread at a time can access a shared resource. A thread must have ownership of the mutex before it can access the resource. The thread blocks if the mutex is owned by another thread.
reentry count A system-defined variable that indicates the number of times the owner of a mutex has called the _EnterMutex service after gaining ownership.
semaphore An synchronization object that maintains a token count between zero and some maximum value. The object's state is signaled when its token count is greater than zero, and not-signaled when its count is zero.
signal To increase the token count of a semaphore.
semaphore token count The value associated with a semaphore. The initial token count is set when the semaphore is created. A signal operation increments the token count, and a wait operation decrements it.