Documente Academic
Documente Profesional
Documente Cultură
2.
3.
static:
Planif arbitrara
Rate-monotonic
dinamic:
EDS
EDL
mixt:
Priority ceiling
PDSP
1. Static
Planificare arbitrara:
Este bazata pe prioritati statice, care sunt evaluate si setate de proiectantul sistemului in mod arbitrar,
initial. Este o politica subiectiva.
Algoritmul RATE-MONOTONIC
In cadrul acesteia fiecrui task i se asociaz o prioritate funcie de perioada acestuia (static!), taskul cu perioada cea mai scurt fiind cel mai prioritar. Algoritmul de planificare rate-monotonic se bazeaz
pe cteva presupuneri:
U TWCET i * f i n ( 2 1)
i 1
unde TWCETi = timpul de execuie pentru cazul cel mai defavorabil WCET al task-ului i, fi = frecvena taskului i, n = numrul de task-uri de planificat. U obinut n acest caz reprezint limita atins pentru
utilizarea procesorului pentru cazul cel mai defavorabil, i valoarea acestuia crete monoton de la 0.83
pentru n=2 ctre 0.693 cnd n tinde la infinit.
Dac gradul de utilizare al procesorului satisface relaia de mai sus, procesele sunt planificabile utiliznd
algoritmul rate-monotonic. Un exemplu de procese planificabile utiliznd algoritmul rate-monotonic este
prezentat n Figura 6.9.
C
B
A
20ms
120ms
40ms
60ms
80ms
100ms
Dispozi
tive
de
ieire
(actuat
ori)
Presupunerile facute pt alg rate-monolitic trebuie sa fie considerate si in acest caz. Factorul de
utilizare a proc poate sa ajunga la 1, chiar daca perioadele proceselor nu sunt multiplii ai perioadei celei
mai mici. Dupa aparitia fiecarui eveniment, prioritatile se reasigneaza in mod dinamic, procesul cu cel
mai apropiat deadline primind prioritatea max: prioritatea este definita ca fiind timpul ramas pana la
deadline pt procesul respectiv.Politica de planificare este dinamica.
n
TWCETi
1
TPERi
unde TWCETi timpul de exec pt cazul cel mai defav al proc-lui i, T PERi per proc-lui i.
Earlies-deadline-as-late-as posible EDL
Se bazeazape aceasi presupuneri ca si EDS si rate-monolitic. Adica daca 2 proc sunt gata de
executie in acelasi mom, cel care are lascitate (timpul intre mom finalizarii exec procesului si deadline)
cea mai mica, este mai prioritar.
laxity (Ti , t ) max(t dead _ i tWCETi t ,0.000)
Valoarea 0.000 apare intrucat se doreste ca val calculata sa nu fie niciodata negativa. Politica de
planificare dinamica.
2. Mixt
Algoritmul PRIORITY CEILING
Atunci cand se folosesc prioritati statice si procesele se utilizeaza resurse comune protejate de semafoare,
o schema cu prioritati statice (ca si la alg rate-monolitic) poate conduce la o situatie de inversare a
prioritatilor. O rezolvare a acestei probleme este utilizarea protocolului priority celling in mom intrarii
intr-o sectiune critica : astfel pt fiecare sectiune critica se defineste o prioritate fixa ca fiind prioritatea cea
mai mare posibila proceselor care pot intra in acea sectiune critica. Acest protocol elimina asteptarile in
lant si aparitia deadlock-ului. El prezinta o schema mixta: statica si dinamica in acelasi timp. In cazul in
care combinam acest alg cu alg rate-monolitic rezulta urm conditie pt fezabilitatea planificarii pt n
procese:
TWCETi
T
Wi
TPERi
i 1 TPERi
n(2 n 1)
1<=m<=N, atunci planificatorul trebuie sa excluda niste procese din lista proceselor pregatite. Procesul cu
cea mai mare lascitate este scos, si procesul se repeta pana cand conditia devine adevarata.
Randul 2
1. Cerinte soft ale structurii din punct de vedere al structurii limbajului (transmiterea parametrilor si
tipizarea)
Din pctul de vedere al limbajelor utilizate in aplicatii TR, structura acestora poate
fi privita prin prisma a 2 dimensiuni:
-dimensiunea spatiala posibilitatea descompunerii proceselor in entitati se
dimensiuni conttrolabile, identificarea legaturilor dintre acestea si relatiile
acestora cu problema data.
dimensiunea temporala posibilitatea descompunerii aplicatiilor in task-uri
(procese) care se executa in simultan. Problema majora in acest caz se refera
lafurnizarea unor mechanisme fiabile de sincronizare si comunicare intre
procesele care se executa.
Modalitatea de transmitere a parametrilor
Mecanismele de transmitere a parametrilor includ:
-utilizarea variabilelor globale
-transmiterea prin valoare
-transmiterea prin referinta
Transmiterea prin valoare implica copierea parametrului actual in
parametrul formal al functiei. Functia manipuleaza doar parametrul formal. (Pascal,
C si Ada);
Transmitere prin ref adresa parametrului actual este transmisa functiei.
Functia manipuleaza direct parametrul actual. (Fortran).
Este importanta determinarea manierei de transmitere a diferitelor structuri
de date utilizate in cadrul unei aplicatii TR. Avantajele si dezavantajele fiecareia
dintre modalitati sunt dependente si de alti factori: limbaj de prog, compilatorul,
hardware-ul, etc. Este de preferat utilizarea listei de parametri atata timp cat
performantele temporale nu sunt afectate in mod considerabil. Variabilele global pot
fi folosite numai in cazul in care metoda anterioara nu rezulta performante bune.
Tipizarea:
Limbajele tipizate necesita ca fiecare variabila sau constanta sa fie de un
anumit tip, declarat inainte de utilizare. Limbajele cu tipizate tare forteaza
programatorul sa fie foarte clar in ceea ce priveste tipul unei anumite variabile si
interzice amestecarea tipurilor in operatii si atribuiri. Astfel se pot prevenii
modificari nedorite asupra datelor folosite.
Limbajul Pascal a fost primul care dispune de tipizare tare si limbajele
ulterioare ale acestuia sunt folosite in aplicatiile TR : Modula-2, Ada.
Limbaje C prezinta tipizare slaba. In cazul lor se realizeaza conversii implicite
de tip de catre compilator. Un caz special este tipul pointer, pe care trebuie utilizat
cu precautie in aplicatii TR.
2). Sisteme de timp real. Hard vs. Soft
Sistemele timp real pot fi clasificate din diferite puncte de vedere. Astfel,
aceste clasificri pot fi realizate n funcie de caracteristicile aplicaiei, i n
1 n
T
Soft: Periodic: tc (i ) t s a; n
n i 1
ts
n
1
T
Aperiodic: te (i ) Ta ; n
n i 1
ts
tc(i)-interv intre ciclul i si i-1;
te(i)-timp de rasp la i-a aparitie a even-lui e;
ts-interv periodic dorit;
Te-timp max de raspuns permis;
n- nr-ul de aparitii al evenimentului e in intervalul T;
a- toleranta mica de timp;
Constantele de timp hard, in mod evident repr constrangeri de timp mai severe, cu
implicatii mult mai mari asupra STR, decat cele soft. Majoritatea STR contin un
amestec de activitati avand constrangeri de timp atat hard cat si soft.
3).Calculatoare specializate
Procesoarele (calculatoarele) specializate au fost dezvoltate pentru dou scopuri
principale:
--vitez de procesare crescut(aplicaii critice)
--posibilitate de interfaare uoar cu dispoz externe
Cerine necesare pentru ca un calculator s poat fi utilizat pentru aplicaiile n
timp real :
- trebuie proiectat astfel nct s poat funciona n mediu industrial, cu tot ceea ce
implic acesta referitor la condiiile de temperatur, umiditate, praf,
- trebuie s fie capabil s utilizeze semnale de I/O digitale la voltajele ntlnite n
industrie (de la 24V pn la 240V), precum i semnale de I/O analogice
- limbajul de programare trebuie s fie ct mai simplu; programele trebuie s poat
fi modificate uor,
- ntr-un sistem de control timp real, multe din erorile care apar sunt nu att erori de
programare ct erori rezultate din defeciunea unor anumii senzori, swich-uri, etc.,
astfel nct trebuie s fie posibil detectarea uoar a unor astfel de erori de ctre
calculator;
- calculatorul trebuie s fie suficient de rapid pentru a realiza controlul n timp real
Programmable Logic Controller (PLC)
Pentru controlul proceselor industriale complexe, au fost dezvoltate sisteme
speciale de calculatoare cunoscute sub numele de Controller-e Programabile
(Programmable Logic Controller - PLC ),. Acestea sunt proiectate s opereze n
medii industriale, cu tot ceea ce implic acestea din punct de vedere al
temperaturii, umiditii, zgomotelor i vibraiilor. Exist o multitudine de firme
productoare de astfel de PLC-uri :Allen Bradley ,Siemens,AEG Modicon, Texas
Instruments.
Este alctuit n principal din dou pri: unitatea central i interfaa
pentru I/O, prin intermediul creia controller-ul este legat la diversele dispozitive i
senzori exteriori acestuia
Sistemele timp real pot fi clasificate din diferite puncte de vedere. Astfel, aceste clasificri pot fi
realizate n funcie de caracteristicile aplicaiei, i n consecin sunt dependente de factori externi
sistemului de calcul utilizat sau n funcie de caracteristicile implementrii i proiectrii propriu-zise, caz
n care sunt dependente de factori interni sistemului de calcul.
Exista mai multe tipuri de sist TR : hard, soft, sist cadere in siguranta(fail safe), sist operare in siguranta
(fail operational), sist resurse adecvate, sist resurse neadecvate, sist orientate eveniment(event triggerET) ,
sist orientate timp(time trigger TT),sist raspuns garantat, sist cel mai bun efort.
Un trigger este un eveniment care are ca rezultat executia unui proces sau transmiterea unui
mesaj. In functie de mechanismul adoptat pt initierea comunicarii si activitatii de procesare, exista 2
abordari care pot fi utilizate in procesul de proiectare a app TR:
-orientata eveniment toate activitatile din cadrul sistemului precum si comunicarea in sistem
se real in urma aparitiei unor evenimente. Sesizarea evenimentelor semnificative se real utilizand
mechanismul intreruperilor si este necesara aplicarea unei strategii de planificare dinamica pt
activarea procesului corespunzator tratarii evenimentului aparut.
-orientata timp toate activitatile sunt initiate la momente predefinite de timp, existand o
singura intrerupere, de ceas. Astfel daca sincronizarea dintre porcesele externe si interne este
definita in func de timpul curent, inseamna ca la proiectarea sistemului in cauza a fost utilizata
abordatea TT; daca insa aceasta se defineste in func de anumite evenimente, s-a utilizat abordatea
ET.
Intr-un STR ET se utilizeaza mechanismul intreruperilor pt tratarea evenimentelor externe. Cand
un astfel de mechanism este activat si apare o intrerupere, executia procesului curent este intrerupta si
hardware0ul forteaza o schimbare de context catre rutina de tratare a intr coresp. Dupa terminarea tratarii
intreruperii, o noua schimbare de context trebuie realizata. Aceste schimbari de context consuma un timp
regie administrativa a celui mai defavorabil caz (WCAO). Frecventa intreruperilor intr-un STR trebuie
sa fie limitata imposibil intr-un sist ET, deoarece sursa intreruperilor se afla in afara sferei de ctrl a
calculatorului.
In sisteme TT insa, controlul ramane la nivelul calculatorului. Pt a sesiza un anumit eveniment
exterior, un sistem TT utilizeaza un procesperiodic time-triggered care evalueaza periodic starea
variabilelor de sistem. Perioada acestui process trebuie sa fie mai mica decat lascitatea (diferenta intre
deadline si timpil de executie). Pt sist care abordeaza modalitatea ET si lucreaza prin intreruperi,
predictibilitatea este un deziderat greu de atins iar determinismul nu poate fi practic realizat. Orice
modalitate de a schimba in mod dinamic ordinea proceselor in astfel de sisteme rezulta intr-un sist
nedeterministic.
2).Alocarea si planificarea n sisteme timp real. Algoritmi de planificare. EDS si EDL.
Algoritmii EDS SI EDL
Earliest-deadline-as-soon-as-possible EDS Presupunerile facute pt alg rate-monolitic trebuie sa fie
considerate si in acest caz. Factorul de utilizare a proc poate sa ajunga la 1, chiar daca perioadele
proceselor nu sunt multiplii ai perioadei celei mai mici. Dupa aparitia fiecarui eveniment, prioritatile se
reasigneaza in mod dinamic, procesul cu cel mai apropiat deadline primind prioritatea max: prioritatea
este definita ca fiind timpul ramas pana la deadline pt procesul respectiv.Politica de planificare este
n
TWCETi
1
TPERi
unde TWCETi timpul de exec pt cazul cel mai defav al proc-lui i, T PERi per proc-lui i.
Earlies-deadline-as-late-as posible EDL Se bazeazape aceasi presupuneri ca si EDS si rate-monolitic.
Adica daca 2 proc sunt gata de executie in acelasi mom, cel care are lascitate (timpul intre mom finalizarii
exec procesului si deadline) cea mai mica, este mai prioritar.
laxity (Ti , t ) max(t dead _ i tWCETi t ,0.000)
Valoarea 0.000 apare intrucat se doreste ca val calculata sa nu fie niciodata negativa. Politica de
planificare dinamica.
3).Concepte ale controlului automat in sistemele de control timp real - controlul operational
Poate fi realizat secvential sau in bucla
Controlul secvenial implic implementarea secvenei de aciuni care trebuie executat n scopul
realizrii unui anumit produs sau proces. In acest sens, este posibil s apar necesitatea executrii n
paralel a anumitor secvene, n scopul eficientizrii procesului. Iniializarea secvenei poate fi executat
automat, de ctre calculator (controlul supervizor), sau poat fi lsat n seama unui operator uman.
Avantajul controlului complet automat fa de utilizarea unui operator conduce la o flexibilitate mai
redus n luarea anumitelor decizii; din acest motiv, de obicei se utilizeaz o combinaie ntre acestea:
calculatorul este programat s realizeze operaiile i calculele necesare i s prezinte deciziile (sau o list
de posibiliti) pentru confirmare unui operator uman.
Sistemele care implic controlul secvenial pot varia de la dimensiuni foarte reduse (ex. o main
de splat automat) la sisteme foarte complexe (pornirea unei turbine n cadrul unei centrale electrice).
Totui, n multe sisteme de control timp real, controlul secvenial este combinat cu aa numitul control n
bucl: acesta implic meninerea unei anumite mrimi din cadrul sistemului la o valoare prestabilit sau
urmrirea unui anumit profil prestabilit. (de exemplu, meninerea unei temperaturi constante, sau variaia
acesteia dup o anumit funcie).
Structura detaliat a unei singure bucle de reglare este urmtoarea:
Ecuaia este format din 3 termeni, aa numii proporional, integral i derivativ. n cazul n care
unul sau mai muli din aceti termeni lipsesc, avem de-a face cu regulatoare de tip P (proporional), PI
(proporional-integral) , etc.
n concluzie, rspunsul unui regulator pe baza controlului PID este deci dependent de cele trei constante
caracteristice : Kp, Ki = 1/Ti i respectiv Td.
Aceste trei constante trebuie s fie modificabile ntr-un sistem timp real pentru a obine o ieire ct mai
bun (ideal, mai puin oscilant, stabilizat ct mai rapid). Procesul de ajustare a acestor constante se
poate simula n prealabil, pentru a determina valorile optime. Acest operaie se numete acordarea
regulatorului (tuning). Un sistem timp real poate conine multe bucle de reglare, legate ntre ele n
cascad (mai puin) sau de sine stttoare.
R4
1). Cerinte hardware pentru ATR calculatoare conventionale, setul de instructiuni si modul de adresare,
mecanismul si structura intreruperilor.
Are 3 componente de baza: UC, mem si sistemul de I/O, conectate printr-o mag care include mag
de date si de adr.
Performanta generala a unui STR este in general influetata din pct de vedere hardware de factorii:
-care influ perf UC;
-care influ perf mem;
-care influ perf sist de I/O.
Setul de instr si modul de adresare:
Timpul de executie a unui macroinstr este in func de : timpul de decodificare al unei instr,
lungimea unui microprogram, nr-ul de cicli de mag necesari. Acest nr este influentat de lungimea standard
a cuvantului vizavi de dimensiunea mag de date precum si de modul de adresare a instructiunilor. O
lungime a cuvantului mai mare conduce la o precizie mai mare si la posibilitatea accesului dintr-o data la
cantitate mai mare de inf. Cu cat setul de moduri de adresare este mai bogat, cu atat timpul de
decodificare al unei instructiuni va fi mai lung.
Toate macroinstructiunile necesita cel putil un ciclu de mag pt aducerea din mem principala.
Timpul de acces al memoriei are un efect negativ asupra informatiei sistemelor timp-real. Este de preferat
folosirea modurilor de adresare a instructiunilor astfel incat nr-ul acceselor la memorie sa fie cat mai mic
posibil.
Caracteristici de dorit :
-moduri de adresare flexibile pt adresarea directa si imediata;
-utilizarea limitata a modului de adresare indirect, inttrucat acesta necesita cicli de mag
suplimentari;
-utilizarea instr cu operanzi intregi in logul instr cu virgula mobila.
Mechanismul intreruperilor:
Intreruperile pot fi cauzate de evenimente interne sau externe. Interne : impartire la 0, depasire,
erori la utilizarea operatorilor in virgula mobila. Evenimente externe sunt cauzate de alte disp externe si in
majoritatea sistemelor de op aceste intreruperi trebuiesc planificate.
Intr-un sist cu un singur nivel de tratare a intrerup, tratarea unei intr nu poate fi intrerupta:
-se termina instr curenta;
-se salveaza PC-ul intr-o locatie specifica pt pastrarea adr de revenire;
3). Alocarea si planificarea n timp real - Algoritmi de planificare clasif , alg simpli, non-preemtivi
alg simpli>np:FCFS; p:RR
-alg bazati pe prioritate
np:SJF,Highest respons ratio next
pstatic: Planif arbitrara, Rate-monotonic
--dinamic: EDS,EDL
--mixt: Priority ceiling,PDSP
Algoritmii simpli, nonpreemptivi:FCFS
First Come First Served FCFS:
- Cea mai simpla politica de planificare.
Nu implica nici o constrangere asupra proceselor : toate procesele au aceasi prioritate si ele nu pot fi
intrerupte.
Procesele se executa secvential, pana la terminare. Aceasta politica de planif poate fi utilizata in
combinatie cu alti algoritmi. Utilizarea acestui alg pt sistemele TR induce timpi de asteptare prea mari si
acest timp este in general nepredictibil.
Algoritmii simpli, preemptivi: ROUND-ROBIN
- este versiunea preemtiva a lui FCFS.
Procesele sunt aranjate intr-o lista liniara in ordinea sosirii. Fiecare process se executa doar o bucata fixa
de timp, dupa care este intrerupt si introdus la sfarsitul cozii de asteptare. Procesele se executa pana cand
se termin sau pana le expira cuanta de timp. Ceasul de sistem genereaza intreruperi la intervale fixe de
timp, corespunzator cuantei de timp alocat executiei fiecarui proces.
Este foarte importanta alagerea corecta a cuantei de timp :
-sa nu fie prea mica schimbari de context prea frecvete;
-sa nu fie prea mare timpul de raspuns al sistemului creste.
Situatie ideala: cuanta de timp putin mai mare decat media timpurilor WCET a tuturor proceselor
implicate. Algoritmul poate fi utilizat si in combinatie cu alti algoritmi. Acest alg este utilizat pt aplicatii
TR soft.