1/19
These flashcards cover key terms and concepts related to concurrency, deadlock, and starvation from the lecture notes.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Deadlock
The permanent blocking of a set of processes that are either competing for system resources or communicating with each other.
Conditions for Deadlock
The four necessary conditions for deadlock to occur are mutual exclusion, hold and wait, no preemption, and circular wait.
Mutual Exclusion
Only one process may use a resource at a time; if a resource is allocated to a process, no others may access it.
Hold-and-Wait
A process may hold allocated resources while waiting for other resources to be allocated.
No Preemption
No resource can be forcibly removed from a process holding it; resources must be voluntarily released.
Circular Wait
A situation where a set of processes is waiting for each other in a circular chain.
Deadlock Prevention
A strategy to prevent deadlock from occurring by ensuring at least one of the necessary conditions cannot hold.
Deadlock Avoidance
A strategy that allows the system to make judicious choices to ensure that the deadlock state is never reached.
Deadlock Detection
Granting resource requests when possible but periodically checking for the presence of deadlock and recovering from it.
Resource Allocation Graph
A graphical representation showing the allocation of resources among processes in a system.
Safe State
A state of the system where there exists at least one sequence of resource allocations that do not lead to deadlock.
Unsafe State
A condition where there is no guarantee that the system can avoid deadlock.
Banker's Algorithm
A resource allocation and deadlock avoidance algorithm that tests for safe state before resource allocation.
Pipes
Circular buffers allowing two processes to communicate in a first-in-first-out manner.
Semaphores
Synchronization mechanisms that control access to shared resources in concurrent programming.
Signals
A software mechanism used to inform a process of an asynchronous event.
Atomic Operations
Operations that execute completely independently of any other operations and cannot be interrupted.
Spinlocks
A synchronization mechanism that allows a thread to wait in a loop while repeatedly checking if a lock is available.
Mutex
A mutual exclusion lock used to prevent multiple threads from accessing a shared resource simultaneously.
Readers/Writer Locks
Synchronization mechanism that allows multiple threads to read from a resource simultaneously but exclusive access for writing.