Sunteți pe pagina 1din 5

Alte subiecte

1.SISTEME SOFTWARE. SISTEME TIMP REAL


Un sistem software se dezvolt n general cu scopul de a automatiza o anumit
aplicaie particular: din acest motiv se poate caracteriza un sistem software funcie
de cerinele aplicaiei propriu-zise. Astfel, exist patru mari tipuri de sisteme
software, i anume:
--sisteme informaionale
--sisteme timp real
--sisteme distribuite sistemul include mai multe procesoare interconectate,
software-ul fiind de asemenea distribuit ntre aceste procesoare
--sisteme ncorporate (embedded) software-ul este n ntregime ncorporat n
hardware-ul pe care-l controleaz
Un sistem timp real este un sistem n cadrul cruia funcionarea corect nu depinde
numai de rezultatele logice ale sale dar i de momentul n care acestea au fost
obinute. Este deci important de prevazut cum se va
comporta sistemul n toate circumstanele; sistemul trebuie s fie deci predictibil
i deterministic.

O categorie aparte de sisteme timp real o reprezint sistemele utilizate pentru


SIST TIMP REAL

Dispoz
itive

Evenimente

de
intrare

Disp
ozitiv
e

Eveni
mente Comenzi

de
intrar
e

Sistem

(sen
zori)

de
calcul

Operator

(senzo
ri)

Comenzi
C
o

Disp
ozitiv
e
O
de
pe
ieire
ra
to
(actu
r
atori)

m
e
n
zi
E
N
Z
I
conducerea i controlul proceselor industriale. Astfel de sisteme const n
principal dintr-un proces fizic i un sistem de control constnd dintr-o component
hardware ct i dintr-o component software. n cele mai multe cazuri, sistemele de
control timp real sunt sisteme ncorporate: adic calculatorul este doar un element
funcional din cadrul sistemului n ansamblul su. Astfel, o caracteristic comun a
sistemelor nglobate este aceea c, calculatoarele sunt conectate la mediul n care
lucreaz printr-o mare varietate de dispozitive de interfaare i recepioneaz i
transmit o mare varietate de stimuli.
Trebuiesc luate n considerare n procesul de proiectare criterii ca de exemplu
urmtoarele:
- cazurile cele mai defavorabile
- timpii limit (deadline)
- ntrzierile maxime posibile, etc.
In concluzie, n procesul de proiectare a aplicaiilor timp real efortul trebuie dirijat
ctre definirea unor metodologii care s asigure n primul rnd cerinele
specifice unor astfel de sisteme, i anume: ndeplinirea cerinelor temporale,
predictabilitate i dependabilitate. Aceste obiective pot fi realizate n primul rnd

prin alegerea simplitii ca principiu fundamental al proiectrii, conform


urmtorului lan cauzal:
Simplitate => Predictabilitate => Dependabilitate
3. STR cadere in siguranta vs operare in siguranta :
Daca STR poate ajunge intro stare de siguranta imediat dupa aparitia unei
defectiuni atunci aceasta se incadreaza in tipul cadre in siguranta(fail-safe).
Wachdog este un dispozitiv special care este utilizat pt monitorizarea operarii sist
de calcul. Daca watchdog presupune ca a avut loc o defectiune la sist de calcul
forteaza obiectele controlate intr-o stare de siguranta.
2.3. STR raspuns garantat vs cel mai bun efort:
Daca inca in faza de proiectare se poate face o verificare analitica a raspunsului
sistemului care sa dovedeasca corectitudinea in orice situatie posibila, avem de a
face cu un sist cu raspuns garantat. Aceasta necesita o planificare si o proiectare
extrem de atent realizata, combinata cu o analiza excesiva in timpul fazei de
proiectare. Daca o astfel de garantie obisnuita in mod analitic nu poate fi data,
atunci avem o proiectare caracterizata prin cel mai bun efort. In cazul acesteia este
necesara specificarea riguroasa a ipotezelor de incarcare maxima si de defectiune.
4.4.2. Limbaje specifice pentru programarea aplicaiilor timp real
. Modula-2
Modula-2 este un limbaj descendent din Pascal i Modula, bazat pe conceptul de
modul (pachet). Modulul ncapsuleaz entiti i controleaz n mod strict accesul
nspre sau dinspre modul. Modului este mprit ntr-o parte definiie i o parte de
implementare, i reprezint elementul de baz ntr-un sistem multitasking. Pe lng
acesta, Modula-2 mai introduce urmtoarele caracteristici:
--conceptele de proces i fir de execuie (thread of execution) ca i elemente cheie
n abordarea multitasking
--facilitti de lucru la nivel sczut: proceduri de tip interrupt, care dau posibilitatea
de a interaciona direct cu hardware-ul
--definirea clar a interfeelor ntre module, posibilitate de compilare separat
. Ada i Ada95
Limbajul Ada s-a nscut din necesitatea de a standardiza i unifica varietatea
limbajelor care se utilizau pentru sisteme timp real, n anul 1983.
Limbajul se bazeaz pe conceptele de task i packet: pachetul reprezint un
mecanism de structurare (pasiv) n timp ce task-ul reprezint un mecanism de
concureniere (activ).
. Limbajul PEARL
Este un limbaj derivat din Pascal, aprut pentru prima dat n Germania, cu o
sintax foarte asemntoare limabjului Pascal.
Include ca i faciliti de limbaj:
--compilare separat a modulelor
--furnizeaz un numr mai mare de instruciuni pentru controlul strii proceselor
comparativ cu Ada: activare, terminare, suspendare, terminare., n Ada fiind
permise doar activarea terminarea task-urilor.
Limbajul de asamblare
- posibilitatea controlului direct asupra hardware-ului.
SINCRONIZAREA INTRE PROCESE

9. Semaforul :
Cea mai utilizata forma de primitiva pt asigurarea excluderii mutuale. Este de fapt o
variabila (fanion) care indica faptul ca o resursa este disponibila. Exista 3 op
permise asupra unui semafor : initializare, Down si Up. Operatiile Down si Up trebuie
sa fie neintrerupibile pt a preveni accesul simultan la resurse a mai multor procese.
Operatiile Up si Down sunt realizate ca actiuni atomice. Ex de implementare a op
Down si Up :
function Down(SEMAFOR s)
{
if (s==1)
s=I;
else suspendare task;
}
function Up(SEMAFOR s)
{
s=1;
if(exista task-uri in asteptare)
deblocheaza primul task;
}

Se utilizeaza relative des in practica semafoare generalizate, cu scopul de a proteja


mai multe resurse sau pt a tine cont de nr-ul de resurse disponibile. Un astfel de
semafor trebuie initializat cu nr-ul exact de resurse libere pe care le protejeaza :
function Down(SEMAFOR s)
{
s=s-1;
if (s<0)
suspenda task-ul current;
//asteptare multipla pana cand semaf este 0
}
Function Up(SEMAFOR s)
{
s=s+1;
if (exista task-uri in asteptare)
deblocheaza primul task;
}

Dezavant:
-utilizarea activarii si respective dezactivarii intreruperilor, in scopul executiei
neintreruptibile a operatorilor Down si Up, poate conduce la erori;
-datorita faptului ca semafoarele sunt imprastiate de-a lungul codului aplicatiei pot
rezulta erori prin uitarea efectuarii a unei op Up. Sau plasarea gresita a acesteia.
Utilizarea semafoarelor este considerate nesigura pt sisteme TR critice.
10. Monitorul:
Este o solutie alternative a semafoarelor. Consta dintr-un set de proceduri si.sau
functii prin intermediul carora sa se realizeze accesul la datele sau resursele
commune. Functiile sunt incapsulate intr-un modul in care numai un sigur proces o
data poate executa o procedura din monditor. Toate variabilele care trebuiesc
accesate in excludere mutuala sunt ascunse. Procesul utilizator comunica in acest
caz indirect cu resursele resp datele commune, prin intermediul monitorului.
Diferenta intre un monitor si un modul obisnuit care incapsuleaza date si functii este
ca in cazul monitorului apelurile catre functiile care permit accesul datelor din
monitor sunt serializate prin definitie.
Avantajul:
-excluderea este implicita;
-programul de aplicatie nu poate utiliza o resursa protejata de monitor in mod
incorrect.

11, Detectarea si prevenirea situatiei deadlock:


-excludere mutuala cand procesele utilizeaza in comun resurse pot aparea situatii
de deadlock;
-asteptare circulara cand exista un lant circular de procese in cadrul caruia unele
detin anumite resurse necesare altor procese ulterioare din lant; solutie: stabilirea
unei ordini de utilizare a resurselor si fortarea tuturor proceselor sa utilizeze
resursele in ordinea stabile;
-oprirea si asteptare cand un proces blocheaza o resursa si cere apoi o alta
resursa nedisponibila; solutie : sa nu se permita unui proces sa aloce mai mult de o
resursa la un mom dat;
-inversarea prioritatilor. Unele sisteme TR folosesc timpi limita in cererile de alocare
a resurselor.

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