20
8. přednáška 10. 4. 2014 - přepínání kontextu - plánování (pojmy, kritéria, prioritní fronty, vybrané typy) Studijní materiály najdete na adrese: http://www.uai.fme.vutbr.cz/~vdumek/

8. přednáška 10. 4. 2014 přepínání kontextu

  • Upload
    ipo

  • View
    49

  • Download
    0

Embed Size (px)

DESCRIPTION

8. přednáška 10. 4. 2014 přepínání kontextu plánování (pojmy, kritéria, prioritní fronty, vybrané typy) Studijní materiály najdete na adrese: http://www.uai.fme.vutbr.cz/~vdumek/. operační systém. proces P 0. proces P 1. běží. uložení kontextu P 0. idle. privilegované instrukce. - PowerPoint PPT Presentation

Citation preview

Page 1: 8. přednáška 10. 4. 2014 přepínání kontextu

8. přednáška10. 4. 2014

- přepínání kontextu- plánování (pojmy, kritéria, prioritní fronty, vybrané typy)

Studijní materiály najdete na adrese:

http://www.uai.fme.vutbr.cz/~vdumek/

Page 2: 8. přednáška 10. 4. 2014 přepínání kontextu

Přepínání kontextu procesů

proces P0 proces P1operační systém

uložení kontextu P0

předání kontextu P1

.

.

.

uložení kontextu P1

předání kontextu P0

.

.

.

idle

idle

idle

běží

běží

běží

privilegované instrukce

privilegované instrukce

Page 3: 8. přednáška 10. 4. 2014 přepínání kontextu

Plánování běhu procesů - pojmy

- režim výběru – nonpreemptive (bez předbíhání), vybraný proces běží, dokud se sám neukončí, nevhodné pro víceuživatelské systémy, preemptive (s předbíháním), běžící proces lze přerušit, ochrana před monopolizací procesoru- procesy vázané na I/O – proces opakovaně alternuje mezi potřebou procesoru a periferie, dávka procesorové orientace (jednotky ms) je následována I/O operacemi (řádově delší doba)- procesorově orientovaný proces – dokázal by využívat procesor po neomezenou dobu (dlouhé procesy)- priorita procesu – narušení disciplíny FIFO (spravedlivá obsluha), prioritní úrovně (pro každou z nich je samostatná FIFO), procesy nízké priority mohou stárnout, procesy mohou měnit prioritu dynamicky

Page 4: 8. přednáška 10. 4. 2014 přepínání kontextu

dlouhodobé – strategické plánování, povolení vytvoření procesu, stupeň multitaskingu

střednědobé – taktické plánování, řízení odkládání, rozhodující roli sehrává dostupná paměť, provádí správa paměti, řízení stupně multiprogramování

krátkodobé – operativní plánování, plánování procesoru, aktivace přerušením časovače, I/O přerušením, službou OS, signály (semafor), uživatelsky orientované (odpověď, průchod), systémově orientované (využití, spravedlnost, propustnost)

- monoprocesor, multiprocesor, RT- minimalizace doby odpovědi, co nejvyšší propustnost, co nejvyšší využití procesoru

Plánování běhu procesů - rozdělení

Page 5: 8. přednáška 10. 4. 2014 přepínání kontextu

Prioritní fronty

Processor

RQ0

Blocked queue

Release

Event waitEvent occurs

RQ1

RQ2

RQn

. . .

Preemption

Dispatch

Admit

Page 6: 8. přednáška 10. 4. 2014 přepínání kontextu

Kriteria plánování

Uživatelsky orientované (výkonnost)

- doba obrátky (od předložení procesu do jeho zpracování, zahrnuje čas

zpracování + čekání na zdroje), je možné měřit pro každý job- čas odezvy (pro interaktivní procesy), je lépe měřitelný než doba obrátky

Systémově orientované (výkonnost)

- propustnost, snaha o maximální množství procesů zpracovaných za jednotku času, závisí na délce procesů, je ovlivněno plánovací politikou, utilizací procesoru, ...- využití procesoru, čas, kdy je procesor zaměstnán, jde o významné kritérium, u jednouživatelských OS a RT je méně důležité

Page 7: 8. přednáška 10. 4. 2014 přepínání kontextu

Plánování běhu procesů

Processor

Ready queue

Ready, suspend queue

Blocked, suspend queue

Blocked queue

Interactiveusers

Time-out

Release

Event waitEvent occurs

Long-termscheduling

Medium-termscheduling

Short-termscheduling

Batch jobs

Page 8: 8. přednáška 10. 4. 2014 přepínání kontextu

First Come First Served (FCFS)Proces Vznik Trvání

1 0 3

2 2 6

3 4 4

4 6 5

5 8 2

- vybírá se proces, který je nejdéle ve frontě připravených procesů, rozhodování není preemptivní, je to silně primitivní plánovací postup, krátké procesy následující po dlouhém procesu vytváří tzv. konvojový efekt (všechny procesy čekají, až skončí dlouhý proces), proces běží tak dlouho, dokud se sám neukončí, pokud je proces orientovaný na procesor, dojde k jeho monopolizaci, procesorově orientované procesy jsou zvýhodňovány, I/O orientované procesy musí čekat, i když už mají dokončenu svoji operaci (nedojde k uvolnění periferie), pro I/O procesy je potřeba zajistit vyšší prioritu, snadno se implementuje, pro operativní plánování se prakticky nepoužívá, pouze jako složka složitějších plánovacích postupů

6,45

107510

Avg

W T

Page 9: 8. přednáška 10. 4. 2014 přepínání kontextu

Cyklické plánování (Round Robin)

Proces Vznik Trvání

1 0 3

2 2 6

3 4 4

4 6 5

5 8 2

- vybírá se proces, který je nejdéle ve frontě připravených procesů, rozhodování je nepreemptivní, proces běží po předem stanovenou dobu časového kvanta (jednotky až desítky ms), po vypršení časového kvanta je proces přeplánován a vrací se na konec fronty připravených procesů, při ignorování plánovací režie dostává každý z n procesů k dispozici 1/n výkonu procesoru, pro q dostatečně velké dochází k degradaci na FCFS, pro malé q se výrazně projevuje plánovací režie, zvýhodněné jsou procesorově vázané procesy, I/O procesy časové kvantum nevyužije a řadí se do fronty Blocked, procesorově vázané procesy je proto předbíhají, neboť se vrací do fronty připravených procesů, efektivita závisí na velikosti q, výrazně lepší čas odezvy, průměrná doba obrátky (je horší než SRT) se zlepší, pokud většina procesu se v q ukončí

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

ABCDE

Page 10: 8. přednáška 10. 4. 2014 přepínání kontextu

Virtuální RR - model

- po ukončení I/O operace je proces přesunut do pomocné fronty, která je obsluhována přednostně před regulérní frontou připravených procesů, procesy spuštěné z této pomocné fronty běží pouze po dobu nevyčerpaného časového kvanta

Page 11: 8. přednáška 10. 4. 2014 přepínání kontextu

Shortest Process Next (SPN)

Proces Vznik Trvání

1 0 3

2 2 6

3 4 4

4 6 5

5 8 2

- vybírá se připravený proces s nejmenší očekávanou dobou potřeby procesoru, je opět nepreemptivní, nazývá se i SJF (Shortest Job First), procesy vázané na I/O budou upřednostňovány, je potřeba dokázat odhadnout dávku potřeby procesoru, používá se exponenciální průměrování (aproximace budoucnosti z historie), hrozí nebezpečí stárnutí dlouhých procesů, pokud bude vznikat dostatečný počet krátkých procesů, je-li kritérium kvality plánování průměrná doba čekání, je SJF optimální algoritmus

Page 12: 8. přednáška 10. 4. 2014 přepínání kontextu

Průměrování

Nechť T[i] je i-tá doba provádění procesu, skutečná doba trvání časového kvanta procesoru přiděleného procesu.

Nechť S[i] je odhad i-tého kvanta.

Nejjednodušší volba S[i+1] je odhad průměrem:

Aby se nemusela opakovaně počítat celá suma, lze tento vztah přepsat:

Tím se dá stejná váha každé instanci běhu procesu. Z principu časové lokality platí, že poslední instance běhu procesu lépe vystihují budoucí chování procesu a proto se používá metoda exponenciálního průměrování.

nSn

nnT

nnS

111

n

i

iTn

nS1

11

Page 13: 8. přednáška 10. 4. 2014 přepínání kontextu

Exponenciální průměrování

10)1(1 nSnTnS

1)1(...)1(...1)1(1 SinTnTnTnS ni

Postup volby příštího kvanta procesoru:

Pokud platí, že > 1/n (parametr vlivu historie), mají poslední instance běhu procesu větší váhu a váhy starších instancí se exponenciálně snižují s růstem vzdálenosti na časové ose:

Odhad první instance S[1] se obvykle neprovádí a nastavuje se na hodnotu nula (dává se tím přednost novým procesům).

Vliv koeficientu

0,0000

0,1000

0,2000

0,3000

0,4000

0,5000

0,6000

0,7000

0,8000

0,9000

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Instance

Ho

dn

ota

ko

efi

cie

ntu

alfa 0,1

alfa 0,5

alfa 0,8

Page 14: 8. přednáška 10. 4. 2014 přepínání kontextu

Reakce procesu

0

5

10

15

20

25

30

35

40

45

50

0 2 4 6 8 10 12 14 16

čas

sou

čet

časo

vých

kva

nt

reálný

průměrování

alfa0,1

alfa0,2

alfa0,5

alfa0,7

alfa0,9

alfa1,0

Page 15: 8. přednáška 10. 4. 2014 přepínání kontextu

Plánování SRT

Proces Vznik Trvání

1 0 3

2 2 6

3 4 4

4 6 5

5 8 2

- Shortest Remaining Time (nejkratší zbývající čas), jedná se o preemptivní variantu SPN, CPU dostane proces potřebující nejmenší čas do svého dokončení, pokud se proces s kratší délkou trvání objeví, je ihned přeplánováno, pro zjišťování časových záležitostí se používají stejné metody jako u SPN

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

ABCDE

0,25

09010

Avg

W T

Page 16: 8. přednáška 10. 4. 2014 přepínání kontextu

Prioritní plánování

- každému procesu je přiřazeno prioritní číslo (preference při výběru procesu), CPU se přiděluje procesu s nejvyšší prioritou, nejvyšší prioritě většinou odpovídá nejnižší prioritní číslo (Windows – obráceně), existují varianty preemptivní (když se objeví kvalitnější proces, přeplánuje se) a nepreemptivní (proces vždy doběhne), SPN i SRT jsou příklady prioritního plánování, prioritou je predikovaná délka příštího kvanta procesoru, SPN je nepreemptivní, SRT je preemptivní, problém stárnutí – starvation (týká se procesů s nízkou prioritou), agentura JPP (M.I.T., IBM7094, čekající proces od roku 1967 (1973)), řešením problému stárnutí je zrání procesů (aging - během čekání se zvyšuje priorita procesu)

Page 17: 8. přednáška 10. 4. 2014 přepínání kontextu

Dynamické priority procesů

- několik front procesů s klesajícími prioritami, penalizace dlouhých procesů

P(RQ0) > P(RQ1) > … > P(RQn)

- nový proces se vloží do fronty RQ0, pokud tento proces spotřebuje svoje časové kvantum, vrátí se do fronty RQ1, při dalším spotřebování celého kvanta se vrací vždy do méně prioritní fronty až skončí ve frontě RQn

- procesy vázané na I/O budou zůstávat ve frontách s vyšší prioritou, procesorově vázané procesy budou prioritně klesat- dispečer vybírá z fronty RQi pouze za předpokladu, že je fronta RQ(i-1) až RQ0 prázdná- v každé frontě se uplatňuje politika FCFS, pouze ve frontě s nejnižší prioritou je RR- při pevném časovém kvantu bude dlouhé zpracování delších procesů, časové kvantum může exponenciálně narůstat podle hloubky fronty připravených procesů

RQi má časové kvantum q = 2i-1

- delší procesy mohou stále stárnout, lze kombinovat se změnou priority (zrání procesu)

Page 18: 8. přednáška 10. 4. 2014 přepínání kontextu

Dynamické priority procesů

q = 8

q = 16

q = 32

Page 19: 8. přednáška 10. 4. 2014 přepínání kontextu

Prioritní RR

q=1

q=2(i-1)

Proces Vznik Trvání

1 0 3

2 2 6

3 4 4

4 6 5

5 8 2

Dynamické priority procesů

Page 20: 8. přednáška 10. 4. 2014 přepínání kontextu

Zpětná vazba (Feedback)

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

ABCDE

0 0

0

0

0

0

1

1

1

11

2

2

2 4

53

3

3

4

- předem se neznají časy, které budou procesy potřebovat, penalizují se dlouho běžící procesy, dojde-li k preempci z důvodu přečerpání q, sníží se priorita, pro každou prioritu je jedna fronta, nad každou frontou běží RR, nad poslední FCFS

Proces Vznik Trvání

1 0 3

2 2 6

3 4 4

4 6 5

5 8 2