1 / 22

Plánovanie procesov Plánovacie algoritmy

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. Histogram.

livia
Download Presentation

Plánovanie procesov Plánovacie algoritmy

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Plánovanie procesovPlá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. P1 P2 P3 0 24 27 30 First-Come, First-Served (FCFS) ProcesPož. č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: (0 + 24 + 27)/3 = 17

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

  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. P3 P2 P4 P1 3 9 16 24 0 Príklad pre SJF Proces Čas príchoduPož.čas procesora P1 0 6 P2 1 8 P32 7 P43 3 • Diagram • Priemerný čas čakania = (3 + 16 + 9 + 0) / 4 = 7

  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álnehoSpriemerňovania •  =0 • n+1 = n • Nedávna históriasa 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 10-100 milisekúnd. • Ak v systéme mámen procesov vo fronte pripravených a časové kvantum jeq, potom každý proces dostáva 1/n-tú časť z času procesora v dávkach najviac po1q. 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. P1 P2 P3 P1 P1 P1 P1 P1 0 10 14 18 22 26 30 4 7 Príklad RR s q = 4 ProcesPož.čas procesora P1 24 P2 3 P3 3 • Diagram: • Priemerná doba čakania je 17/3 = 5.66 ms.

  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úcapresunutie 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 akoprocess-contention scope (PCS) – súťaž o CPU sa koná medzi vláknami prislúchajúcimi tomu istému procesu • Jadrové vlákno používasystem-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 procesoryvo 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

More Related