OS Hoofdstuk 4 Flashcards

1
Q

Waaruit bestaat een thread?

A

thread id, program counter, register set, stack, errno

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

If a process has multiple threads of control it can ….?

A

perform multiple tasks at a time

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

Wat is de kernel thread kthreadd met pid = 2?

A

Deze thread wordt weergegeven bij het uitvoeren van de command ps -ef op linux.
Dit is de parent van alle andere kernel threads

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

Geef 4 voordelen van multithreading:

A

Responsiveness
Resource sharing
Economy
Scalability

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

Wat is het verschil tussen concurrency en parallelism?

A

Concurrency support meer dan 1 taak door alle taken toestemming te geven om progressie te maken.
parallelism: Kan meerdere taken tegelijk uitvoeren.

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

Welke 5 uitdagingen komen er kijken bij het programmeren met multicore systems?

A

1: identifying tasks. Uitzoeken welke taken afgesplitst kunnen worden in meerdere taken.
2: Balance: Wanneer taken parallel runnen, moeten ze wel equal performen.
3: Data splitting: wanneer applicaties gescheiden zijn in verschillende taken, de data die bij die taken hoort ook bij de juiste cores terecht komen.
4: Data dependency: als een taak afhankelijk is van data van een andere taak, moeten de taken gesynchronizeerd zijn.
5: Testing and debugging: dit wordt moeilijk omdat er veel verschillende execution paths zijn.

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

There are two types of parallelism, which ones?:

A

Data parallelism and Task parallelism.

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

Wat doet data parallelism?

A

Het verspreiden van subsets van dezelfde data over meerdere cores en dezelfde operatie uitvoeren op elke core.

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

Wat doet task parallelism?

A

Het verspreiden van taken over meerdere cores. Elke thread voert een unieke operatie uit.

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

Wat doet de thread library?

A

Levert een api aan de programmeur waarmee threads kunnen worden gemaakt.

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

Wat moet een parent thread doen wanneer het meerdere child threads heeft aangemaakt met synchronous threading?

A

wachten tot de child processes terminated zijn

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

Wat moet een parent thread doen wanneer het meerdere child threads heeft aangemaakt met synchronous threading?

A

Hij moet wachten tot de child threads terminated zijn omdat het synchronous is.

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

Hoe maak je een nieuwe thread aan in java?

A

Door je class te extenden met Runnable en vervolgens de methode run() te gebruiken.

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

Wat is implicit threading

A

Compilers en run-time libraries threads laten maken en managen.

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

Wat is een thread pool?

A

Bij start-up een aantal threads creeeren en deze in een pool zetten. Hier wachten ze tot ze werk krijgen. Hierdoor hoeven er niet steeds nieuwe threads aangemaakt te worden wat tijd bespaard.

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

Noem 3 voordelen van een thread pool:

A

1: een request servicen met een bestaande thread is sneller dan een nieuwe maken.
2: Er is een maximum aantal threads.
3: Er zijn verschillende strategieën om de taak uit te voeren.

16
Q

welke 4 onderdelen binnen een thread worden met elkaar gedeeld?

A

1: code
2: globale variabelen
3: heap
4: file descriptors

17
Q

Noem 3 thread libraries

A

POSIX Pthreads,
Win32 threads,
Java threads,

18
Q

What kind of threads do user applications make? How do they execute on the cpu?

A

User-level threads, they must be mapped to kernel threads to execute on cpu.

19
Q

What multithreading models are there?

A

one-to-one,
one-to-many,
many-to-one,
two-level

20
Q

What is green threads?

A

A thread library which uses many-to-one model. It doesnt get used anymore because it cant work with multiple processing cores

21
Q

Wat is de wet van Amdahl?

A

Dit is een formule die berekend hoeveel performance winst er is als je een N aantal cores toevoegt aan een applicatie.