sistemi za rad u realnom - es.elfak.ni.ac.rses.elfak.ni.ac.rs › ... › pdf_ppt ›...

22

Upload: others

Post on 28-Jun-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemi za rad u realnom - es.elfak.ni.ac.rses.elfak.ni.ac.rs › ... › PDF_PPT › 8a-Rasporedjivanje.pdf · • Zadatak mora biti u stanju izvršavanja da bi prešo u blokirano
Page 2: Sistemi za rad u realnom - es.elfak.ni.ac.rses.elfak.ni.ac.rs › ... › PDF_PPT › 8a-Rasporedjivanje.pdf · • Zadatak mora biti u stanju izvršavanja da bi prešo u blokirano

Sistemi za rad u realnom

vremenu

------------------------------------------------------------------------------

Raspoređivanje zadataka

Page 3: Sistemi za rad u realnom - es.elfak.ni.ac.rses.elfak.ni.ac.rs › ... › PDF_PPT › 8a-Rasporedjivanje.pdf · • Zadatak mora biti u stanju izvršavanja da bi prešo u blokirano

Sadržaj� Raspoređivanje� Redefinisanje zadatka� Stanja zadataka� Raspoređivanje bez istiskivanja� Raspoređivanje sa istiskivanjem� Implementacija planera� Implementacija planera� Raspoređivanje u klasičnim OS� Osnovne metode

– First-come-first-served (prvi stigne-prvi uslužen)– Shortest first (najkra ći prvi )

– Round-robin

– Konstantni prioritet– Raspoređivanje u više nivoa prioriteta

Page 4: Sistemi za rad u realnom - es.elfak.ni.ac.rses.elfak.ni.ac.rs › ... › PDF_PPT › 8a-Rasporedjivanje.pdf · • Zadatak mora biti u stanju izvršavanja da bi prešo u blokirano

Raspoređivanje� Zadaci se raspoređuju i dobijaju resurse shodno usvojenom algoritmu i

protokolima za pristup resursima• Planer (Scheduler) implementira ove algoritme

� Planer dodeljuje zadatke procesorima

� Raspored (Schedule) je dodela svih zadataka u sistemu raspoloživim procesorima od strane planera.

� Važeći raspored zadovoljava sledeće uslove:• Svaki procesor je dodeljen najviše jednom zadatka u svakom trenutku• Svaki zadatak je dodeljen najviše jednom procesoru u svakom trenutku• Nijedan zadatak nije rapoređen pre njegovog vremena pruštanja• Ukupno procesorsko vreme dodeljeno svakom zadatku jednako je

maksimalnom ili stvarnom vremenu izvršavanja• Da su ispoštovana sva ograničenja u prednjačenja i korišćenje resursa

Page 5: Sistemi za rad u realnom - es.elfak.ni.ac.rses.elfak.ni.ac.rs › ... › PDF_PPT › 8a-Rasporedjivanje.pdf · • Zadatak mora biti u stanju izvršavanja da bi prešo u blokirano

Raspoređivanje� Važeći raspored je izvodiv (feasible) ako svaka instanca ispunjava svoja

vremenska ogrničenja.

� Performanse soft RT sistema mogu biti opisane sa• Broj propusta (Miss rate) - procenat zadatka koji su se izvršili sa

kašnjenjem• Broj gubitaka (Loss rate) - procenat zadatka koji se nisu izvršili

� Algoritam raspoređivanja je optimalan ako algoritam uvek daje izvodivi � Algoritam raspoređivanja je optimalan ako algoritam uvek daje izvodivi raspored za dati skup zadataka koji ima izvodivi raspored

� Tipovi raspoređivanja• On-line ili off-line• Best errord i timing fault intolerance• Centralizovano i distribuirano

Page 6: Sistemi za rad u realnom - es.elfak.ni.ac.rses.elfak.ni.ac.rs › ... › PDF_PPT › 8a-Rasporedjivanje.pdf · • Zadatak mora biti u stanju izvršavanja da bi prešo u blokirano

Redefinicija zadataka

�Zadatak: Osnovni gradivni blok programa koji se piše pod operativnim sistemom.

�Zadatak (u mnogim RTOS) kao podprogram

�Poziv funkcije RTOS-a koja startuje zadatak, �Poziv funkcije RTOS-a koja startuje zadatak, definisanjem startne adrese i nekih drugih parametara

�Ograničenja u broju zadataka!

Page 7: Sistemi za rad u realnom - es.elfak.ni.ac.rses.elfak.ni.ac.rs › ... › PDF_PPT › 8a-Rasporedjivanje.pdf · • Zadatak mora biti u stanju izvršavanja da bi prešo u blokirano

Stanja zadataka

� Izvršavanje/Running: Procesor izvršava instrukcije koje su deo zadatka. U ovom stanju se nalazi samo jedan zadatak.

�Spremno/Ready: Neki drugi zadatak se izvršava ali ako procesor postane raspoloživ task će nastaviti sa izvršavanjem. U ovom stanju se može naći izvršavanjem. U ovom stanju se može naći proizvoljan broj zadataka.

�Blokirano/Blocked: Zadatak trenutno ne može da se izvršava, čak i da je procesor raspoloživ. Zadatak čeka na pojavu nekog događaja. Bilo koji broj zadataka se može naći u ovom stanju.

Suspended, pended, waiting, dormant, delayed

Page 8: Sistemi za rad u realnom - es.elfak.ni.ac.rses.elfak.ni.ac.rs › ... › PDF_PPT › 8a-Rasporedjivanje.pdf · • Zadatak mora biti u stanju izvršavanja da bi prešo u blokirano

Stanja zadataka

Spremno Ready

BlokiranoBlocked

Pojavio se ready task

Tasksa

Događaj potrebanzudatku se desio

IzvršavanjeRunningNeaktivno

Dormant

ready taskVišeg prioriteta

Tasksanajvišimprioritetom

Ćekanjena događaj

Page 9: Sistemi za rad u realnom - es.elfak.ni.ac.rses.elfak.ni.ac.rs › ... › PDF_PPT › 8a-Rasporedjivanje.pdf · • Zadatak mora biti u stanju izvršavanja da bi prešo u blokirano

Stanja zadataka

� Prelaz u blokirano stanje vrši sam zadatak• Drugi zadaci ne mogu odlučiti o prelazu u blokirrano stanje.• Zadatak mora biti u stanju izvršavanja da bi prešo u blokirano stanje.

� Samo neki drugi zadatak, ili prekid, može prebaciti zadatak u spremno stanje (iz blokiranog)• Dok je zadatak u blokiranom stanju, nikada ne dobija procesor.• Neki drugi zadatak u sistemu (ili prekidna rutina) mora biti sposoban da

signalizira pojavu događaja.signalizira pojavu događaja.• U suprotnom, zadatak će zauvek ostati u blokoranom stanju.

� Šeduler donosi odluku koji će zadatak iz grupe spremnih biti prvi izvršen• Zadatak može blokirati sam sebe, a ostali zadaci i prekidne rutine

mogu prebaciti zadatak iz blokiranog stanja u spremno, ali šeduler ima kontrolu nad zadacima u spremnom stanju.

Page 10: Sistemi za rad u realnom - es.elfak.ni.ac.rses.elfak.ni.ac.rs › ... › PDF_PPT › 8a-Rasporedjivanje.pdf · • Zadatak mora biti u stanju izvršavanja da bi prešo u blokirano

ττττ11112222ττττ11112222

ττττ11113333ττττ11114444

Raspoređivanje bez istiskivanja

Tri zadatka definisana sa:Sva tri puštena u t=0

Prioritet PeriodaVreme

izvršavanja

τ1 1 7 2

τ2 2 16 4

τ3 3 31 7

prekoračenje

ττττ1111 ττττ11111111 ττττ11112222

ττττ31313131

ττττ11112222 ττττ11114444

ττττ22221111 ττττ22222222

ττττ1111

ττττ2222

ττττ3333

5 10 15 20 25

ττττ11111111

5 10 15 20 25

5 10 15 20 25

Page 11: Sistemi za rad u realnom - es.elfak.ni.ac.rses.elfak.ni.ac.rs › ... › PDF_PPT › 8a-Rasporedjivanje.pdf · • Zadatak mora biti u stanju izvršavanja da bi prešo u blokirano

Raspoređivanje sa istiskivanjem

ττττ1111 ττττ11111111 ττττ11112222 ττττ11113333 ττττ11114444

Tri zadatka definisana sa:Sva tri puštena u t=0

Prioritet PeriodaVreme

izvršavanja

τ1 1 7 2

τ2 2 16 4

τ3 3 31 7

ττττ31313131

ττττ1111

ττττ2222

ττττ3333

5 10 15 20 25

ττττ11111111 ττττ11112222 ττττ11113333 ττττ11114444

ττττ22221111 ττττ22222222

5 10 15 20 25

5 10 15 20 25

Page 12: Sistemi za rad u realnom - es.elfak.ni.ac.rses.elfak.ni.ac.rs › ... › PDF_PPT › 8a-Rasporedjivanje.pdf · • Zadatak mora biti u stanju izvršavanja da bi prešo u blokirano

Implementacija planeraBazirano na konvencionalnim strukturama podataka

�Tabele izvršenja

�Prioritetna lista čekanja

�Konstantan ili promenljivi prioritet

�Raspoređivanje u dva nivoa

Page 13: Sistemi za rad u realnom - es.elfak.ni.ac.rses.elfak.ni.ac.rs › ... › PDF_PPT › 8a-Rasporedjivanje.pdf · • Zadatak mora biti u stanju izvršavanja da bi prešo u blokirano

Implementacija planera

�Tabele izvršenja• Kada je raspored poznat pre početka izvršavanja aplikacije,

statičko off-line raspoređivanje.• Šeduler donosu odluko o tome koji će zadatak iz grupe

spremnih zadataka da bude izvršen na osnovu tabele.

�Prioritetna lista čekanja• Dinamički planirane sekvence, on-line uređena lista.• Uređivanje na osnovu ključeva, pretraživanje po ključevima.• Heap sorted list , uređena lista prioriteta.

Page 14: Sistemi za rad u realnom - es.elfak.ni.ac.rses.elfak.ni.ac.rs › ... › PDF_PPT › 8a-Rasporedjivanje.pdf · • Zadatak mora biti u stanju izvršavanja da bi prešo u blokirano

Implementacija planera�Konstantan ili promenljivi prioritet

• Kada je ključ (prioritet) po kome se pretražuju liste konstantan: vreme izvršavanja, relativni krajnji rok, perioda ili spoljašnji prioritet.

• Kada je promenljiv u toku izvršavanja programa: preostalo vreme izvršavanja, labavost, ili kada se stalno menja vreme puštanja ili apsolutni krajnji rok.

�Raspoređivanje u dva nivoa• Za kompleksna raspoređivanja.• Na višem nivou long-term odluke, obrada preopterećenja,

izbacivanje zadataka. • Na nižem nivou izbor zadataka iz podskupa pripremljenog od

strane višeg nivoa.• Primer distribuirano raspoređivanje.

Page 15: Sistemi za rad u realnom - es.elfak.ni.ac.rses.elfak.ni.ac.rs › ... › PDF_PPT › 8a-Rasporedjivanje.pdf · • Zadatak mora biti u stanju izvršavanja da bi prešo u blokirano

Raspređivanje u klasičnim OS

Dve osnovne funkcije:• Maksimalno iskorišćenje procesora. U realnim uslovima od 40%

do 95%.• Minimizacija vremena odziva zadatka. Najbolji slučaj kada je

vreme odziva jednako vremenu izvršavanja – zadatak odmah izabran za izvršavanje i izvršen bez istiskivanja.

Potvrda uspešnosti raspoređivanja određevanjem kriterijuma:• Vremena čekanja zadataka (u ready stanju);• Propusnost procesora, srednji broj izvršenih zadataka u

određenom vremenskom intervalu;• Ukupnog vremena izvršavanja skupa zadataka;• Srednjeg vremena odziva skupa zadataka.

Page 16: Sistemi za rad u realnom - es.elfak.ni.ac.rses.elfak.ni.ac.rs › ... › PDF_PPT › 8a-Rasporedjivanje.pdf · • Zadatak mora biti u stanju izvršavanja da bi prešo u blokirano

Metode za odluku koji će od spremnih zadatka biti izabran za izvršavanje:

�First-come-first-served (prvi stigne-prvi uslužen)

�Shortest first (najkra ći prvi )

Osnovne metode

�Shortest first (najkra ći prvi )

�Round-robin

�Konstantni prioritet

�Raspoređivanje u više nivoa prioriteta

Page 17: Sistemi za rad u realnom - es.elfak.ni.ac.rses.elfak.ni.ac.rs › ... › PDF_PPT › 8a-Rasporedjivanje.pdf · • Zadatak mora biti u stanju izvršavanja da bi prešo u blokirano

�First-come-first-served (prvi stigne-prvi uslužen)• Po ovoj metodi uslužuje se, bez istiskivanja, zadatak sa

najstarijimzahtevomiz grupe spremnih zadatka;• Alokacija procesora je po redosledu dolaska zadataka;• Zadaci sa kratkim vremenom izvršavanja mogu biti

kažnjeni kada im prethodi zadatak sa dugim vremenom izvršavanja.

Osnovne metode

izvršavanja.�Shortest first (najkra ći prvi )

• Pokušaj da se ispravi nedostatak prethodnog;• Procesor se dodeljuje najkraćem zadatku bez istiskivanja;• Minimizacija srednjeg vremena odziva;• Kažnjeni dugački zadaci;• Potreba za poznavanjem vremena izvršavanja svakog

zadatka.

Page 18: Sistemi za rad u realnom - es.elfak.ni.ac.rses.elfak.ni.ac.rs › ... › PDF_PPT › 8a-Rasporedjivanje.pdf · • Zadatak mora biti u stanju izvršavanja da bi prešo u blokirano

�Round-robin • Dodela procesora zadacima u fiksnim vremenskim intervalima (time slice),

10 ms do 100 ms;• Procesor se dodeljuje svim spremnim zadacima na period ne duži od

zadatog kvanta;• Ako zadatak završi pre isteka vremena, procesor se oslobađa i prelazi se na

izvršavanje novog zadatka;• Ako se zadatak ne završi do isteka vremena, biva istisnut i postaje zadnji u

listi spremnih zadataka;

Osnovne metode

listi spremnih zadataka;• Velika zavisnost performansi od veličine vremenskog intervala. Veliki

vremenski kvant povećava vreme odziva, mali povećava vreme koje se gubi na preklapanja zadataka.

Page 19: Sistemi za rad u realnom - es.elfak.ni.ac.rses.elfak.ni.ac.rs › ... › PDF_PPT › 8a-Rasporedjivanje.pdf · • Zadatak mora biti u stanju izvršavanja da bi prešo u blokirano

Tri zadatka definisana sa:Sva tri puštena u t=0

Vremenski kvantTc = 2 takta

Prioritet PeriodaVreme

izvršavanja

τ1 1 7 2

τ2 2 16 4

τ3 3 31 7

Osnovne metodeRound-robin

Nema prioriteta

ττττ22222222ττττ22221111

ττττ31313131 ττττ31313131 ττττ31313131ττττ31313131

ττττ1111

ττττ2222

ττττ3333

5 10 15 20 25

ττττ11111111 ττττ11112222 ττττ11113333 ττττ11114444

ττττ22221111 ττττ22222222

5 10 15 20 25

5 10 15 20 25

Zadatak: Rasporediti ove zadatke za : Tc = 1, 3, 4 i 5

Page 20: Sistemi za rad u realnom - es.elfak.ni.ac.rses.elfak.ni.ac.rs › ... › PDF_PPT › 8a-Rasporedjivanje.pdf · • Zadatak mora biti u stanju izvršavanja da bi prešo u blokirano

Osnovne metode�Konstantni prioritet

• Konstantna vrednost prioriteta pridružuje se svakom zadatku.• U svakom trenutku izvršava se zadatak sa najvišim prioritetom.• Koristi se bez istiskivanja.• Nedostatak, zadaci sa niskim prioritetom mogu čekati na izvršenje do

beskonačnosti (starve forever). • Rešenje – starenje prioriteta, uvećanje prioriteta sa vremenom čekanja

spremnog zadatka.

�Raspoređivanje u više nivoa prioriteta• Veći broj lista čekanja gde svaka odgovara određenom prioritetu. U jednoj

listi svi zadaci su istog prioriteta i izvršavaju se po redosledu dolaska ili po Round-robin metodi.

• Vremenski kvant može biti različit za svaku listu.• Prvo se opslužuju zadaci iz liste sa najvećim prioritetom, 0, a zatim iz

sledeće liste, 1, sve dok je lista 0 prazna i td.

Page 21: Sistemi za rad u realnom - es.elfak.ni.ac.rses.elfak.ni.ac.rs › ... › PDF_PPT › 8a-Rasporedjivanje.pdf · • Zadatak mora biti u stanju izvršavanja da bi prešo u blokirano

�Ilustracija prednosti raspoređivanja nad brzinom

Problem inspirisan La Fontenovom basnom “Zec i kornjača”(La Fontaine, Le li`evre et la tortue, Fables VI, 10, Paris, 17th century)

Dva zadatka:• Prvi - periodičan koji kontroliše rad motora u automobilu. Perioda i relativni krajnji

rok iznose 320 ms. • Drugi – sporadični koji reaguje na komande upravljanja. Relativni krajnji rok iznosi

21 ms

Dva procesora:• Prvi: Tortoise (Kornjača) brzine 1 Mips, vreme preklapanja zadataka 1 ms i

raspoređivanje po principu najkraćeg krajnjeg roka. Vreme izračunavanja periodičnog zadatka izvosi 270 ms a sporadičnog 15 ms.

• Drugi: Hare (Zec) brzine 10 Mips, vreme preklapanja zadataka približno 0, i raspoređivanje po principu prvi-stigne-prvi-uslužen bez istiskivanja. Vreme izračunavanja periodičnog zadatka izvosi 27 ms a sporadičnog 1.5 ms.

Scenario: • Sporadični zadatak se aktivira odmah nakon pojave periodičnog zadatka

Page 22: Sistemi za rad u realnom - es.elfak.ni.ac.rses.elfak.ni.ac.rs › ... › PDF_PPT › 8a-Rasporedjivanje.pdf · • Zadatak mora biti u stanju izvršavanja da bi prešo u blokirano

D Tortoise Hare

τ1 320 270 27

τ2 21 15 1.5

Preklapanjekonteksta

Vreme izvršavanja, C2 = 15

5 10 15 20 28525 290

5 10 15 20 28525 290

Propuštenikrajnji rok

Relativni krajnji rok, D2 = 21

Vreme izvršavanja, C2 = 15