Sunteți pe pagina 1din 12

RI

1.Atribute temporare ale task-urilor n sisteme T. R.


Task = Procesul = elementul structural de baza al unui sistem timp real.
Doua caracteristici relevante: importanta procesului ca atare (cat de critic este)-subiectiva,
proprietatile tempotale-obiectiva. Procesele pot fi periodice sau aperiodice.
Periodice: - activat la momente fixe, regulate de timp. Perioada lui se defineste ca fiind intervalul
de timp intre 2 activari consecutive.
Aperiodic : - daca procesul este activat de un eveniment particular si prezinta o operatie singulara
(one-shot).
Atribute temporale ale proceselor:
-timpul deadline tdead(proc) timpul pana la care exec proc-lui trebuie sa se incheie;
-timpul de executie tc (proc,x) nr-ul de unitati de timp necesare din mom in care proc este
declansat pana in mom in care se termina pt setul de date de intrare x;
-durata minima tmin(proces) cel mai mic interval de timp necesar terminarii proc-lui;
-timpul de exec in cazul cel mai defav tWCET(proces) cel mai lung timp necesar termiinarii proc
in conditii de incarcare max si defectiuni;
-timpul jitter = tWCET-tmin;
-perioada procesului tPer intervalul intre 2 activari consecutive ale proc-lui periodic;
-timpul de asteptare tW timpul intre mom incare proc este pregatit si pana intra efectiv in
executie.
Garantarea deadline-ului pt o tranzactie in TR poate fi realizata in cazul in care t WCET pt toate
procesele care sunt parte a tranzactiei sunt cunoscuti dinainte.
Pt un process simplu care ruleaza pe un hardware dedicat, fara preemptiune si fara a necesita
serviciile s.o.-ului, tWCET depinde de urmatoarele factori:
-codul sursa al procesului;
-proprietatile codului obiect generat de compilator;
-caract hardware pe care ruleaza.
Arhitectura uneltelor de evaluare a timpului WCET este insa influentata si de arhitectura
procesorului. In consecinta fiecare unealta de estimare WCET trebuie dedicata unui anumit procesor. Proc
moderne sunt optimizate pt performanta medie; caracteristiceile care contribuie la aceasta perform fac
insa dificila determinarea perf pt cazul cel mai defav. Evaluarea se real prin crearea unui model al
procesorului, care sa include toate caracteristicile acestuia si simularea functionarii acestuia.
2. Arhitecturi distribuite pt sist de ctrl TR
O solutie pt sisteme TR complexe o repr utilizarea unor sisteme distribuite. Utilizarea unor astfel
de arhitecturi distribuite depinde de dimensiunea procedeului controlat precum si de extinderea lui
geografica. Astfel structura unui hardware al unui astfel de sist poate deveni extrem de complexa.
Pt nivelurile superioare sunt de preferat a fi utilizate calc conventionale iar pt niv inf de obicei se
utilizeaza calc specializate. Utilizarea unei astfel de arhitecturi pune probleme serioase in legatura cu
comunicarea.
Pt nivelurile superioare, functii tipice sunt: transfer de fisiere si programe, editare de la distanta,
achizitie de date de pe nivelurile inferioare, controlul supervizor al nivelurilor inferioare, etc. Pe aceste
niveluri se manevreaza cantitati mare de date; in cadrul acestora sunt acceptate intarzieri. In schimb pe
nivelurile inferioare, transmisia de date trebuie sa fie foarte eficienta. Nu sunt necesare viteze mari de
transmisie iar cantitatea de inf este mica, dar critica din pct de vedere al determinismului.
Exista 3 niveluri de comunicare:

-comunicare la nivelul senzor/actuator semnalele de la diferitii senzori si actuatori sunt


transmise de-a lungul unei retea de dispozitive. O astfel de retea necesita timpi de rasp deterministici de
ordinul 10-50ms;
-nivelul 2 in cadrul lui disp de automatizare comunica intre ele sau cu calculatoarele de pe
nivelurile superioare.Comunicarea catre operator poate avea cerinte de TR dar nu atat de stricte ca in
cazul nivelului 1;
-nivelul 3 in cadrul lui se real comunicarea la nivelul SCADA.
Pt realizarea unui sist TR distribuit trebuie utilizate tipuri conceptuale diferite de retele coresp
fiecarei nivel:
-retea pt dispozitive ofera acces rapid la datele sistemului fizic unei game largi de disp-e
existente;
-reteaua de ctrl permite disp-lor inteligente sa foloseasca in comun informatiile necesare ctrului supervizor, interfetei utilizator, configurarii disp-lor de la distanta, coordonarii celulelor de lucru
reteaua Data Highway Plus, retele Ethernet PROFInet;
-reteaua informationala da acces sistemelor de calculatoare de pe nivelurile superioare la datele
sistemului fizic de baza Ethernet sau 802.3. Unele aplicatii pot necesita doar un singur tip de retea pe
cand altele pot avea nevoie de mai multe.
De asemenea se poate utiliza un singur tip de retea pt toate cele 3 niveluri. Este de dorit ca disp
din sistem sa poata comunica prin intermediul acestor retele, si sa se realizeze si o comunicare intre
diferite tipuri de retea, cu un minim de interfatare.
O arhitectura este compozabila in raport cu o proprietate daca, prin integrarea a mai multor
subsist aceasta proprietate ramane valabila si in nivel de system.
Pt sist TR hard a aparut necesitatea definirii unor protocoale orientate timp. Ex: TTC (Time
Triggered Comunication)
3.Algoritmi bazati pe prioritate preemptivi
Clasificare :
1.

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:

- toate task-urile se consider a fi periodice i independente (de exemplu, nu exist relaii de


preceden ntre task-uri)
-toate task-urile au importan egal
-deadline-ul unui task se consider a fi perioada acestuia
-task-urile care nu sunt periodice nu au deadline-uri hard
Unul din avantajele pretinse ale algoritmului rate-monotonic este acela c se poate obine o rat
relativ ridicat a utilizrii procesorului ndeplinind totodat i constrngerile impuse (deadline). Astfel, s-a
demonstrat c, atta timp ct utilizarea procesorului rmne sub un anumit nivel, algoritmul de planificare
poate asigura respectarea deadline-urilor pentru toate task-urile, condiie esenial pentru STR. Utilizarea
maxim permis a procesorului pn la care se poate asigura acest lucru poate fi calculat cu formula:
1
n

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)

Astfel, se observ c avem trei task-uri, A, B, C, cu urmtoarele caracteristici:


-timpul de execuie al task-ului A, CA = 6ms, perioada task-ului A TA = 20ms
-timpul de execuie al task-ului B, CB = 6ms, perioada task-ului B TB = 40ms
-timpul de execuie al task-ului C, CC = 8ms, perioada task-ului C TC = 80ms
Pe baza acestor elemente, se poate calcula frecvena de execuie a task-urilor, respectiv:
fA=1/ TA =1/ 20, fB=1/ 40, fC=1/ 80
2. Dinamic
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 dinamica.
n

Conditia pt o planificare fezabila pt aces alg pt o perf la nivel mediu: U


i 1

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)

Algoritmii de planificare care utilizeaza protocolul priority-celling asigura predictibilitatea dar nu si


determinismul.
Predictable Dinamic Scheduling Policy PDSP
Criterii la estimarea performantei :
-Responsivitatea timpii de rasp ai procesorului trebuie sa fie acceptabil chiar si in cazul cel mai defav;
-Planificabilitatea o politica de planificare trebuie sa aranjeze procesele intr-o ordine fezabila;
-Stabilitatea cand este inposibil ca toate deadline-urile sa fie indeplinite, anumite deadline-uri specifice
pot fi selectate, pt a fi in mod obligatoriu indeplinite.
Transformarea perioadelor o alternativa la asignarea statica de prioritati prin schimbarea
artificiala a acestora.
Exista 2 factori care contribuie la instabilitate: existenta proceselor aperiodice si conflictul dintre
importanta procesului si cerintele de raspuns. Alg PDSP combina alg priority-celling si EDL. Procesele
sunt planificate conform alg-lui EDS insa atunci cand un proces necesita acces la o resursa comuna, se
utilizeaza prot priority-celling. Conditia cand un proces este pregatit pt exec :

Tdead (i ) TWCET (i ) TW (i ) t ,1 I N . Daca cond de mai sus nu este respectata pt un i=m,


i 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

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.
Sisteme hard trebuie sa se garanteze prin proiectare satisfacerea constrangerilor
de timp in orice situatie posibila; utilitatea unor astfel de sist depinde de
posibilitatea de a asigura o performanta predictibila in decursul unor situatii limita.
Nesatisfacerea constrangerilor de timp in cazul STR hard conduce la compromitarea
functionarii corecte a sistemului.
Sisteme soft sist pt care o eventuala nesatisfacere a constrangerilor de timp nu
compromite corectitudinea acestuia. Proiectarea unui STR hard este fundamental
diferita de proiectarea unui STR soft. Astfel cerintele pt timpul de raspuns in cadrul
STR hard sunt de multe ori de ordinal a catorva ms. Sau chiar mai putin, excluzand
practic posibilitatea interventiei utilizatorului uman in situatii critice. Sistemul
trebuie sa fie autonom pt a asigura operarea in siguaranta a procesului. Pt STR soft
cerintele de timp sunt mai relevante. Constrangerile de timp pot fi definite formal :
Hard: Periodic: tc(i)=ts+-a; Apriodic: te(i)<=Te.

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

Procesorul realizeaz toate operaiile matematice i prelucrrile de date prin


execuia unei colecii de programe din memorie. In general, aceast colecie const
din programe supervizor, care se afl permanent n memorie i programe de
aplicaie
Memoria - toate PLC-urile au memorie alocat pentru executiv, pentru zona de
lucru procesor, pentru tabela de date i pentru programul de aplicaie.
Tabela de date este n mod funcional divizat n pri separate pentru intrri
digitale (Input Table), ieiri digitale (Output Table), tabela intern de bii (flag-uri)
precum i zona de memorie pentru registri utilizat pentru memorarea valorilor
numerice analogice.
Interfaa pentru I/O
- interfaa de I/O digital (discret) - se utilizeaz pentru conectarea dispozitivelor
care transmit sau primesc semnale de tip boolean;
- interfaa de I/O analogic (numeric)- permite transmiterea respectiv
recepionarea semnalelor pe mai muli bii, fie sub form paralel (BCD), fie serial,
sub forma unui tren de pulsuri.
Procesul de citire a intrrilor, executrii programului i actualizrii ieirilor este
cunoscut sub denumirea de proces de scanare, iar timpul necesar realizrii acestuia
este cunoscut sub denumirea de timp de scanare (scan time)
R3
1) Tipurile de sisteme n timp real(T.R.)
Clasificare generala event trigger vs time trigger

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

dinamica. Conditia pt o planificare fezabila pt aces alg pt o perf la nivel mediu: U


i 1

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:

SP = set-point-ul = valoarea dorit, prestabilit, pentru mrimea controlat


VA = valoarea actual a mrimii controlate
E = eroarea=SP-VA
Diferena dintre SP(set-point-ul) i valoarea actual VA este utilizat ca valoarea de intrare pentru un
algoritm de reglare. Pe baza acesteia, ieirea algoritmului transmite un semnal corespunztor unui element
de execuie. Exist mai multe categorii de algoritmi utilizai n procesul de reglare; algoritmii mai
performani sunt de obicei mai compleci i deci, mai leni; din acest motiv majoritatea aplicaiilor de
control timp real se bazeaz pe binecunoscutul algoritm de tip PID, cu diversele variante ale sale.
Algoritmul PID

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;

-se incarca PC-ul cu adresa rutinei detratare a intr.


In sistemele multi-nivel de tratare a intr, dupa primirea intreruperii i, se determina daca aceasta
are prioritate mai mare decat intreruperea servita pe baza reg de stare si de mascare; daca da, unitatea
centrala termina instructiunea curenta, salveaza PC-ul si sare la executia rutinei de tratare pt intreruperea
i:
-se termina instr curenta;
-se salveaza PC-ul in locatia coresp;
-se icarca PC-ul cu adr rutinei de tratare pt intr i din locatia coresp.
Pt tratare a mai multor intr intr-o maniera prioritizata sunt folositi registrii generali:
-reg vectorului de intr contine identitatea celei mai prioritare cerei de intr;
-reg de stare contine valoarea cererii curente de intr, mai putin prioritara;
-reg de mascare contine o secv de biti prin care se act/dezact intreruperea;
-reg de intr contine o lista de biti a tuturor intreruperilor in asteptare.
2).Criterii de alegere a unui SO
S.O trebuie sa furnizeze un set de servicii care sa nu afecteze performanta. Proc dupa ce s-au dezvoltat
imens, a fost foarte greu portarea codului SO. scrise in limbaj de asamblare de la o arhitectura de proces
la alta. Pt aceasta s-a ales limbajul de nivel inalt C. Scalabilitatea pt aplic. t-r a fost vazuta ca fiind
abilitatea de a functiona in conditiile unor restrictii severe de memorie. Aplicatiile complexe putea
necesita mai multe SOTR (multiprocesor). Sistemele mai robuste dispun: servicii i/o, prot. Tcp/ip,
managmentul fisierelor. SO trebuie sa ofere support pt mai multe limbaje:Fortran, ADA, astfel se poate
utilize pt o categorie mai larga de aplicatie. Totodata SOTR trebuie sa corespunda cu diferite standarde.
Ex de SOTR:
Red-Linux:
-este destinat sist-lor cu procese TR si fara ;
-are implementat un mecanizm de nucleu care suporta diferite politici de planificare, bazate pe prioritate
sau cuante fixe de timp ;
-toate procesele sunt tratate si planificate de acelasi nucleu si sunt planificate functie de constrangerile
existente ;
-in scopul ctr-ului si reducerea latentei se insereaza pct de intr. in cadrul nucleului
WindRiver Vx-Works: este cel mai utilizat in industrie;
-scalabilitate pana la 20 kb ;
-suporta multe tipuri de procesoare ;
-permite multitasking cu un nr nelimitat de procese ;
-planificarea e bazata pe alg round robin;
-256 nivele de prioritate;
-mecanism rapid de tratarea intreruperilor;
-suport pt retea;
-sist de fisiere compatibile MS-DOS.
LynuxWorks Lynx OS :
-este un SOTR de tip UNIX;
-nucleul Lynx este preemptiv;
-256 de niveluri de prioritate;
-frecventa ceasului de 100HZ;
-utilizeaza mecanizmul ,,urmarirea prioritatilor pt a trata intr.

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.

S-ar putea să vă placă și