Concurrency: Deadlock and Starvation

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
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.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

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.