![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](https://reader033.vdocuments.pub/reader033/viewer/2022053014/5f110d8b6f61720f577ce001/html5/thumbnails/1.jpg)
![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](https://reader033.vdocuments.pub/reader033/viewer/2022053014/5f110d8b6f61720f577ce001/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053014/5f110d8b6f61720f577ce001/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053014/5f110d8b6f61720f577ce001/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053014/5f110d8b6f61720f577ce001/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053014/5f110d8b6f61720f577ce001/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053014/5f110d8b6f61720f577ce001/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053014/5f110d8b6f61720f577ce001/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053014/5f110d8b6f61720f577ce001/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053014/5f110d8b6f61720f577ce001/html5/thumbnails/10.jpg)
ττττ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](https://reader033.vdocuments.pub/reader033/viewer/2022053014/5f110d8b6f61720f577ce001/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053014/5f110d8b6f61720f577ce001/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053014/5f110d8b6f61720f577ce001/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053014/5f110d8b6f61720f577ce001/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053014/5f110d8b6f61720f577ce001/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053014/5f110d8b6f61720f577ce001/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053014/5f110d8b6f61720f577ce001/html5/thumbnails/17.jpg)
�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](https://reader033.vdocuments.pub/reader033/viewer/2022053014/5f110d8b6f61720f577ce001/html5/thumbnails/18.jpg)
�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](https://reader033.vdocuments.pub/reader033/viewer/2022053014/5f110d8b6f61720f577ce001/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053014/5f110d8b6f61720f577ce001/html5/thumbnails/20.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053014/5f110d8b6f61720f577ce001/html5/thumbnails/21.jpg)
�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](https://reader033.vdocuments.pub/reader033/viewer/2022053014/5f110d8b6f61720f577ce001/html5/thumbnails/22.jpg)
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