Concurrency: Deadlock and Starvation

0.0(0)
studied byStudied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/19

flashcard set

Earn XP

Description and Tags

These flashcards cover key terms and concepts related to concurrency, deadlock, and starvation from the lecture notes.

Last updated 5:37 AM on 4/10/25
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

20 Terms

1
New cards

Deadlock

The permanent blocking of a set of processes that are either competing for system resources or communicating with each other.

2
New cards

Conditions for Deadlock

The four necessary conditions for deadlock to occur are mutual exclusion, hold and wait, no preemption, and circular wait.

3
New cards

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.

4
New cards

Hold-and-Wait

A process may hold allocated resources while waiting for other resources to be allocated.

5
New cards

No Preemption

No resource can be forcibly removed from a process holding it; resources must be voluntarily released.

6
New cards

Circular Wait

A situation where a set of processes is waiting for each other in a circular chain.

7
New cards

Deadlock Prevention

A strategy to prevent deadlock from occurring by ensuring at least one of the necessary conditions cannot hold.

8
New cards

Deadlock Avoidance

A strategy that allows the system to make judicious choices to ensure that the deadlock state is never reached.

9
New cards

Deadlock Detection

Granting resource requests when possible but periodically checking for the presence of deadlock and recovering from it.

10
New cards

Resource Allocation Graph

A graphical representation showing the allocation of resources among processes in a system.

11
New cards

Safe State

A state of the system where there exists at least one sequence of resource allocations that do not lead to deadlock.

12
New cards

Unsafe State

A condition where there is no guarantee that the system can avoid deadlock.

13
New cards

Banker's Algorithm

A resource allocation and deadlock avoidance algorithm that tests for safe state before resource allocation.

14
New cards

Pipes

Circular buffers allowing two processes to communicate in a first-in-first-out manner.

15
New cards

Semaphores

Synchronization mechanisms that control access to shared resources in concurrent programming.

16
New cards

Signals

A software mechanism used to inform a process of an asynchronous event.

17
New cards

Atomic Operations

Operations that execute completely independently of any other operations and cannot be interrupted.

18
New cards

Spinlocks

A synchronization mechanism that allows a thread to wait in a loop while repeatedly checking if a lock is available.

19
New cards

Mutex

A mutual exclusion lock used to prevent multiple threads from accessing a shared resource simultaneously.

20
New cards

Readers/Writer Locks

Synchronization mechanism that allows multiple threads to read from a resource simultaneously but exclusive access for writing.