CPU: Schedulering Flashcards

1
Q

Hva er en ‘task’ i forhold til schedulering?

A

En ‘task’ er en skedulerbar entitet, noe som kan kjøre.

For eksempel en prossess/tråd som eksekverer en jobb, pakker gjennom kommunikasjons systemet eller en disk request gjennom filsystemet.

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

Hva gjør en scheduler?

A

En skeduler avgjør hvilken task/oppgave som får lov å bruke en ressurs.

Bestemmer rekkefølgen som forespørsler behandles etter ved å bruker en skedulerings algoritme.

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

Hva gjør en dispatcher?

A

En dispatcher ‘flytter’ den valgte prosessen (valgt av skeduleren) til CPU’en.

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

Hva vil det si at en prosess er CPU-bound eller I/O-bound?

A

En CPU-bound prosess har lange ‘CPU burst’, altså lange perioder for prosessen krever CPU kalkuleringen for å utføre oppgaven sin.

Hvis O beskriver CPU arbeid, og - beskriver vente på I/O:
OOOOO–OOOOO-OOOOO-OOOOO

En I/O-bound prosess har korte ‘CPU burst’, og har mer ventetid for I/O respons enn bruk av CPU.
O—-O—-OO—–O——OO

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

Hvilken skedulerings algoritmer kan benyttes for prosess skedulering?

A
First In First Out (FIFO)
Round-Robin (RR)
Shortest Job First
Shortest Time To Completion First
Shortest Remaining Time to Completion First
Lottery
Fair Queuing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Hvordan fungerer FIFO skedulerings algoritmen?

A

Som en vanlig FIFO kø, hvor det er første prosessen som kommer inn i køen som kommer ut og dermed får tilgang på CPU.

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

Hvilken fordeler og ulemper har FIFO skedulerings algoritmen?

A

Fordeler:

  • Enkel, og derav enkel å implementere.
  • Kan gi bra resultat for CPU-intensive jobber siden vi ikke får mye overhead fra context switching.

Ulemper:
- Lange gjennomsnittlige vente og finishing tider for prosesser.

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

Hvordan fungerer SJF skedulerings algoritmen?

Shortes Job First

A

Velger alltid den jobben som bruker kortest CPU tid for å bli ferdig.

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

Hvilken fordeler og ulemper har SJF skedulerings algoritmen?

A

Fordeler

  • Enkel
  • Har bedre gjennomsnittlige vente og finishing tider en FIFO.

Ulemper:

  • Vanskelig å avgjøre prosessering behov, hvor lang tid en jobb tar.
  • Potensielt stor finishing times og starvation.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Hvordan fungerer RR skedulerings algoritmen?

Round-Robin

A

Organisert i en FIFO kø, men hver prosess får kjøre en gitt tid, før det blir neste prosess sin tur å kjøre den samme gitte tiden.

  • Hver prosess får 1/n av CPU i max t time units per runde.
  • Den preempted’e prosessen blir plassert bakerst i køen.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Hvilken fordeler og ulemper har RR skedulerings algoritmen?

A

Fordeler:

  • Fair
  • Veldig god for interaktivitet

Ulemper:
- Kan bli mye overhead fra context switching om det er korte time slices.

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

Når vil det være fordelaktig å ha RR time slices på under 10ms eller over 100ms?

A

CPU-bound prosesser har fordel av å ha lengre time slices (>100ms), fordi de vil alltid bruke CPU og vi kan redusere antall context switcher som er kostbart.

I/O-bound prosesser har fordel av kortere time slices (<10ms), fordi de vil være kort CPU burst som trigger I/O operasjoner, og ved en kortere timeslice vil vi kunne starte flere I/O operasjoner og får en større utnyttelse av for eksempel disk.

Eksempel

  • A og B kjører evig og bruker 100% CPU
  • C looper evig (1ms CPU og 10ms disk)
  • Time slice på 100ms
    • Gir rundt 5% disk utilization med RR
  • Time slice på 1ms:
    • Gir rundt 91% disk utilization med RR
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Hvilken mål har vi for skedulering?

A
Behandle lignende taks på samme måte.
Ingen prosess bør vente evig.
Korte respons tider.
Maksimere throughput.
Maksimere ressurs uttnyttelse.
Minimere overhead.
Forutsigbar tilgang.
  • Merk at flere faktorer vil være motstridende.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

I hvilken grupper kan vi klassifisere skedulerings algoritmer?

A

Dynamisk, statisk, preemptive, og non-preemptive.

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

Hva kjennetegner en dynamisk skedulerings algoritme?

A

Gjør skedulerings avgjørelser ved kjøretid.

Fleksibel å tilpasse.

Ser kun på den faktiske task requesten og eksekverings tid parametere.

Stor kjøretid overhead ved å finne en skedule.

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

Hva kjennetegner en statisk skedulerings algoritme?

A

Gjør skedulerings valg off-line (altså pre-kjøretid).

Generer et dispatching tabel for kjøretid dispatcher ved kompilering.

Trenger fullstending kunnskap om tasken før kompilering.

Liten kjøretid overhead.

17
Q

Hva kjennetegner en preemptive skedulerings algoritme?

A

Kjørende tasks kan bli interrupted (preempted) av en høyere prioritets prosess eller ved oppbrukt timeslice.

Preempted prosessen fortsetter senere ved samme tilstand.

Overhead fra context switching.

18
Q

Hva kjennetegner en non-preemptive skedulerings algoritme?

A

Kjørende tasks vil få kjøre ferdig sin time-slot, så høyere prioritets prosesser må vente.

Rimelig for korte tasks, som å sende en pakke (f.eks. disk eller nettverk).

Mindre hyppig context switching.

19
Q

Når trengs det å påkalle skeduleren?

A
  • Process creation.
  • Process termination.
  • Process blocks.
  • Interrupts occur.
  • Clock interrupts in the case of preemptive systems.
20
Q

Hva er Rate Monotonic (RM) skedulering?

A

En klassisk algoritme for hard real-time systemer med en CPU.

Har en pre-emptive skeduldering basert på statiske task prioriteter.

21
Q

Hvordan skedulerer en RM algoritme?

A

RM = Rate Monotonic

Prosesserer prioritet baser på task periode

  • Tasken med kortest periode får den høyeste statiske prioriteten.
  • Tasken med lengst periode får lavest statisk prioritet.
  • Dispatcheren velger alltid task requesten med høyest prioritet.
22
Q

Hva er Earliest Deadline First (EDF) skedulering?

A

En preemptive skedulerings algoritme basert på dynamisk task priorities.

Tasken med nærmeste deadline har høyest prioritet (dynamisk).

23
Q

Hvordan fungerer en priority skedulering?

A

Hver prosess får en prioritet, så kjøres prosessen med høyest prioritet i ready køen først.

Har flere prioritets køer (pri 1, pri 2, pri 3, osv.) som ofte har en RR algoritme hver.
- Gir oss forskjellige prioriteter ifht. viktigheten til en prosess.

Ulempe er starvation, så det kan være mulig å bruke dynamiske prioriteter.