What is concurrent programming?
A (non-technical) term to describe the use of flags or boolean variables to ensure mutually exclusive access to a critical region
What is "incorrect" (or similar)
A necessary condition for deadlock that prevents one thread from forcibly taking a resource from another
What is "no preemption"?
A system in which some deadlines can be missed occasionally with acceptably low probability
What is a soft real time system?
A task in which the usefulness of the returned result is zero after the deadline
What is a hard real time task?
One of the four necessary conditions to avoid race conditions, specifying that at most one thread can execute in the critical region
What is mutual exclusion
A complex, but correct solution for mutually exclusive protection of critical regions that works by combining turn-taking and "want" flags
What is Peterson's solution?
A state from which there exists no execution order in which processes can access resources and run to completion
What is an unsafe state?
A term for when a high priority task becomes blocked while attempting to access a resource that is currently locked by another lower priority task
What is priority inversion?
This type of scheduling approach makes scheduling decisions when important events occur, such as release times
What is Priority driven scheduling?
A concurrency condition that if only one thread tries to get into the C.R., it succeeds.
What is Absence of Unnecessary Delay?
An abstraction for atomic Test and Set (TAS) that achieves mutually exclusive protection of critical regions including “counting” and “binary” varieties
What are Semaphores?
An algorithm for actively avoiding deadlock by checking ahead to determine whether potential future requests can be safely accommodated when making a new allocation
What is the Banker's Algorithm?
A priority inversion control strategy in which a Low priority task executes in the critical region with priority of a High priority task that is waiting for a shared resource held by the Low priority task.
What is priority inheritance?
An optimal dynamic scheduling algorithm, optimal for static priority tasks
What is Rate Monotonic?
A concurrency condition that a waiting thread eventually gets into the C.R.
What is bounded waiting?
A semaphore solution that utilizes a Last-In, First-Out selection mechanism for selecting to awaken a waiting thread or process for a queue fails this requirement
What is bounded waiting?
A solution for preventing deadlock in which a process must give up all resources it currently holds before requesting a next resource can result in this new failure mode for a thread (multiple possible responses)
What is indefinite postponement or starvation? Alternatively, what is livelock?
One of the problems with simple priority inheritance, aside from deadlock
What is Chain blocking?
An optimal dynamic scheduling algorithm, optimal among all real-time scheduling algorithms (periodic task sets, uniprocessor, no resources or dependencies)
What is Earliest Deadline First?
A concurrency condition that if two or more threads try to get into the C.R., and at least one succeeds
What is Absence of Deadlock?
A canonical problem for condition synchronization (multiple possible responses)
What is Readers/Writers? or What is Bounded Buffer? Or What is Producer/Consumer problem?
A strategy that imposes a total ordering on all resource types and force all processes to request resources in that order
What is preventing deadlock by preventing circular wait? / What is breaking circular wait?
A non-greedy solution to resource sharing in real-time tasks that ensures no deadlock, no chainblocking, and bounded delay
What is Priority Ceiling Protocol (PCP)?
The name of technique used to prove the optimality of EDF.
What is the time slice swapping technique?