Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Plánovanie procesov Plánovacie algoritmy

Podobné prezentace


Prezentace na téma: "Plánovanie procesov Plánovacie algoritmy"— Transkript prezentace:

1 Plánovanie procesov Plánovacie algoritmy
FCFS Round Robin SJF Prioritné plánovanie Plánovanie s viacerými frontmi Plánovanie s viacerými frontmi so spätnou väzbou Plánovanie viacprocesorového systému Plánovanie systémov reálneho času

2 Histogram

3 Striedanie postupnosti činnosti CPU a I/O

4 First-Come, First-Served (FCFS)
Proces Pož. čas procesora P1 24 P2 3 P3 3 Predpokladajme príchod procesov v poradí: P1 , P2 , P3 Čas čakania: P1 = 0; P2 = 24; P3 = 27 Priemerný čas čakania: ( )/3 = 17 P1 P2 P3 24 27 30

5 FCFS Predpokladajme príchod procesov v poradí: P2 , P3 , P1 Diagram:
Čas čakania pre: P1 = 6; P2 = 0; P3 = 3 Priemerný čas čakania: ( )/3 = 3 Oveľa lepší ako predchádzajúci prípad. P1 P3 P2 6 3 30

6 Shortest-Job-First (SJF) plánovanie
Poradie spracovania procesov sa určuje podľa požadovanej doby obsluhy procesu. Procesor sa pridelí procesu, ktorý požaduje najkratšiu dobu na svoje dokončenie. SJF je optimálny v tom, že dáva najlepšie výsledky v priemernej dobe čakania pre danú množinu procesov. Nedostatkom je potreba poznať vopred dĺžku požadovanej doby obsluhy.

7 Príklad pre SJF Proces Čas príchodu Pož.čas procesora P1 0 6 P2 1 8
Diagram Priemerný čas čakania = ( ) / 4 = 7 P4 P3 P1 3 16 9 P2 24

8 Určenie dĺžky ďalšej požiadavky procesu na čas procesora

9 Predikcia nasledujúceho požadovaného času procesora

10 Príklady Exponenciálneho Spriemerňovania
 =0 n+1 = n Nedávna história sa neberie do úvahy.  =1 n+1 =  tn Iba posledný skutočný požadovaný čas CPU sa počíta. Ak rozšírime formulu, dostaneme: n+1 =  tn+(1 - ) tn -1 + … (1 -  )j  tn -j + … +(1 -  )n +1 0 Obe  and (1 - ) sú menšie alebo rovné 1.

11 Prioritné plánovanie Každý proces má pridelenú (integer) prioritu.
Procesor je pridelený procesu s najvyššou prioritou preemptívne nepreemptívne Problém  Starvacia – nízka priorita procesu, možnosť, že proces sa nikdy nevykoná Riešenie  postupne zvyšovanie priority procesu

12 Round Robin (RR) Plánovač prideľuje postupne každému procesu jedno časové kvantum, zvyčajne milisekúnd. Ak v systéme máme n procesov vo fronte pripravených a časové kvantum je q, potom každý proces dostáva 1/n-tú časť z času procesora v dávkach najviac po 1q. Každý proces čaká nie viac ako (n-1)xq časových kvánt, kým príde znovu na rad. Implementácia q large  FIFO q small  q musí byť nastavené s ohľadom na prepínanie kontextu

13 Príklad RR s q = 4 Proces Pož.čas procesora P1 24 P2 3 P3 3 Diagram:
Priemerná doba čakania je 17/3 = 5.66 ms. P1 P2 P3 4 7 10 14 18 22 26 30

14 Časové kvantum a Prepínanie kontextu

15 Plánovanie s viacerými frontami
Navrhovaný pre situácie, kedy sa procesy dajú rozdeliť na rôzne skupiny,napr.: interaktívne dávkové Každý front má svoj vlastný plánovací algoritmus foreground – RR background – FCFS Plánovanie sa musí vykonávať aj medzi frontami Procesy sú pevne spojené s jedným frontom. Front procesov na popredí môže dostať 80% času procesora -RR Front procesov na pozadí 20% -FCFS

16 Plánovanie s viacerými frontami

17 Plánovanie s viacerými frontami so spätnou väzbou
Proces sa môže pohybovať medzi frontami. Plánovač používajúci fronty so spätnou väzbou je definovaný pomocou týchto parametrov: Počet frontov Plánovací algoritmus pre každý front Metóda určujúca, kedy sa proces presunie do frontu s vyššou prioritou Metóda určujúca presunutie procesu do frontu s nižšou prioritou Metóda pre určenie frontu pre proces, ktorý má byť obslúžený

18 Príklad Tri fronty: Q0 – RR s q = 8 ms Q1 – RR s q = 16 ms Q2 – FCFS
Plánovanie

19 Plánovanie s viacerými frontmi so spätnou väzbou

20 Plánovanie vlákien Rozdiel medzi používateľskými vláknami a vláknami jadra spočíva aj v tom ako sú plánované Many-to-one a many-to-many modely, knižnica vlákien plánuje používateľskú úroveň vlákien. Známy ako process-contention scope (PCS) – súťaž o CPU sa koná medzi vláknami prislúchajúcimi tomu istému procesu Jadrové vlákno používa system-contention scope (SCS) – súťaž o CPU s SCS plánovaním sa vykonáva medzi všetkými vláknami v systéme.

21 Plánovanie viacprocesorového systému
Zložitejšia úloha ako pri jednoprocesorovom systéme Homogénne procesory vo viacprocesorovom systéme Asymmetrický multiprocessing – iba jeden procesor pracuje so systémovými dátami Symetrický multiprocessing (SMP) – zvyčajne sa udržuje jeden front pripravených procesov, stratégia zdieľania zaťaženia – load sharing

22 Plánovanie systémov reálneho času
Systémy s pevnými termínmi ukončenia – hard - real time Systémy s variabilnými termínmi ukončenia – soft – real time Implementácia funkcií pre reálny čas vyžaduje starostlivý návrh plánovača a adekvátne vlastnosti operačného systému. Systém musí používať: - prioritné plánovanie - čas reakcie dispečera musí byť krátky


Stáhnout ppt "Plánovanie procesov Plánovacie algoritmy"

Podobné prezentace


Reklamy Google