Documente Academic
Documente Profesional
Documente Cultură
Curs 01 PDF
Curs 01 PDF
- [timp]
- [real]
Exemple
Control
Monitorizare + alerte/decizii
resurse
o active: procesoare asigura execuia instruciunilor
o pasive: periferice (DA, AD, PWM, numaratoare), linii de comunicatie,
locatii memorie (variabile)
+
procese care lupta pentru ocuparea resurselor (implementate de programator)
Planificare
Folosirea corect i
eficient a resurselor
Timp de rspuns
Suprancrcare
Comportare acceptabil
Multitasking
Motontasking
ISR
ISR
while(1){
if() operatii task 1
if() operatii task 2
etc
}
while(1){
}
Task1
T2
Task3
Task2
T1
T1T2
T2
T2T3
T3
SOTR
Programator
(+ servicii SOTR)
Continuarea executiei
procesului cu urmatoarea
instructiune + gestionare
corect a stivei/memoriei
Logica nealterat,
consistena date,
sincronizare, etc.
Task1
.
.
.
.
Task 2
..
+
respectare restricii de timp
arbitrare n sensul respectrii RT pe baz de prioriti
kernel
microkernel
planificare (scheduling) +
control execuie (dispatcher)
- monolitic
o RTOS lucreaza in mod privilegiat, iar aplicatiile lucreaza in mod
utilizator folosind apeluri la RTOS bazate pe trap
o Executia aplicatiei in mod supervizor prin linkeditare cu RTOS
(apel sistem apel functie)
- stratificat
o RTOS organizate pe module organizate ierahic
Permite update simplu a unui modul
Scalabilitate, portabilitate crescute
- bazat pe OS servere
o Kernel minimal:
asigura comunicare securizata si operatii sistem critce
(accesare registri IO)
functii ale RTOS sunt mutate in procese de tip OS server ce
ruleaza in mod utilizator si comunica prin mesaje.
Proces 1
Proces 2
..............
Setez mod de lucru 1
Folosesc resursa pe mod 1
........................
..............
Setez mod de lucru 2
Folosesc resursa pe mod 2
........................
2) dup importan
o critice hard deadline - uzual : periodice
o eseniale deadline ferm, important
o neeseniale deadline-ul poate fi nclcat fr efecte imediate
(software deadline)
necesitate considerare prioriti pentru taskuri
Cere asteptarea
unui eveniment
in asteptare
(waiting)
Evenimentul asteptat
a avut loc
in curs de executie
(running)
Se termina de
executat
Pierde
procesorul
(preempt)
Primeste
procesorul
(start)
suspendata
pregatita pentru
executie (ready)
activata
Pot exista diferente intre SOTR cu privire la modul de trecere del a o stare la alta sau
denumirea strii
Terminare T1
suspendat
in executie
suspendat
in executie
ready
in executie
v
T2
activare T1
T1
suspendat
Terminare T1
in executie
suspendat
ready
in executie
v
in executie
T2
o nepreemtiv
un proces nu cedeaz procesorul altui proces activ, fr acordul su
activare T1
T1
suspendat
ready
in executie
v
in executie
suspendat
T2
Terminare T2
>> pot fi admise moduri mixte: unele procese preemtive, altele nepreemtive
1. 4. Planificator
Planificatorul (scheduler) monitorizeaz coada de taskuri ready i stabilete ce
task trece executie.
Elemente ce definesc planificatorul:
o cand se activeaz planificatorul (cnd poate decide comutarea)
clock driven [periodic]
planificatorul se activeaz periodic (o perioad = frame)
+ procesul in executie cere acces la planificator, se termina sau intra in
asteptare
event driven [bazat pe evenimente]
planificatorul se activeaz cand apare un eveniment ce modific coada
ready
+ procesul in executie cere acces la planificator, se termina sau intra in
asteptare
activare T1
T1
Terminare T1
suspendat
in executie
suspendat
in executie
ready
in executie
v
T2
activare T1
T1
suspendat
cadru
(frame)
Terminare T1
in executie
suspendat
ready
in executie
v
in executie
T2
mod preemptiv!!!!
I. 1. 5. Execuia ISR
Atentie: ISR nu sunt supervizate de planificator!
Cererile nu sunt stocate in coada ready gestionate de controllerul de
intreruperi
Uzual ISR sunt gestionate pe nivele de prioritate superioare:
un ISR intrerupe orice task daca IF permite
+
modifcare IF disable/enable
un ISR poate intrerupe un ISR mai putin prioritar daca IF permite
Di
(deadline relativ)
procesi
ri
activare
(release)
timp
di
termen limita
(deadline absolut)
ei
(executie)
li
rezerva
(laxity, slack)
Taski
intarziere
(tardeness)
Taski
Timpul de activare ri
poate incorpora i restricii de precedena (procesul se poate executa doar dac
alte procese s-au executat)
Timpul de executie ei
este calculat pentru un proces care se executa fara a fi intrerupt-preemtat, avand
toate resursele necesare disponibile si toate restrictiile de precedenta indeplinite
Depinde de viteza resurselor active
Nu depinde de secventa de executie a taskurilor
Poate fi diferit
daca exista instructiuni conditionale,
daca se foloseste memorie cash
ei [ei , ei + ] >> se va considera in analiza ei +
Obs:
In aplicatiile de timp real exista multe procese periodice
Aplicaii on-line: Tdeadline < ; aplicaii off-line: Tdeadline
Tipuri restrictii de timp
hard (ferme)
soft (mai putin severe, optionale)
Functia de utilitate
Indica daca este utila executia procesului chiar si dupa expirarea termenului limita
utilitate
intarziere
0