OS Hoofdstuk 8 Flashcards

1
Q

Wat is een livelock?

A

Bijna hetzelfde als een deadlock alleen bij een livelock probeert de thread steeds een action te doen die failed.

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

Wanneer is er een deadlock in een resource allocation graph?

A

Wanneer er een cycle in zit.
Als er maar 1 instance is per resource type: altijd deadlock.
Als er meerdere instances zijn per resource is er een kans op een deadlock.

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

Bij welke 4 condities is er kans op een deadlock?

A

1: Mutual exclusion.
2: Hold and wait.
3: Circular wait.
4: No pre-emption of resources.

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

Hoe kan je een deadlock detecteren?

A

Door een Resource-Allocation Graph te maken. Wanneer er een cycle in de graph zit, is er kans op een deadlock.

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

Welke 4 entities komen voor in een Resource-Allocation Graph?

A

1: Process
2: Resoucre type with N instances
3: Request of instance (pijl van proces naar resource)
4: Proces is holding a resource (pijl van resource naar proces)

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

Wat voor een graph krijg je als elke resource type, 1 instance heeft?

A

een wait-for graph, processen moeten namelijk op elkaar wachten omdat van elke resource maar 1 is.
In een wait-for graph, gaan er alleen pijlen van en naar processen.

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

Wanneer is er een deadlock in een wait-for graph?

A

Wanneer er een cycle in zit.

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

Welke 3 strategien kan je ondergaan om een deadlock te voorkomen?

A

1: Deadlock prevention, zorgen dat er nooit een deadlock optreden.
2: Recover from deadlock, requires algoritm to detect deadlock.
3: Ignore deadlocks, pretend they don’t exist.

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

Wat doet een operating system bij deadlock avoidance?

A

De OS krijgt extra informatie over de resources die een thread krijgt. Met deze kennis kijkt de OS per request of de thread moet waiten of niet.

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

Wat gebeurt er met een systeem wanneer er een deadlock gaande is?

A

De performance verminderd doordat er threads bezig zijn terwijl ze niks nuttig doen.

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

Wat moet er gebeuren als een OS niks doet tegen deadlocks?

A

Deadlocks moeten in de applicatie zelf worden afgehandeld. Dit systeem zit in de meeste operating systems zoals unix en windows (+ jvm)

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

Wat betekent het dat je het gebruik van hold and wait moet vermijden?

A

Wanneer een proces een resource request, moet hij geen andere resources holden.

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

Wanneer is de state van een system safe?

A

Als een systeem resources kan allocaten aan alle threads en geen deadlock krijgt.

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

Wat wordt bedoeld met impose an ordering of resources?

A

Altijd in dezelfde volgorde resources aanvragen zodat er geen cycle ontstaat.
lijkt op no-hold-and-wait.
Het probleem hierbij is dat je moet voorspellen welke resources het proces nodig gaat hebben.
Deze methode wordt gebruikt door mysql storage engine.

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

Noem een voorbeeld van allow pre-emption of resources

A

Als een proces blocked/waiting is, worden alle resources die hij gebruikt, gereleased.
wait / notify is hier een voorbeeld van

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

Wat betekent deadlock avoidance?

A

Run-time voorkomen dat het systeem een unsafe state in gaat

17
Q

Wat is banker’s algoritm?

A

tabel maken en uitschrijven of er een deadlock kan optreden door steeds te kijken hoeveel resources beschikbaar zijn.