Concurrency
Synchronization
Deadlock
Real Time Programming
Real Time Scheduling
100
The notation and techniques for expressing parallelism in problems and solving the resulting synchronization and communication problems

What is concurrent programming?

100

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)

100

A necessary condition for deadlock that prevents one thread from forcibly taking a resource from another

What is "no preemption"?

100

A system in which some deadlines can be missed occasionally with acceptably low probability

What is a soft real time system?

100

A task in which the usefulness of the returned result is zero after the deadline

What is a hard real time task?

200

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

200

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?

200

A state from which there exists no execution order in which processes can access resources and run to completion

What is an unsafe state?

200

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?

200

This type of scheduling approach makes scheduling decisions when important events occur, such as release times

What is Priority driven scheduling?

300

A concurrency condition that if only one thread tries to get into the C.R., it succeeds.

What is Absence of Unnecessary Delay?

300

An abstraction for atomic Test and Set (TAS) that achieves mutually exclusive  protection of critical regions including “counting” and “binary” varieties

What are Semaphores?

300

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?

300

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?

300

An optimal dynamic scheduling algorithm, optimal for static priority tasks

What is Rate Monotonic?

400

A concurrency condition that a waiting thread eventually gets into the C.R.

What is bounded waiting?

400

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?

400

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?

400

One of the problems with simple priority inheritance, aside from deadlock

What is Chain blocking? 

400

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?

500

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?

500

A canonical problem for condition synchronization (multiple possible responses)

What is Readers/Writers? or What is Bounded Buffer? Or What is Producer/Consumer problem?

500

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?

500

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)?

500

The name of technique used to prove the optimality of EDF.

What is the time slice swapping technique?

M
e
n
u