0% au considerat acest document util (0 voturi)
45 vizualizări14 pagini

1

Încărcat de

Sandu VT
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
45 vizualizări14 pagini

1

Încărcat de

Sandu VT
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd

CAP. 1.

INTRODUCERE ÎN SISTEMELE INFORMATICE DE TIMP REAL ÎNCORPORATE

1
INTRODUCERE
ÎN SISTEMELE INFORMATICE DE TIMP REAL
ÎNCORPORATE

1.1. Sisteme de timp real. Sisteme de timp real încorporate.


Sisteme de timp real rigide. Sisteme de timp real maleabile

Prima definiție a sistemelor de timp real pe care am optat să o prezentăm


este preluată din The Oxford Dictionary of Computing:

"Numim sistem de timp real un sistem în care timpul la care ieșirile sunt
produse este semnificativ. Și este semnificativ pentru că uzual intrările în
sistem corespund unor mișcări în lumea fizică și ieșirile trebuie să fie și ele
relaționate cu acele mișcări. Decalajul dintre momentul producerii intrării
și momentul exteriorizării ieșirii trebuie să fie suficient de mic pentru a fi
acceptabil” [GREH'98]. Mai sus, termenul ”mișcare” nu trebuie înțeles în
sens exclusiv mecanic, ci cu semnificația mai generală de evoluție.

O definiție mai tehnică este în [ROBU2002]: Numim sistem de timp real


un sistem cu conectare online la un proces fizic, apt să-și preia datele de
intrare suficient de frecvent pentru a garanta că nicio evoluție semnificativă
în proces nu este scăpată, să le proceseze suficient de rapid și să
exteriorizeze rezultatele / datele de ieșire suficient de rapid pentru ca ele să
producă efectele adecvate.

Reamintim că un sistem este cu conectare online la un proces dacă își preia


automat datele de intrare direct din locul lor de existență și transmite datele
de ieșire automat, direct acolo unde ele își ating finalitatea [ROBU2002].

13
CAP. 1. INTRODUCERE ÎN SISTEMELE INFORMATICE DE TIMP REAL ÎNCORPORATE

Mai sus, exprimările ”suficient de frecvent”, ”suficient de rapid” trebuie


înțelese în toată relativitatea lor: ”suficient de frecvent”, respectiv
”suficient de rapid” înseamnă una pentru un proces lent, cum sunt
procesele termice și cu totul alta pentru un proces cu dinamică ridicată,
cum sunt procesele electromagnetice sau chiar unele procese
electromecanice [GREH1998].

Sunt în egală măsură sisteme de timp real atât sistemele legate de procese
lente, cât și sistemele legate de procese cu dinamică ridicată, pentru că și în
cazul unora și în cazul celorlalte, parametrul timp este esențial, chiar dacă
la scări valorice foarte diferite. Ce este important e ca sistemul să fie
acordat dinamicii fiecărui proces în parte, dinamică mai ridicată în cazul
unora, mai scăzută în cazul altora [GREH1998].

Trebuie spus că, de cele mai multe ori, sistemele de timp real presupun
gestionarea mai multor mărimi fizice și evenimente din procesul conex și
nu oricum, ci, așa cum s-a arătat mai sus de principiu, cu impuneri, cu
restricții în ceea ce privește parametrul timp, vis-a-vis de fiecare din ele. Și,
evident, asta complică lucrurile [ROBU2002].

Distingem două tipuri de sisteme de timp real [MIST2019], [TOTA2019]:


 sisteme de timp real rigide / stricte –în engleză: ”hard real-time systems” și
 sisteme de timp real maleabile / nestricte –în engleză ”soft real-time
systems”-.

Menționăm că s-a consacrat ca în limba română –vorba vine, în limba


română, de fapt, în romgleză!-, acestora să li se spună sisteme de timp real
hard, respectiv sisteme de timp real soft.

Sistemele de timp real hard se caracterizează prin aceea că, în cazul lor,
cerințele de ordin temporal sunt stricte. Nicio întârziere în interacțiunea
sistemului cu procesul, oricât ar fi de mică, față de ce s-a proiectat, nu se
admite, niciodată. Dacă o întârziere ar apărea, procesul ar fi compromis,
uneori chiar cu consecințe catastrofale [MIST2019], [ROBU2002],
[GREH1998].

Sistemele de timp real soft se caracterizează prin aceea că, în cazul lor,
cerințele de ordin temporal –existente, evident și în acest caz, altfel n-am
vorbi de sisteme de timp real!- nu sunt stricte, nimic grav neîntâmplându-se
dacă, din când în când, câte o întârziere, față de ce s-a proiectat, în
interacțiunea sistemului cu procesul apare [MIST2019], [ROBU2002],
[GREH1998].
14
CAP. 1. INTRODUCERE ÎN SISTEMELE INFORMATICE DE TIMP REAL ÎNCORPORATE

Sistemul de control al turației unui hard disk este un sistem de timp real
hard, pentru că dacă cerințele de ordin temporal impuse la proiectare nu se
respectă, turația nu are constanță și citirea / scrierea hard disk-ului nu pot
decurge corect, ceea înseamnă că funcționarea ansamblului este
compromisă.

Sistemele conexe jocurilor pe calculator sunt, în general, sisteme de timp


real soft, pentru că dacă, din când în când, rar, o cerință de timp nu este
îndeplinită, nu se întâmplă nimic grav, efectul poate fi insesizabil de către
jucători. Evident, nici la jocuri, nu putem vorbi despre toleranță la
neîndeplinirea oricărei cerințe de timp, la orice joc, respectiv oricât de
frecvent.

Deși sunt și ele sisteme de timp real, cele, spre exemplu, de rezervare de
bilete la avion sau de control al unui proces chimic, având ca suport
hardware, de cele mai multe ori –și în mod detașat de cele mai multe ori!-,
un calculator desktop, când vorbim de sisteme de timp real, avem în vedere
sisteme având ca suport hardware un calculator dedicat aplicației în cauză,
realizat cu un micocontroler sau un procesor de semnal, înglobat în
aparatul, echipamentul, utilajul, mașinăria în speță. Aceste sisteme se
numesc sisteme încorporate, în engleză ”embedded systems”, iar în
romgleză sisteme embedded [TOTA2019].

Exemple de sisteme embedded sunt cele ce echipează mașinile moderne –


sistemul de control al combustiei, sistemul de control al frânării, sistemul
de control al iluminării exterioare și interioare, sistemul de control al
închiderii / deschiderii ușilor, etc-, cele ce echipează avioanele, navele
cosmice, smartphone-urile, cuptoarele cu microunde, mașinile de spălat și
aproape tot ce vedem în jurul nostru ca aparat, echipament, utilaj,
mașinărie.

Transpare, din cele de mai sus, faptul că cerinţa specifică ce se impune unui
sistem informatic de timp real este promptitudinea în generarea de răspunsuri
la informaţiile de intrare [ROBU2002].

Aprecierea cantitativă a gradului în care un sistem informatic satisface


această cerinţă se realizează printr-un indicator numit timp de răspuns,
reprezentând intervalul temporal dintre momentul producerii unui eveniment
în cadrul aplicaţiei şi momentul în care sistemul îşi exteriorizează răspunsul
la evenimentul respectiv. Prin eveniment, în context, înțelegem orice
schimbare semnificativă de stare / valoare a unei mărimi caracteristice
procesului [WIKI2014a], [ROBU2002].
15
CAP. 1. INTRODUCERE ÎN SISTEMELE INFORMATICE DE TIMP REAL ÎNCORPORATE

1.2. Programarea în elaborarea sistemelor de timp real.


Programarea secvențială și programarea concurentă
În principiu, sistemele informatice de timp real ar putea fi elaborate într-o
abordare comună, clasicizată, secvenţială, prin utilizarea unui limbaj de
programare de nivel înalt sau de asamblare şi a capabilităţii de întrerupere cu
care sunt înzestrate calculatoarele. O asemenea abordare ar fi, însă, în multe
cazuri, extrem de greoaie şi de ineficientă, conducând chiar la imposibilitatea
satisfacerii cerinţelor unora dintre aplicaţii. De aceea, pentru dezvoltarea
sistemelor informatice în timp real, s-a apelat la aşa numita programare
concurentă, prin care se face posibilă modularizarea funcţională a
programelor şi avansarea în paralel a activităţilor cuprinse în diverse module,
oferindu-se, în acest scop, facilităţi adecvate de exploatare în comun a unor
resurse ale sistemului, de sincronizare şi schimb de date între diversele
module [WIKI2022], [ROBU2002], [SCHN1997], [DIJK1965].

Figurile 1.2_1a și 1.2_1b ilustrează cum decurge procesarea sub programarea


concurentă. Fie T1, T2, T3 și T4 module ale unei aplicații cu un anumit grad
de autonomie unele în raport cu altele și cu o misiune asociată clară în cadrul
ansamblului aplicației, cum ar fi:
 deservirea tastaturii
 efectuarea de afișări
 culegerea de date din proces
 implementarea algoritmilor specifici asupra datelor curente și eventual a
unora istorice
 generarea ieșirilor spre proces
 crearea de arhive de date
 etc.

Dacă presupunem că hardware-ul este unul monoprocesor –și în ipoteza


aceasta vom purta discuțiile în continuare-, atunci paralelismul în procesare
se realizează împărțind timpul procesorului în felii egale și alocând câte o
astfel de felie unuia sau altuia dintre modulele aplicației, după anumite reguli,
evident, luând toate măsurile ca atunci când unui modul i se ia procesorul, tot
ce acelui modul îi e necesar când îl reprimește ca să continue rularea ca și
cum nici nu i s-ar fi luat, să fie salvat. Procedând astfel, per ansamblul unui
anumit interval de timp –spre exemplu: de 16 felii de timp procesor-,
modulele avansează în paralel, ca și cum fiecare ar dispune de propriul
procesor. Desigur, în funcție de regulile de alocare a procesorului și de
situațiile concrete ”din teren”, avansarea modulelor este mai mult sau mai
puțin echilibrată. Menționăm că feliile referite de timp procesor poartă
numele de tick-uri.
16
CAP. 1. INTRODUCERE ÎN SISTEMELE INFORMATICE DE TIMP REAL ÎNCORPORATE

În exemplul considerat, se observă că pe intervalul de 16 felii de timp


procesor avut în vedere:
 modulul T1 dispune de feliile 1, 6, 8 și 13
 modulul T2 dispune de feliile 3, 5, 10 și 16
 modulul T3 dispune de feliile 2, 7, 12 și 14
 modulul T4 dispune de feliile 4, 9, 11 și 15

Prin urmare, cele patru module avansează perfect echilibrat la nivelul


intervalului de timp în cauză, lucru care nu era o țintă în sine.

T1 T2 T3 T4
1 3 2 4

6 5 7 9

8 10 12 11

13 16 14 15

Fig. 1.2_1a. Ilustrarea avansării în paralel a rulării modulelor aplicației


considerate, T1, T2, T3 și T4.

tic 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
T1
T2
T3
T4

Fig. 1.2_1b. Ilustrarea alocării feliilor de timp procesor către modulele


aplicației considerate, T1, T2, T3 și T4.

Mai sus, am abordat paralelismul în procesare doar între module ale aceleiași
aplicații. Dar, la fel de bine s-ar petrece lucrurile, în aceiași manieră, dacă T1,
T2, T3 și T4 ar fi fiecare o aplicație de sine stătătoare. Mai mult, nimic nu
împiedică, spre exemplu, ca T1 și T2 să fie aplicații de sine stătătoare
monomodul, iar T3 și T4 să fie module ale unei a treia aplicații de sine
stătătoare, una bimodul, T. Desigur, așa ceva nu ne așteptăm să găsim în
informatica de timp real -în niciun caz în zona sistemelor embedded-, dar,
fără-ndoială că am întâlnit, cu toții, în utilizarea calculatoarelor universale -
desktop-uri, laptop-uri, notebook-uri-.

17
CAP. 1. INTRODUCERE ÎN SISTEMELE INFORMATICE DE TIMP REAL ÎNCORPORATE

1.3. Task-uri, thread-uri, procese, multitasking,


multithreading, multiprocessing
Modulele de program, respectiv programele de sine stătătoare ce:
 reunesc activităţi autonome, respectiv independente, și unele și celelalte cu
o misiune clară şi
 au proprietatea că o sesiune de rulare a lor se poate desfăşura în paralel sau
cvasiparalel cu sesiunile de rulare ale altor module sau programe de sine
stătătoare sau chiar cu alte sesiuni de rulare ale lor înseşi
se numesc task-uri [ROBU2002].
Task-urile ce reprezintă module ale unui program se mai numesc
"thread-uri", respectiv "fire”; evident, ”threads of execution”, respectiv ”fire
de execuţie" [ROBU2002], [GREH1998].
Task-urile ce reprezintă programe de sine stătătoare se mai numesc "procese"
[ROBU2002], [GREH1998].
Facem precizarea că noțiunile de fir, respectiv de proces vizează modulele de
program, respectiv programele de sine stătătoare încărcate în memorie în
vederea execuției și lansate, nu ipostazele lor neoperative, ce fac obiectul
fișierelor, găzduite în memoria externă.
Procesarea în paralel sau cvasiparalel a mai multor task-uri se numeşte
"multitasking" [ROBU2002], [GREH1998].
Procesarea în paralel sau cvasiparalel a mai multor task-uri cu statut de
thread-uri se numeşte "multithreading" [ROBU2002], [GREH1998].
Procesarea în paralel sau cvasiparalel a mai multor task-uri cu statut de
procese se numeşte "multiprocessing" [ROBU2002], [GREH1998].
Procesarea în paralel sau cvasiparalel a mai multor task-uri cu statut de
procese, dintre care cel puţin unul consistă în două sau mai multe thread-
uri se numeşte "multiprocessing cu multithreading" [ROBU2002],
[GREH1998].
Când multitasking-ul intervine în contextul timpului real, se vorbeşte despre
"sisteme informatice de timp real cu multitasking" sau "sisteme de timp real
cu multitasking" [ROBU2002], [GREH1998].
De regulă, sistemele informatice de timp real cu multitasking instanţiază
multithreading-ul, lucru care, atunci când nu este spus explicit, trebuie
subînțeles.

18
CAP. 1. INTRODUCERE ÎN SISTEMELE INFORMATICE DE TIMP REAL ÎNCORPORATE

În multitasking-ul de tip multithreading, task-urile –unele, nicidecum fiecare


cu fiecare- interacţionează, sincronizându-şi acţiunile şi transmiţându-şi,
reciproc, diverse date.

În multitasking-ul de tip multiprocessing, regula este ca task-urile să nu


interacționeze, dar, uneori, totuși, se întâmplă să se facă intersincronizări și /
sau transmisii de date de la unul la altul; desigur, nu pur și simplu, ci prin
mecanisme speciale.

Se poate subînțelege că, atât în multitasking-ul de tip multithreading, cât și în


cel de tip multiprocessing, între task-uri există o competiție în accesarea
resurselor comune. Ei bine, această competiție trebuie arbitrată, accesul la
resurse trebuie gestionat corespunzător, mult mai delicat într-un mediu
concurențial decât în unul neconcurențial.

Despre toate acestea –despre intersincronizări, despre schimbul de date și


despre gestiunea resurselor- vom vorbi pe larg pe parcursul prezentei cărți.
Aici, ne vom limita doar să mai spunem că ele sunt apanajul a ceea ce numim
sistem de operare de timp real sau executiv de timp real, în engleză: ”real
time operating system”, respectiv ”real time executive”. Cu alte cuvinte, așa
cum se arată în [ROBU2002]:

Numim sistem de operare de timp real sau executiv de timp real


instrumentul "software" care asigură rularea în paralel sau cvasiparalel a unui
număr de task-uri printr-un set de mecanisme ce rezolvă şi-sau facilitează:
 sincronizarea task-urilor unele cu altele şi cu evenimente externe
 comunicarea sau schimbul de date dintre task-uri.
 gestiunea resurselor sistemului în condiţii de concurenţă

De regulă, programarea concurentă, referită mai sus, se asigură folosind un


limbaj de programare obișnuit, cu eficiență bună la nivel de cod –cele mai
frecvent folosite sunt limbajul C și derivatele sale- și un sistem de operare de
timp real. Funcționalitățile sistemului de operare de timp real, materializate
prin directive –în engleză: ”statements” sau ”system services”- se înfățișează
programatorului ca și cum ar fi extensii ale limbajului folosit.

O altă tehnologie pentru realizarea programării concurente are la bază


limbaje prevăzute ele însele cu facilități de programare concurentă de factura
celor ce fac obiectul sistemelor de operare de timp real, numite limbaje de
programare concurentă. Un astfel de limbaj este Java, dar facilitățile sale de
concurență, comparativ cu cele oferite de sistemele de operare de timp real
sunt slabe, în orice caz, nesatisfăcătoare pentru aplicațiile real time embedded.
19
CAP. 1. INTRODUCERE ÎN SISTEMELE INFORMATICE DE TIMP REAL ÎNCORPORATE

Programarea multitasking asigură o eficienţă ridicată a activităţii de concepţie


şi implementare a sistemelor informatice de timp real, facilitând, totodată,
obţinerea unor performanţe îmbunătăţite în ceea ce priveşte timpii de răspuns.
Într-un sistem cu multitasking, la producerea unui eveniment extern, task-
ul aflat în rulare poate ceda rapid locul altui task, impus de evenimentul
respectiv. De exemplu, generarea de către ceasul de timp real a unei
întreruperi ce marchează un moment de eşantionare poate determina
abandonarea temporară a rulării task-ului curent, care ar putea fi task-ul de
efectuare afișări şi lansarea în execuţie a task-ului de culegere a datelor din
proces. Dacă în aplicație se impune achiziția mai multor mărimi și sistemul
posedă un singur convertor analog-numeric, asigurând prin multiplexare
achiziţia multiplă, atunci, din momentul în care se dispune de una dintre
mărimi, până în momentul disponibilizării succesoarei ei, intervine un timp în
care task-ul de culegere a datelor nu are ce face. Drept urmare, el poate ieşi
din rulare pentru a permite, de exemplu, reluarea şi avansarea task-ului
întrerupt mai devreme.

În general, lansarea în rulare a task-urilor se poate provoca în momente de


timp fixate aprioric ("time-driven") sau în momente imprevizibile ("event-
driven"), legate de anumite evenimente [WIKI2021], [ROBU2002].

1.4. Arhitectura hardware – software a unui sistem


informatic de timp real

Pentru ca ideea de sistem informatic de timp real să fie și mai clar înțeleasă,
prezentăm, în continuare, o schemă generică a unui astfel de sistem –vezi
figura 1.4_1- [ROBU2002].

Facem mențiunea că, într-o mulțime de situații –în majoritatea putem spune,
fără teama de a greși, în orice caz, întotdeauna când e vorba de sisteme
embedded-, totul e mult mai simplu, lipsind baza de date despre proces și
implicit modulul de actualizare a bazei de date despre proces, imprimanta și
chiar și consola operatorului și, pe cale de consecință și modulul de deservire
operator, generare rapoarte și semnalare anomalii. Figura 1.4_2 ilustrează
arhitectura unui astfel de sistem, simplificat la maximum.

Ce remarcăm în figura 1.4_1 și, parțial, în figura 1.4_2? Păi, iată:


20
CAP. 1. INTRODUCERE ÎN SISTEMELE INFORMATICE DE TIMP REAL ÎNCORPORATE

Sistemul informatic este cu conectare directă la procesul condus, prin


intermediul interfețelor de proces de intrare (10), respectiv al interfețelor
de proces de ieșire (11).
Interfețele de proces de intrare interacționează cu un ansamblu de senzori,
respectiv traductoare, care oferă măsuri ale mărimilor fizice de interes din
proces, sub diferite expresii:
 niveluri de tensiune electrică într-un interval de valori dat,
 număr de impulsuri electrice,
 număr de impulsuri electrice per o anumită unitate de timp,
 tensiuni electrice bivalente,
 etc.
Dependent de aceste expresii, interfețele de proces de intrare vor cuprinde,
de la caz la caz:
 sisteme de conversie analog-numerică –un asemenea sistem consistă fie
dintr-un multiplexor analogic cu un anumit număr de canale și un
convertor analog-numeric, fie din mai multe convertoare analog-
numerice-,
 numărătoare de impulsuri
 sisteme bazate pe numărătoare de impulsuri,
 porturi de intrări bivalente
 etc.
Interfețele de proces de ieșire interacționează cu diverse elemente de
execuție din proces, cu ajutorul cărora procesul este făcut să evolueze așa
cum se dorește:
 actuator de rotire cu o anumită turație
 actuator de deplasare / poziționare unghiulară
 actuator de deplasare / poziționare liniară
 actuator de încălzire
 actuator de răcire
 actuator de frânare
 actuator de combustie
 actuator de iluminat
 actuator de închidere / deschidere uși
 etc.
Mărimile prin care interacțiunea se produce sunt:
 tensiuni electrice cu valori într-un interval dat,
 număr de impulsuri electrice,
 număr de impulsuri electrice per o anumită unitate de timp,
 durate impulsuri / pauze la nivelul unor semnale periodice
 etc.
21
CAP. 1. INTRODUCERE ÎN SISTEMELE INFORMATICE DE TIMP REAL ÎNCORPORATE

Dependent de aceste mărimi, interfețele de proces de ieșire vor cuprinde, de


la caz la caz:
 sisteme de conversie numeric-analogică,
 numărătoare de impulsuri,
 modulatoare de durată de impulsuri,
 porturi de ieșiri bivalente,
 etc.

Interfețele de proces de intrare sunt deservite de modulul software de


culegere date din proces (1).

Interfețele de proces de ieșire sunt deservite de modulul software de


emitere comenzi spre proces (2).

Ambele acestea, împreună cu modulul software de prelucrări conforme


strategiei de conducere (3) sunt pilotate ”time-driven” de ceasul de timp
real (4).

Modulul de prelucrări conforme strategiei de conducere (3) are drept


intrări:
 ce-i furnizează modulul de culegere date din proces (1),
 date istorice din baza de date despre proces (5) și
 doleanțe ale operatorului uman, transmise de modulul de deservire
operator, generare rapoarte și semnalare anomalii (7).

Rezultatele prelucrărilor conforme strategiei de conducere sunt transmise de


modulul de prelucrări conforme strategiei de conducere (3) pe de o parte,
modulului de emitere comenzi spre proces (2), iar pe de altă parte,
modulului de actualizare bază de date despre proces (6) și modulului de
deservire operator, generare rapoarte și semnalare anomalii (7).

Baza de date despre proces înregistrează datele culese din proces,


comenzile emise spre proces și doleanțele exprimate de operator, fiecare din
ele însoțite de momentul de timp asociat, sub controlul modulului software de
actualizare bază de date despre proces (6), care primește aceste informații,
respectiv, de la modulul de culegere date din proces (1), modulul de
prelucrări conforme strategiei de conducere (3) și modulul de deservire
operator, generare rapoarte și semnalare anomalii (7).

22
CAP. 1. INTRODUCERE ÎN SISTEMELE INFORMATICE DE TIMP REAL ÎNCORPORATE

Consolă Imprimantă
8 9

Deservire operator,
generare rapoarte,
semnalare anomalii 7

Actualizare
. bază de date .
despre proces 6

Bază de date
despre proces
5

Prelucrări
conforme strategiei de .
. conducere 3

Culegere date Emitere comenzi


din proces . spre proces
1 2

Interfețe de proces Ceas Interfețe de proces


de intrare 10 de timp real 4 de ieșire 11
... ...

Senzori / Traductoare Elemente de execuție

PROCES CONDUS

Fig. 1.4_1. Schema generică a unui sistem informatic de timp real


pentru conducerea unui proces tehnic sau tehnologic [ROBU2002].

23
CAP. 1. INTRODUCERE ÎN SISTEMELE INFORMATICE DE TIMP REAL ÎNCORPORATE

Modulul de deservire operator, generare rapoarte și semnalare


anomalii (7) interacționează cu operatorul prin intermediul entităților
consolă operator (8), respectiv imprimantă (9). El primește informații de
la consola operator (8), de la modulul de culegere date din proces (1), de
la modulul de prelucrări conforme strategiei de conducere (3) și din baza
de date despre proces (5). Doleanțele operatorului sunt transmise de către el,
pe de o parte, modulului de prelucrări conforme strategiei de conducere
(3), pe de altă parte, modulului de actualizare bază de date despre
proces (6).
Facem mențiunea că este esențial să se asigure periodicitatea conectării
sistemului informatic la proces, în ambele sensuri, cu rigoare, ea,
periodicitatea, stând la baza modelelor matematice corespunzătore strategiei
de conducere implementată prin program.
Asigurarea acestei periodicităţi este în sarcina entității ceas de timp real (4).
Aceasta reprezintă o resursă materială, implementată cu circuite de tip
numărător programabil, având capabilitatea de a emite cereri de întrerupere la
scurgerea unor intervale de timp prestabilite şi de a furniza, la cerere,
informaţii privind momentul curent.
În încheierea acestor considerații introductive, iată și figura 1.4_2, la care s-a
făcut trimitere mai sus, reprezentând o variantă simplificată de sistem
informatic de timp real, tipică pentru sistemele embedded.
Prelucrări
conforme strategiei de
conducere 3

Culegere date Emitere comenzi


din proces . spre proces
1 2

Interfețe de proces Ceas Interfețe de proces


de intrare 10 de timp real 4 de ieșire 11
... ...
Senzori / Traductoare Elemente de execuție
PROCES CONDUS
0

Fig. 1.4_2. Schema generică a unui sistem informatic de timp real


simplificat, tipic pentru clasa sistemelor embedded.
24
CAP. 1. INTRODUCERE ÎN SISTEMELE INFORMATICE DE TIMP REAL ÎNCORPORATE

Din cele discutate anterior, se pot înțelege următoarele lucruri –vezi


figura 1.4_3 [OSEK2005]-:
 programul utilizator interacționează cu hardware-ul exclusiv prin
intermediul sistemului de operare / executivului de timp real și,
eventual, al sistemului de intrare-ieșire
 programul utilizator cuprinde:
 module care nu interacționează –nu-și relaționează temporal rularea,
respectiv nu schimbă date- cu niciun alt modul și nici cu entitățile de
intrare-ieșire (le numim module tip 1)
 module care nu interacționează –nu-și relaționează temporal rularea,
respectiv nu schimbă date- cu niciun alt modul, dar interacționează cu
entitățile de intrare-ieșire (le numim module tip 2)
 module care interacționează –își relaționează temporal rularea,
respectiv schimbă date- cu cel puțin un alt modul, dar nu
interacționează cu entitățile de intrare-ieșire (le numim module tip 3)
 module care interacționează –își relaționează temporal, respectiv
schimbă date- cu cel puțin un alt modul și și cu entitățile de intrare-
ieșire (le numim module tip 4)

Modul Modul Modul Modul


tip 1 tip 3 tip 4 tip 2

Sistem de operare de timp real / Sistem de intrare / ieșire


Executiv de timp real

Hardware
(calculator bazat pe un microcontroler)

Fig. 1.4_3. Interacțiunea hardware – software


în sistemele de timp real [OSEK2005].
(schema este inspirată din [OSEK2005])

25
CAP. 1. INTRODUCERE ÎN SISTEMELE INFORMATICE DE TIMP REAL ÎNCORPORATE

26

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