Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
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
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.