Week 8 Flashcards

1
Q

Deadlocks

A

suppose there is a finite set of resources and there are multiple threads or processes requesting these resources. There is a deadlock if the threads are waiting on resources held by other threads in a cycle such that none of the threads in this cycle of dependencies will be able to proceed. The conditions for deadlocks are as follows:

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Mutual Exclusion

A

resources held by one process cannot be simultaneously used by another process

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Resource Preemption

A

when a process or thread acquires a particular resource, it holds onto the resource until it releases it; other processes or threads cannot steal the resource

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Hold and wait

A

a process can accumulate resources and does not have to grab all the resources that it needs at the same time

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Circular Waiting

A

circular chain of processes that are requesting resources from each other

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Hierarchical Allocation (deadlock prevention)

A

create a policy that determines which processes can receive which resources by creating a hierarchy between the resources or between the processes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Resource allocation graph (deadlock detection)

A

a RAG is a tool for deadlock detection, because deadlock only occurs if the RAG has a cycle. To form the RAG, there is a node for every process and a node for every resource. If aprocess P currently has resource R, then we form a directed edge from R to P. If process P is requiring process R, then we form a directed edge from P to R.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wait-for-graph (deadlock detection)

A

shows dependencies of processes or threads that waiting on others. To form this graph, there is a node for each process or thread, and there is a directed edge from Pi to Pj, if Pi is waiting on a resource from Pj.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Safe-allocations (deadlock avoidance)

A

an allocation state is safe if there is a sequential ordering of processes such that all the processes will be able to finish executing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Req[i, j]

A

matrix representing the number of resources Rj requested by process Pi

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Checkpointing

A

save the state (of a process) in case of a required rollback of operations to the process

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

C[i, j]

A

matrix representing the amount of resource Rj currently held by process Pi

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Banker’s Algorithm (deadlock avoidance)

A

given n processes and m resources, the algorithm only grants resources to a process if it will result in a safe allocation state

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

M[i, j]

A

matrix representing the maximum number of resource Rj that a process Pi will ever request

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

A[j]

A

vector representing the number of resource Rj that are currently free

How well did you know this?
1
Not at all
2
3
4
5
Perfectly