Sistemi za rad u realnom vremenu. Raspoređivanje zadataka

Σχετικά έγγραφα
UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka

3.1 Granična vrednost funkcije u tački

Elektrotehnički fakultet univerziteta u Beogradu 17.maj Odsek za Softversko inžinjerstvo

Iskazna logika 3. Matematička logika u računarstvu. novembar 2012

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju

Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu

2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x

DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović

II-Jezgro operativnog sistema S A D R Ž A J 3.1

Računarska grafika. Rasterizacija linije

Zavrxni ispit iz Matematiqke analize 1

IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI)

Strukture podataka i algoritmi 1. kolokvij 16. studenog Zadatak 1

MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15

POTPUNO RIJEŠENIH ZADATAKA PRIRUČNIK ZA SAMOSTALNO UČENJE

XI dvoqas veжbi dr Vladimir Balti. 4. Stabla

IZVODI ZADACI (I deo)

III VEŽBA: FURIJEOVI REDOVI

Operacije s matricama

PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti).

5. Karakteristične funkcije

Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama.

21. ŠKOLSKO/OPĆINSKO/GRADSKO NATJECANJE IZ GEOGRAFIJE GODINE 8. RAZRED TOČNI ODGOVORI

APROKSIMACIJA FUNKCIJA

Računarska grafika. Rasterizacija linije

FTN Novi Sad Katedra za motore i vozila. Teorija kretanja drumskih vozila Vučno-dinamičke performanse vozila: MAKSIMALNA BRZINA

Elementi spektralne teorije matrica

IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo

IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f

ELEKTROTEHNIČKI ODJEL

numeričkih deskriptivnih mera.

Trigonometrijske nejednačine

Kaskadna kompenzacija SAU

Elektrotehnički fakultet univerziteta u Beogradu 16.maj Odsek za Softversko inžinjerstvo

Osnovne teoreme diferencijalnog računa

a M a A. Može se pokazati da je supremum (ako postoji) jedinstven pa uvodimo oznaku sup A.

M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost

18. listopada listopada / 13

41. Jednačine koje se svode na kvadratne

(P.I.) PRETPOSTAVKA INDUKCIJE - pretpostavimo da tvrdnja vrijedi za n = k.

Ispitivanje toka i skiciranje grafika funkcija

Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A

1 Afina geometrija. 1.1 Afini prostor. Definicija 1.1. Pod afinim prostorom nad poljem K podrazumevamo. A - skup taqaka

Eliminacijski zadatak iz Matematike 1 za kemičare

Riješeni zadaci: Nizovi realnih brojeva

Teorijske osnove informatike 1

Algoritmi i strukture podataka - 1.cas

Matematika 1 - vježbe. 11. prosinca 2015.

Pravilo 1. Svaki tip entiteta ER modela postaje relaciona šema sa istim imenom.

RIJEŠENI ZADACI I TEORIJA IZ

7 Algebarske jednadžbe

KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI. NEUTRALNI ELEMENT GRUPOIDA.

ZBIRKA POTPUNO RIJEŠENIH ZADATAKA

SISTEMI NELINEARNIH JEDNAČINA

Zadaci iz trigonometrije za seminar

4.7. Zadaci Formalizam diferenciranja (teorija na stranama ) 343. Znajući izvod funkcije x arctg x, odrediti izvod funkcije x arcctg x.

Klasifikacija blizu Kelerovih mnogostrukosti. konstantne holomorfne sekcione krivine. Kelerove. mnogostrukosti. blizu Kelerove.

radni nerecenzirani materijal za predavanja R(f) = {f(x) x D}

Verovatnoća i Statistika I deo Teorija verovatnoće (zadaci) Beleške dr Bobana Marinkovića

MATEMATIKA 2. Grupa 1 Rexea zadataka. Prvi pismeni kolokvijum, Dragan ori

radni nerecenzirani materijal za predavanja

IZVODI ZADACI (I deo)

( ) ( ) 2 UNIVERZITET U ZENICI POLITEHNIČKI FAKULTET. Zadaci za pripremu polaganja kvalifikacionog ispita iz Matematike. 1. Riješiti jednačine: 4

5 Ispitivanje funkcija

( , 2. kolokvij)

12. Karakteristike sistema za rad u realnom vremenu

Betonske konstrukcije 1 - vežbe 3 - Veliki ekscentricitet -Dodatni primeri

Trigonometrija 2. Adicijske formule. Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto

PARCIJALNI IZVODI I DIFERENCIJALI. Sama definicija parcijalnog izvoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je,

TRIGONOMETRIJA TROKUTA

Veleučilište u Rijeci Stručni studij sigurnosti na radu Akad. god. 2011/2012. Matematika. Monotonost i ekstremi. Katica Jurasić. Rijeka, 2011.

S t r a n a 1. 1.Povezati jonsku jačinu rastvora: a) MgCl 2 b) Al 2 (SO 4 ) 3 sa njihovim molalitetima, m. za so tipa: M p X q. pa je jonska jačina:

Skup svih mogućih ishoda datog opita, odnosno skup svih elementarnih događaja se najčešće obeležava sa E. = {,,,... }

Sortiranje prebrajanjem (Counting sort) i Radix Sort

Inženjerska grafika geometrijskih oblika (5. predavanje, tema1)

INTEGRALNI RAČUN. Teorije, metodike i povijest infinitezimalnih računa. Lucija Mijić 17. veljače 2011.

Zadaci iz Osnova matematike

NOMENKLATURA ORGANSKIH SPOJEVA. Imenovanje aromatskih ugljikovodika

Ĉetverokut - DOMAĆA ZADAĆA. Nakon odgledanih videa trebali biste biti u stanju samostalno riješiti sljedeće zadatke.

MEHANIKA FLUIDA. Isticanje kroz otvore sa promenljivim nivoom tečnosti

Matematička analiza 1 dodatni zadaci

Linearna algebra 2 prvi kolokvij,

OSNOVI ELEKTRONIKE VEŽBA BROJ 1 OSNOVNA KOLA SA DIODAMA

TRIGONOMETRIJSKE FUNKCIJE I I.1.

1.4 Tangenta i normala

INTELIGENTNO UPRAVLJANJE

Konstruisanje. Dobro došli na... SREDNJA MAŠINSKA ŠKOLA NOVI SAD DEPARTMAN ZA PROJEKTOVANJE I KONSTRUISANJE

FTN Novi Sad Katedra za motore i vozila. Teorija kretanja drumskih vozila Vučno-dinamičke performanse vozila: MAKSIMALNA BRZINA

SEMINAR IZ KOLEGIJA ANALITIČKA KEMIJA I. Studij Primijenjena kemija

OM2 V3 Ime i prezime: Index br: I SAVIJANJE SILAMA TANKOZIDNIH ŠTAPOVA

Testiranje statistiqkih hipoteza

Program testirati pomoću podataka iz sledeće tabele:

Antene. Srednja snaga EM zračenja se dobija na osnovu intenziteta fluksa Pointingovog vektora kroz sferu. Gustina snage EM zračenja:

OBRTNA TELA. Vladimir Marinkov OBRTNA TELA VALJAK

Novi Sad god Broj 1 / 06 Veljko Milković Bulevar cara Lazara 56 Novi Sad. Izveštaj o merenju

Prvi pismeni zadatak iz Analize sa algebrom novembar Ispitati znak funkcije f(x) = tgx x x3. 2. Naći graničnu vrednost lim x a

π π ELEKTROTEHNIČKI ODJEL i) f (x) = x 3 x 2 x + 1, a = 1, b = 1;

Pismeni ispit iz matematike GRUPA A 1. Napisati u trigonometrijskom i eksponencijalnom obliku kompleksni broj, zatim naći 4 z.

1. Pojam fazi skupa. 2. Pojam fazi skupa. 3. Funkcija pripadnosti, osobine i oblici. 4. Funkcija pripadnosti, osobine i oblici

100g maslaca: 751kcal = 20g : E maslac E maslac = (751 x 20)/100 E maslac = 150,2kcal 100g med: 320kcal = 30g : E med E med = (320 x 30)/100 E med =

Transcript:

Sistemi za rad u realnom vremenu --------------------------------------- Raspoređivanje zadataka

Raspoređivanje Redefinisanje zadatka Stanja zadataka Sadržaj Raspoređivanje bez istiskivanja Raspoređivanje sa istiskivanjem 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

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

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

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, definisanjem startne adrese i nekih drugih parametara Ograničenja u broju zadataka!

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

Stanja zadataka Blokirano Blocked Događaj potreban zudatku se desio Spremno Ready Task sa najvišim prioritetom Pojavio se ready task Višeg prioriteta Neaktivno Dormant Ćekanje na događaj Izvršavanje Running

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

Raspoređivanje bez istiskivanja Tri zadatka definisana sa: Sva tri puštena u t=0 Prioritet Perioda Vreme izvršavanja τ 1 1 7 2 τ 2 2 16 4 τ 3 3 31 7 τ 1 τ 1 τ 11 τ 12 τ 12 τ 14 τ 13 prekoračenje 5 10 15 20 25 τ 2 τ 21 τ 22 5 10 15 20 25 τ 3 τ 31 5 10 15 20 25

Raspoređivanje sa istiskivanjem Tri zadatka definisana sa: Sva tri puštena u t=0 Prioritet Perioda Vreme izvršavanja τ 1 1 7 2 τ 2 2 16 4 τ 3 3 31 7 τ 1 τ 11 τ 12 τ 13 τ 14 τ 1 5 10 15 20 25 τ 2 τ 21 τ 22 5 10 15 20 25 τ 3 τ 31 5 10 15 20 25

Implementacija planera Bazirano na konvencionalnim strukturama podataka Tabele izvršenja Prioritetna lista čekanja Konstantan ili promenljivi prioritet Raspoređivanje u dva nivoa

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.

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.

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.

Osnovne metode 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) Round-robin Konstantni prioritet Raspoređivanje u više nivoa prioriteta

Osnovne metode First-come-first-served (prvi stigne-prvi uslužen) Po ovoj metodi uslužuje se, bez istiskivanja, zadatak sa najstarijim zahtevom iz 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. 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.

Osnovne metode 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; 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.

Round-robin Osnovne metode Tri zadatka definisana sa: Sva tri puštena u t=0 Vremenski kvant Tc = 2 takta Nema prioriteta Prioritet Perioda Vreme izvršavanja τ 1 1 7 2 τ 2 2 16 4 τ 3 3 31 7 τ 1 τ 11 τ 12 τ 13 τ 14 5 10 15 20 25 τ 2 τ 21 τ 21 τ 22 τ 22 5 10 15 20 25 τ 3 τ 31 τ 31 τ 31 τ 31 5 10 15 20 25 Zadatak: Rasporediti ove zadatke za : Tc = 1, 3, 4 i 5

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.

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

D Tortoise Hare τ 1 320 270 27 τ 2 21 15 1.5 Vreme izvršavanja, C 2 = 15 Preklapanje konteksta 5 10 15 20 25 285 290 5 10 15 20 25 285 290 Relativni krajnji rok, D 2 = 21 Propušteni krajnji rok