Sunteți pe pagina 1din 21

1.

Care este numărul de priorităţi admise de nucleul de timp


real RTK ?
1 la 64
2. Definiţi noţiunea de task în context RTK.
o functie C sau C++ fara parametrii si cu stiva proprie
3. Care sunt stările unui task în context RTK ?
a) current
b) ready
c) suspended
d) delaying
e) blocked
f) timed
4. Când se găseşte un task în starea delaying ?
task-ul asteapta producerea unui evenimet.
5. Ce se realizează prin execuţia funcţiei RTKernelInit ?
initializeaza nucleul RTK
6. Denumiţi tipul de variabilă RTK prin care poate fi referit
un task ?
7. . Care este mărimea unei cuante de timp cu care operează
nucleul RTK ?
 1 timer tick aproximatix 55 ms
8. Scrieţi forma generală şi comentaţi efectul funcţiei
RTKWait, aplicată unui semafor ?
 void RTKWait(Semaphore S);
 funcţia de retragere necondiţionată
 RTKWait asigură implementarea decrementării
semaforului S, respectiv a operaţiei P(S). Dacă există cel
puţin un eveniment disponibil, funcţia se execută şi
taskul îşi continuă rularea. Dacă nici un eveniment nu
este disponibil taskul apelant trece în starea
BlockedWait. Taskul va rămâne în această stare până
când în semaforul S se va înscrie un eveniment, respectiv
până când asupra sa se va executa o funcţie
RTKSignal(S);
9. Scrieţi forma generală şi comentaţi efectul funcţiei
RTKGetCond aplicată unei cutii poştale
 void RTKGetCond(Mailbox CP, void *Var_prel);
 Dacă în CP există spaţiu disponibil funcţia se execută,
taskul îşi continuă rularea, iar în variabila de tip bool se
înscrie valoarea logică True . Dacă în CP nu există spaţiu
disponibil, funcţia nu se execută, taskul apelant nu se
blochează, iar în variabila de tip bool se înscrie valoarea
logică False
10. Scrieţi forma generală şi comentaţi efectul funcţiei
RTKSendTimed aplicată unui mesaj de trecere.
bool RTKSendTimed(TaskHandle Handler_rec, void
*Var_dep, Duration Timp_astept);
 Daca funcţia se execută, taskul în care este apelată
funcţia îşi continuă rularea, în variabila de tip bool se
înscrie valoarea logică True.
 Dacă funcţia nu se execută, taskul apelant trece în starea
TimedSend. Dacă în timpul de aşteptare specificat
(Timp_astept), funcţia se execută, taskul iese din starea
TimedSend, iar în variabila de tip bool se înscrie
valoarea logică True.
 Dacă la încheierea intervalului de aşteptare specificat
(Timp_astept) , funcţia nu se execută, taskul iese din
starea TimedSend, iar în variabila de tip bool se înscrie
valoarea logică False
11. Care sunt operaţiile de prelucrare primară a datelor
achiziţionate şi a comenzilor elaborate ?
12. Enumeraţi elementele din structura unui SNMD ?
13. Ce este o bază de date de proces (BDP) ?
BDP reprezintă o bază de date care conţine date organizate
pentru a fi utilizate în aplicaţii de conducere în timp real.
14. În ce constă cerinţa de independenţă a datelor impusă
unui Sistem de Gestiune a unei BDP ?
implică adoptarea unor structuri de descriere a datelor care să
nu implice schimbări ale acestora la înlocuirea sau
modificarea programelor aferente aplicaţiilor de conducere,
care utilizează aceste date
15. Enumeraţi cinci tipuri de date care pot fi incluse într-o
BDP
- date din proces în cadrul fişierelor istorice ale valorilor
parametrilor;
- comenzi aplicate procesului în cadrul fişierelor istorice
ale valorilor comenzilor;
- evenimente semnificative din proces în cadrul jurnalului
evenimentelor;
- parametri de acordare a modelelor aferente automatizării
avansate;
- date privind funcţionalitate sistemului de conducere în
timp real.
16. În ce constă cerinţa de independenţă a datelor impusă
unui Sistem de Gestiune a unei BDP ?
17. Care sunt aspectele vizate atunci când se vorbeşte de
structurarea unui limbaj de programare în timp real ?
18. Scrieţi funcţia RTK pentru iniţializarea nucleulu,
considerând pentru taskul main prioritatea 5 şi fără handler.

19. Prin ce funcţie RTK este scos un task din starea


Suspended ?
 Prin funcţia RTKResume
20. Ce factori influenţează evoluţia unui sistem de taskuri
interactive ?
Evoluţia unui sistem de taskuri interactive este influenţată de
doi factori şi anume:
- modul de planificare a execuţiei taskurilor;
- modul de efectuare a tranziţiei între stări şi/sau substări
21. În ce situaţie se produce tranziţia Gata de execuţie –
Blocat ? Tranziţia Gata de execuţie – Blocat se realizează
printr-o directivă de Aşteptare, în situaţia în care taskului
nu i se mai poate aloca memorie pentru stivă dacă ar prelua
controlul UCP.
22. Ce entităţi intervin în definirea unui semafor în caz
general ?
În definirea unui semafor S intervin o variabilă întreagă I şi o
coadă de aşteptare C: S=(I,C).
23. Ce operaţie se execută asupra unui semaforului
implicat în excluderea mutuală după ieşirea din secțiunea
critică ?
La ieșirea dintr-o secţiune critică, asupra semaforului implicat
în excluderea mutuală se execută operaţia V (incrementare).
24. Indicaţi cum sunt sincronizate taskurile REG_PID şi
CNS_OP pentru implementarea unui algoritm PID în formă
numerică.
Taskul REG_PID este sincronizat cu timpul, iar taskul
CNS_OP cu un eveniment extern reprezentat de apăsarea unei
taste sau a unui buton virtual.
25. Care este rolul taskului Idle creat la iniţializarea
nucleului RTK ?
 Taskul Idle se execută atunci când nici un task utilizator nu
se află în starea Current.
26. În ce situaţie ajunge un task în starea BlockedPut ?
După execuţia unei funcţii RTKPut asupra unei cutii poştale
pline
27. Scrieţi funcţia RTK care să realizeze tranziţia taskului
apelant în starea Delaying pentru 4 secunde.
Funcţia este RTKDelay(72);
28. Enumeraţi tipurile de variabile specifice nucleului
RTK.
TaskHandle, TaskState, Time, Duration, Semaphore, SemaType,
Mailbox
29. Denumiţi operaţiile de prelucrare primară a datelor de
proces.
 Operaţiile de prelucrare primară a datelor de proces sunt:
 filtrarea mărimilor achiziționate
 ; - conversia în/din unități inginerești;
- validarea mărimilor achiziționate și a comenzilor
elaborate
30. Determinaţi Nmin, Nmax pentru un CAN cu rezoluţia
de 12 biţi şi următoarea caracteristică static

31. Ce tip de mesaj se utilizează la excluderea mutuală


implementată cu cutii poştale ?
 Se utilizează mesaje simbolice.
32. Explicaţi utilizarea cutiilor poştale pentru
sincronizarea cu timpul ?
 În cazul sincronizării cu timpul se utilizează aşteptarea
temporizată la o cutie poştală vidă.
33. Ce valoare are un semafor utilizat în excludere
mutuală pe durata execuţiei secţiunii critice ?
 Variabila întreagă din structura semaforului are valoarea 0
(zero) pe durata execuţiei secţiunii critice
34. Ce valoare are o variabilă de tip eveniment implicată
în excludere mutuală pe durata execuţiei secţiunii critice ?
 Variabila de tip eveniment are valoarea FALS pe durata
execuţiei secţiunii critice
35. Ce conţine o cutie poştală utilizată în excluderea
mutuală în timpul execuţiei secţiunii critice ?
 Pe durata execuţiei unei secţiuni critice, cutia poştală
implicată în excluderea mutuală este vidă.
36. .Care este diferenţa dintre comunicarea prin mesaje şi
comunicarea prin cutii poştale ?
 În cazul comunicării prin mesaje trebuie precizat
destinatarul, în timp ce la comunicarea prin cutii poştale nu
se impune această cerinţă.
37. Când se consideră pregătit un task destinatar în
contextul unei funcţii de transmitere a unui mesaj.
38. Explicaţi diferenţa dintre taskurile disjuncte şi cele
interactive. Taskurile disjuncte, spre deosebire de cele
interactive, nu utilizează resurse în comun şi nu fac schimb
de date.
39. Ce factori influenţează evoluţia unui sistem de taskuri
interactive ? Evoluţia unui sistem de taskuri interactive este
influenţată de doi factori şi anume: - modul de planificare a
execuţiei taskurilor; - modul de efectuare a tranziţiei între
stări şi/sau substări
40. In ce situaţie se produce blocarea unui task la execuţia
unei operaţii de tip P asupra unui semafor ?
Blocarea se produce dacă variabila întreagă asociată
semaforului este mai mică sau egală cu zero.
41. Ce operaţie se execută asupra unui semaforului
implicat în excluderea mutuală după ieşirea din secțiunea
critică ?
La ieșirea dintr-o secţiune critică, asupra semaforului implicat
în excluderea mutuală se execută operaţia V (incrementare).
42. Ce tip de mesaj se utilizează la excluderea mutuală
implementată cu cutii poştale ?
Se utilizează mesaje simbolice
43. Ce valoare are un semafor utilizat în excludere
mutuală pe durata execuţiei secţiunii critice ?
Variabila întreagă din structura semaforului are valoarea 0
(zero) pe durata execuţiei secţiunii critice.
44. Ce valoare are o variabilă de tip eveniment implicată
în excludere mutuală pe durata execuţiei secţiunii critice ?
Variabila de tip eveniment are valoarea FALS pe durata
execuţiei secţiunii critice.
45. Ce conţine o cutie poştală utilizată în excluderea
mutuală în timpul execuţiei secţiunii critice ?
Pe durata execuţiei unei secţiuni critice, cutia poştală
implicată în excluderea mutuală este vidă
46. Care este diferenţa dintre comunicarea prin mesaje şi
comunicarea prin cutii poştale ?
În cazul comunicării prin mesaje trebuie precizat destinatarul,
în timp ce la comunicarea prin cutii poştale nu se impune
această cerinţă.
47. Când se consideră pregătit un task destinatar în
contextul unei funcţii de transmitere a unui mesaj. În
contextul unei funcţii de transmitere a unui mesaj, taskul
destinatar referit prin handler este pregătit) dacă se găseşte
într-una din stările BlockedReceive sau TimedReceive.
48. Cap 1- Funcţiile automatizării proceselor
proces se înţelege o succesiune de transformări ce
caracterizează diverse obiecte sau fenomene în evoluţia lor
spaţio - temporală.
Obiective:
obiective de calitate; -
-

obiective de eficienţă; -
obiective de securitate.
Conducerea in bucla deschisa
Comenzile sunt det tinand cond de obiective
Conditii-obiectul condus sa fie influentat numai de comenzi
Conducerea corectiva

comenzile sunt elaborate tinand cont de obiective si de


rezultate
Corectia se face in timp
Comenziile conduc la corectii ,respective la aducerea
rezultatelor la nivelul obiectivelor
Conducerea preventive
Monitorizarea automata
Conceptul de monitorizare este legat nemijlocit de
cunoaşterea stării momentane şi a evoluţiei parametrilor
aferenţi unui proces. vezi curs pt scema
Reglarea automata

SRA cu structură convenţională- Abatere sau perturbatie


Pentru asigurarea funcţionalităţii trebuie asigurate 3 func
esentiale:
funcţia de măsurare; - funcţia de comandă; - funcţia de
execuţie.=> DA=EM+EC+EE
- SRA cu structură evoluată.
VEZI CURS 20.11.2020
Protecţia automata
VEZI CURS 20.11.2019
Timpul real (TR) reprezintă o noţiune utilizată pentru
caracterizarea operaţiilor dintr-un sistem de conducere care
se desfăşoară în sincronism cu evenimentele lumii
exterioare.
Structura unui sistem de conducere în timp real: BDP-baza de date de proces;
BGR-bloc generare rapoarte; ABDP-modul actualizare BDP; MEC – modul
elaborare copmenzi ;COP-consola operator; CTR – ceas de timp real; SIA –
subsistem intrări analogice; SEA – subsistem ieşiri analogice; TA- traductoare
analogice; EEA - Elemente de execuţie analogice; EEN – Elemente de execuţie
numerice.

Trăsături specifice ale sistemelor de operare în timp real


vezi curs 27.11.2019
49. Excluderea mutuală realizată cu semafoare
Excluderea mutuală realizată cu variabile de tip eveniment
O variabilă de tip eveniment este o variabilă logică de tip
speciala asupra căreia pot acţiona trei tipuri de primitive şi
anume ÎNSCRIE, ŞTERGE şi AŞTEAPTĂ.

Excluderea mutuală realizată cu mesaje şi cutii poştale


50. Caracteristici RTK
 un nr nelimitat de task-uri
 2 sau mai multe task uri pot avea aceasi prioritate
 implementeaza conceptele de semafor ,cutie postala si
mesaj de trecere
51. Stari
 Current –atunci cand detine controlul unitatii de
proiectare
- in starea current doar din ready ,iar din current se
poate ajunge in orice alta stare
 Ready-un task este in aceasta stare daca asteapta sa
preia controlul UPC.
- se poate ajunge din oricare alta stare,iar din ready
se poate ajunge doar in current
 Suspend-un task se gaseste in aceast stare deoarece a
fost explicit stopat printr-o instructiune RTKSuspend.
- Se iese din aceasta stare cand se executa functia
RTKResume.
 StareaDelay-task-ul asteapta producerea unui
evenimet.
- 4 substari:
blookedWait(asteapta un semnal de la un
semafor)
blokedPut(se asteapta creerea de spatiu intr-
o CP)
blokedGet(se asteapta sosirea unui mesaj)
blockedSend(daca se asteapta un task
destinatar la care se trimite un mesaj)
blockedRecive(daca asteapta un task
epeditor sa devina pregatit in vederea
receptiei unui mesaj pe care acesta il va
trimite)
 Timed-daca asteapta producerea unui eveniment,dar
nu mai mult de un interval de timp specificat
- 5 substari:
timedWite
timedPut
timedGet
timedSend
TimedRecive
52. RTKernelInt-initializeaza nucleul RTK
53. RTKeybrdInit-initializeaza driverul consola
54. RTKSuspend-permite dezactivarea unui task
RTKResume-reactivarea unui task
RTKGetTaskPrio-returneaza prioritatea unui task
55. Functii RTK de gestionarea a timpului
RTK Get Time-permite citirea intr-o variabila de timp time
RTKSetTime-permite setarea continutului numaratorului
RTKDelay-realizeaza tranzitia in starea deleying a task-urilor
care se executa pentru un interval de timp.
RTKDelayUntil-permite continuarea executiei taskului apelat
pana la un moment exprimat in timer ticks si implus ca
argument al functiei.
56. Semaforul =in context RTK reprezinta un numerator
de evenimente al carui continut nu poate fi negative.
Nr_evenimente=nr ul de taskuri care asteapta la semafor
Incrementare –inscrierea unui eveniment intr-un semafor V(S)
Decrementare P(S)
Functii:
 RTKCreateSemaphore –creeaza si initalizeaza
semaforul
 RTKSemaValue-intoarce nr-ul de evenimente din
semafor
 RTKSignal –intoarce un eveniment intr-un semafor
 RTKWait (vezi curs)
 RTKWaitCond(vezi curs)
 RTKWaitTimed(vezi curs)
57. O cutie poștală (Mailbox) reprezintă o zonă de
memorie (buffer de date) care poate stoca un număr
prefixat de mesaje.
RTKCreateMailbox-crerea si initializarea CP
RTKCreateMessages-Returneaza nr de mesaje
RTKClearMailbox-sterge CP
RTKGet-preluarea mesajelor
RTKGetCond(vezi curs)
RTKGetTimed(vezi curs)
RTKPut-depunerea mesajelor in Cp daca exista spatiu
disponibil
RTKPutCond(Vezi curs)
RTKPutTimed(vezi curs)
58. Mesaje de trecere =facilitate de comunicare directa
intre task-uri.
RTKSend-se transmite un mesaj
RTKSendCond(vezi curs)
RTKSendTimed(vezi curs)
RTKRecive-un task emitator este pregatit daca se afla in una
din starile blockedSend sau TimedSand.
RTKRecive Cond(vezi curs)
RTKReciveTimed(vezi curs)
59. Timpul real=reprezinta o notiune utilizata pentru a
caracteriza operatia dintr-un system de conducere care se
realizeaza in sincron cu un eveniment din lumea reala.
Aplicatii de conducere :
achizitie de date
actualizarea BDP
procesarea datelor achizitonate
elaborarea comenzilor
generarea de rapoarte
60. Un sistem de gestiune aferent unei BDP trebuie să
răspundă următoarelor cerinţe importante:
A.să asigure securitatea datelor;
B.să asigure integritatea datelor- e presupune protecţia
datelor la o funcţionare necorespunzătoare a
echipamentului pe care rulează aplicaţiile sau chiar a
programelor aferente acestor aplicaţii
C.să asigure independenţa datelor- implică adoptarea unor
structuri de descriere a datelor care să nu implice
schimbări ale acestora la înlocuirea sau modificarea
programelor aferente aplicaţiilor de conducere, care
utilizează aceste date.
61. Resursa=Eveniment necesar unui task pentru a fi
executat
- Resursele
Locale –resurse destinate acesari de catre un
singur task
Comune-pot fi utilizate de mai multe task-
uri
- Se impart in
Critice –resurse acesate la un moment dat de
catre un singur task
Partajabile –pot fi utilizate la un moment dat
de catre un nr finit de taskuri
Rentrante-resurse commune care pot fi
acesate la un moment dat de oricate de multe
task-uri.
62. Deduceţi relaţia asociată modulului BC1 în
următoarele condiţii:

63. Deduceţi relaţia asociată modulului BC2 în


următoarele condiţii:

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