a method by which processes, waiting for an event to occur, continuously test to see if the condition has changed and remain in unproductive, resource consuming wait loops.
busy waiting
command used with COEND to indicate to a multiprocessing compiler the beginning of a section where instructions can be processed concurrently.
COBEGIN
command used with COBEGIN to indicate to a multiprocessing compiler the end of a section where instructions can be processed concurrently.
COEND
execution by a single processor of a set of processes in such a way that they appear to be happening at the same time.
concurrent processing
a part of a program that must complete execution before other processes can have access to the resources being used.
critical region
a type of concurrent programming that requires that the programmer explicitly state which instructions can be executed in parallel.
explicit parallelism
a type of concurrent programming in which the compiler automatically detects which instructions can be performed in parallel
implicit parallelism
a cross-platform programming language, developed by Sun Microsystems, that closely resembles C++ and runs on any computer capable of running the Java interpreter
Java
a multiprocessing configuration in which each processor has a copy of the operating system and controls its own resources
loosely coupled configuration
an asymmetric multiprocessing configuration consisting of a single processor system connected to “slave” processors each of which is managed by the primary “master” processor, which provides the scheduling functions and jobs
master/slave
a computer chip that contains more than a single central processing unit (CPU)
multi-core processor
when two or more processors share system resources that may include some or all of the following: the same main memory, I/O devices, and control program routines
multiprocessing
a condition that specifies that only one process may update (modify) a shared resource at a time to ensure correct operation and results
mutex
the algebraic convention that dictates the order in which elements of a formula are calculated
order of operations
other term for order of operations
precedence of operations or rules of precedence
the process of operating two or more CPUs in parallel, with more than one CPU executing instructions simultaneously
parallel processing
an address or other indicator of location
pointer
(1) the need for algorithms to resolve conflicts between processors in a multiprocessing environment; or (2) the need to ensure that events occur in the proper order even if they are carried out by several processes
process synchronization
a classic problem in which a process produces data that will be consumed, or used, by another process
producers and consumers
a problem that arises when two types of processes need to access a shared resource such as a file or a database
readers and writers
a type of shared data item that may contain either binary or nonnegative integer values and is used to provide mutual exclusion
semaphore
a multiprocessing configuration in which processor scheduling is decentralized and each processor is of the same type
symmetric configuration
an indivisible machine instruction, which is executed in a single machine cycle to determine whether the processor is available
test-and-set (TS)
a data structure that contains information about the current status and characteristics of a thread
Thread Control Block (TCB)