Glossary
-
aligned
-
See
naturally aligned.
-
alignment
-
Alignment refers to the placement of a data item in memory.
For a data item to be naturally aligned, its lowest-addressed byte must
reside at an address that is a multiple of the size of the data item
(in bytes).
For example, a naturally aligned longword has an address that is a
multiple of 4.
See also
naturally aligned.
-
atomicity
-
Atomicity is a type of serialization that refers to the indivisibility
of a small number of actions, such as those occurring during the
execution of a single instruction or a small number of instructions.
-
busy wait time
-
Busy wait time is the amount of CPU time expended on waiting for a
simple lock to become free.
-
complex lock
-
A complex lock is a mechanism for protecting resources in an SMP environment.
A complex lock achieves the same results as a simple lock.
However, device drivers should use complex locks (not simple locks) if there
are blocking conditions.
See
also
simple lock.
-
deadlock
-
A deadlock is a programming error that causes two or more
kernel threads to be indefinitely blocked.
Specifically, the error occurs when a kernel thread
holds a resource while waiting for a resource held by another
kernel thread and that kernel thread is also waiting for the
first kernel thread's resource.
-
funnel
-
A funnel is a mechanism for protecting resources in
an SMP environment.
A funnel achieves the same results as simple and complex locks, not by
locking resources and code blocks but by forcing execution of a
subsystem (for example, a device driver) onto a single CPU.
-
granularity of data access
-
The phrase
granularity of data access
refers to the size of neighboring
units of memory that can be written independently and atomically by
multiple CPUs.
Regardless of the order in which the two units are written, the results
must be identical.
-
kernel thread
-
A kernel thread is a single sequential flow of control within a
device driver or other systems-based program.
The device driver or other systems-based program makes use of the kernel
interfaces (instead of a threads library package such as DECthreads) to start,
terminate, delete, and perform other kernel threads-related operations.
See also
thread.
-
naturally aligned
-
Naturally aligned indicates that a data item's lowest-addressed byte
must reside in memory at an address that is a multiple of the size of
the data item (in bytes).
For example, a naturally aligned longword has an address that is a
multiple of 4.
The term
naturally aligned
is usually shortened to ``aligned.''
See also
alignment.
-
priority inversion
-
Priority inversion occurs when the interaction among three or more
kernel threads blocks the highest-priority kernel thread from
executing.
For example, a high-priority kernel thread waits for a resource
locked by a low-priority kernel thread, and the low-priority
kernel thread waits while a middle-priority kernel thread
executes.
The high-priority kernel thread is made to wait while a
kernel thread of lower priority (the middle-priority
kernel thread) executes.
-
race condition
-
A race condition is a programming error that causes unpredictable and
erroneous program behavior.
Specifically, the error occurs when two or more kernel threads
perform an operation and the result of the operation depends on
unpredictable timing factors, for example, when each kernel thread
executes and waits and when each kernel thread completes the
operation.
-
resource
-
A resource, from the device driver's standpoint, is data
that more than one kernel thread can manipulate.
You can store the resource in variables (global)
and data structure members.
-
simple lock
-
A simple lock is a general-purpose mechanism for protecting resources in
an SMP environment.
See also
complex lock.
-
SMP
-
See
symmetric multiprocessing.
-
software synchronization
-
Software synchronization refers to the coordination of events in such a
way that only one event happens at a time.
This kind of synchronization is a serialization or sequencing of events.
Serialized events are assigned an order and processed one at a time in
that order.
While a serialized event is being processed, no other event in the
series is allowed to disrupt it.
-
spin lock
-
See
simple lock.
-
symmetric multiprocessing
-
Symmetric multiprocessing (SMP) describes a computer environment that uses two
or more central processing units (CPUs).
In an SMP environment, software applications and the associated device
drivers can operate on two or more of these CPUs.
-
thread
-
A thread is a single, sequential flow of control within a program.
Within a single thread, there is a single point of execution.
See also
kernel thread.