Proiectarea aplicaţiilor în timp real. Introducere

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Proiectarea aplicaţiilor în timp real. Introducere"

Transcript

1 Proiectarea aplicaţiilor în timp real Introducere 1

2 Clasificare a sistemelor de calcul Sisteme transformaţionale Sisteme reactive Sisteme interactive Sisteme de timp real De obicei sistemele pot fi încadrate în mai multe categorii

3 Sistemele transformaţionale Durata operaţiilor este limitată Timpul de execuţie nu este critic Rezultatele sunt independente de momentul la care sunt produse Exemple: Programe de calcul matematic Compilatoare Programe contabile

4 Sisteme interactive Sunt în dialog permanent cu unul sau mai mulţi utilizatori Răspund doar dacă li se solicită în mod explicit Timpul de răspuns nu are influenţă mare asupra răspunsului Exemple: Sisteme de proiectare asistată de calculator Programe de navigare Internet Procesoare de text, editoare, tabele de calcul

5 Sisteme de timp real Sunt conectate cu un anumit proces (exterior sistemului) Trebuie să răspundă într-un interval de timp limitat solicitărilor externe Rezultatele obţinute depind de momentul la care au fost produse De obicei funcţionează în mod continuu Exemple: controlul roboţilor controlul sistemelor de acţionare electrică sisteme de comunicaţii

6 Sisteme de timp real Trebuie să satisfacă următoarele constrângeri: trebuie să ofere un rezultat/răspuns într-un timp dat acţiunile/răspunsurile nu mai sunt de obicei de nici un folos necesită predictibilitate şi desfăşurare în timp

7 Caracteristicile sistemelor RT Timpul de răspuns Procese multiple Sincronizarea componentelor Determinismul Flexibilitatea Adaptabilitatea Nereversibilitatea

8 Timp de răspuns Intervalul de timp dintre momentul în care se modifică una sau mai multe intrări ale sistemului şi momentul în care apare răspunsul la ieşirile acestuia În cazul sistemelor complexe timpul de răspuns trebuie corelat cu o anumită planificare a răspunsurilor

9 Procese multiple Sistemul poate executa aplicaţii care sunt organizate sub forma mai multor procese care interacţionează între ele şi cu exteriorul Procesele pot fi: periodice aperiodice cvasiperiodice Utilizarea proceselor necesită existenţa unor mecanisme specifice: planificare, comunicare între procese, tratarea excepţiilor

10 Sincronizarea componentelor cu timpul fizic Activitatea subsistemelor trebuie sincronizată cu dinamica proceselor din lumea reală Sistemul trebuie să prelucreze informaţii care sunt disponibile doar un anumit interval de timp (în afara intervalului datele respective nu mai sunt de folos)

11 Determinism Un sistem este determinist dacă pentru fiecare stare şi combinaţie de intrări va trece într-o stare următoare unică şi va furniza un set unic de valori de ieşire Anticipând comportamentul unui sistem permite planificarea resurselor şi rezervarea lor în avans.

12 Flexibilitatea şi adaptabilitatea Are în vedere posibilitatea de dezvoltare ulterioară a subsistemelor Permite utilizarea unui sistem pentru aplicaţii diferite prin realizarea unor modificări minime Permite adăugarea sau dezactivarea unor funcţionalităţi

13 Nereversibilitatea Datorită legăturii cu mediul exterior, succesiunea evenimentelor dictată de acesta nu poate fi prevăzută în avans Pentru sistemele complexe nu pot fi controlate toate relaţiile cauzale Anumite activităţi efectuate nu mai pot fi eliminate, sistemul nu mai poate reveni la starea anterioară

14 Clasificarea sistemelor RT Sisteme RT hard Sisteme RT soft Sisteme RT ferme

15 Sisteme RT hard Trebuie să răspundă la evenimente, obligatoriu, în intervalele de timp impuse prin constrângeri În cazul în care nu este respectată una dintre constrângeri, sistemul îşi pierde funcţionalitatea Costul în cazul în care nu se respectă constrângerea poate fi foarte mare şi poate implica vieţi omeneşti

16 Sisteme RT soft Trebuie să răspundă la evenimente, obligatoriu, timpul de răspuns mediu trebuind să se încadreze în intervalele de timp impuse prin constrângeri. Se acceptă o anumită toleranţă sau diferite nivele de toleranţă în cazul unor întârzieri În cazul unor întârzieri nu apare o cădere a sistemului (incapacitate de funcţionare). Pot să apară costuri, acestea fiind proporţionale cu mărimea întârzierilor

17 Sisteme RT ferme Timpul de răspuns poate fi uneori depăşit dar, după ce a fost depăşit, rezultatele obţinute nu mai sunt de folos

18 Aplicaţii ale sistemelor RT

19 Aplicaţiile sistemelor de timp real Telecomunicaţii Reţele de calculatoare Controlul proceselor industriale Sisteme de achiziţie şi măsurare Sisteme încapsulate Aparatură de uz casnic Echipamente militare Vehicule de transport terestru şi aerian Jocuri video

20 Concepte greşite legate de sistemele RT Sistemele RT = sisteme rapide Avansul tehnologic în hardware va rezolva problemele de timp real Nu există o ştiinţă a sistemelor RT Cercetarea în domeniul sistemelor RT se reduce la acordarea parametrilor de performanţă

21 Arhitecturi Sisteme centralizate Sisteme descentralizate Sisteme distribuite Sisteme descentralizate şi distribuite

22 Tehnici de realizare a sistemelor RT Specificare şi proiectare Metode prin care se verifică funcţionarea din punct de vedere logic şi se verifică constrângerile de timp Proiectare arhitecturală Folosirea modulelor gata realizate şi verificarea constrângerilor de timp Folosirea diferitelor arhitecturi Implementare Utilizarea limbajelor cu primitive adecvate Utilizarea sistemelor software cu suport pentru timp real (nucleu sau sistem de operare) pentru aceste primitive

23 Limbajele pentru sistemele RT Trebuie să aibă următoarele caracteristici: Să poată manipula intrările şi ieşirile sistemului Să aibă primitive pentru gestionarea proceselor Posibilitatea de tratare a întreruperilor Să permită definirea tipurilor de date Să permită introducerea de cod în limbaj de asamblare Să aibă primitive pentru manipularea timpului

24 Consideraţii la realizarea unui sistem RT Predictibilitatea trebuie să permită determinarea în avans a: Comportamentului când sunt nerespectate constrângerile de timp Comportamentul când ipotezele de lucru nu sunt respectate Timpul de acces şi de răspuns Comportamentul în cazul informaţiilor complete Cum va varia calitatea rezultatelor

25 Consideraţii la realizarea unui sistem RT Optimizarea sistemului Optimizarea utilizării procesorului Optimizarea utilizării memoriei Calculul celui mai defavorabil caz Accesul concurent

26 Bibliografie Tiberiu S. Letia, Sisteme de timp real, Editura Albastra, Cluj-Napoca, 2000 Qing Li, Carolyn Yao, Real-Time Concepts for Embedded Systems, CMP Books, 2003

27 Programarea sistemelor de timp real Implementarea sistemelor RT 1

28 Implementarea sistemelor RT cu nucleu RT sau fără sincrone sau asincrone cu declanşarea acţiunilor funcţie de timp sau funcţie de eveniment

29 Implementări sincrone cu interogare în buclă execuţie ciclică pe bază de corutine pe bază de stări bazate pe limbaje sincrone

30 Avantajele implementărilor sincrone momentul comutării de la un proces la altul este cunoscut dinainte acţiunile necesare comutării sunt reduse nu utilizează întreruperi deci nu este necesară salvarea contextului nu există probleme de acces concurent la resurse comportamentul este previzibil

31 Interogare în buclă cunoscută sub numele polling loop structura generală do { if (eveniment1) actiune1; if (eveniment2) actiune2;. if (evenimentn) actiunen; } while(1) //bucla infinita

32 Execuţie ciclică Poate fi considerată o formă generalizată a interogării în buclă Principiu se crează o planificare a proceselor presupunând că ele sunt independente se implementează această ordine ca apeluri succesive întro buclă infinită Caracteristici Ordinea de execuţie rămâne mereu aceeaşi Anumite restricţii de precedenţă pot fi implementate cu uşurinţă

33 Execuţie ciclică Macrociclu = perioada de timp a întregii secvenţe Pot exista secvenţe diferite pentru moduri de funcţionare diferite Macrociclul este împărţit în cadre temporale (pentru a lua în considerare restricţiile de timp) Dacă au aceeaşi durată, cadrele poartă denumirea de microcicluri

34 Probleme cu execuţiile ciclice Procesele îndelungate trebuie scindate ceea ce poate duce la: probleme legate de consistenţa datelor probleme legate de respectarea condiţiilor de precedenţă

35 Acţiuni şi riscuri la depăşirea cadrelor temporale Acţiune Nimic Oprirea procesului Oprirea procesului dar emisia unei excepţii Risc Posibilitatea efectului de avalanşă Un proces care nu a cauzat depăşirea poate rata termenul limită Structurile de date por rămâne într-o stare inconsistentă Utilizatorul poate implementa politica de tratare a excepţiei în modul dorit

36 Avantajele execuţiilor ciclice Secvenţă predefinită de procese constrângerile pot fi îndeplinite Nu necesită nucleu RT Nu este preemptiv nu există activitate suplimentară datorită comutării proceselor nu este necesară protecţia resurselor la accesul simultan Planificarea este flexibilă în funcţie de aplicaţie

37 Dezavantajele execuţiei ciclice Orice modificare a unui proces presupune: verificarea secvenţei proceselor scindarea proceselor trebuie revizuită Aceleaşi probleme pentru cazul în care este adăugat un nou proces Eficienţă scăzută datorită utilizării unor procese ciclice pentru tratarea evenimentelor sporadice

38 Cod bazat pe stări/tranziţii Se bazează pe instrucţiuni if-then şi automate finite Procesele sunt suspendate/reluate fără pierderea datelor critice Simple de înţeles Presupun că procesele pot fi concepute să aibă mai multe stări

39 Algoritmul principal (1) while (1) { } citeste_starea_intrarilor determina_tranzitia_valida executa_tranzitiile reactualizare_stare reactualizare_actiune

40 Algoritmul principal (2) while (1) { citeste_intrarile while (1) { for (fiecare_ramura) determina_stare_urmatoare; } while (1) for (fiecare_ramura) actualizeaza_stare_urmatoare; } while (1) { for (fiecare_ramura) activeaza_actiune; } }

41 Exemplu typedef enum {stare1,,staren} stari; // n este # de stari typedef enum {in1, inn, EOF} alfabet; typedef stari linie_tabel[n] ; int move_forward () { //implementeaza tranzitia intre stari stari stare; alfabet in; linie_tabel tabel[m]; // m este dimensiunea alfabetului do { get(in); //citeste un simbol din fluxul de intrare stare = tabel[ord(in)][stare]; // tranzitie executa_proces(stare); // executa procesul indicat } while (in == EOF); // ultimul simbol } int executa_process(stari stare) { switch (stare) { case stare1: proces1(); break; // executa proces 1 case stare2: proces2; break; // executa proces 2. case staren: procesn(); break; // executa proces n default: stare1; } }

42 Corutine Corutina este un program care comunică cu modulele adiacente ca şi cum acestea ar fi subrutine de intrare şi ieşire. Corutinele sunt la acelaşi nivel ierarhic fiecare executându-se ca şi cum ar fi programul principal fără ca să existe de fapt un program principal

43 Caracteristicile corutinelor Concept bazat pe relaţii simetrice între subrutine datele locale rămân nemodificate între momentul în care corutina pierde controlul şi momentul în care aceasta îl recapătă execuţia corutinei este suspendată când pierde controlul procesorului şi nu se reia până când nu îşi recapătă acest control Subrutinele se reiau de la locul în care au fost întrerupte

44 Caracteristicile corutinelor controlul este explicit transferat de la o corutină la alta mecanismul corutinelor este adesea numit cuasiparalelism

45 Implementarea corutinelor Implementările simple se bazează pe interschimbarea adresei numărătorului de instrucţiuni Implementările mai complexe utilizează un dispecer dispecerul menţine valorile numărătorului de instrucţiuni pentru o listă de procese execuţia este prin rotaţie (round-robin) comunicare între procese se face prin intermediul variabilelor globale

46 Exemplu int proces_a() { int proces_b() { do do switch (starea) { switch (stareb) { case 1: fazaa1; case 1: fazab1; case 2: fazaa2; case 2: fazab2; case 3: fazaa3; case 3: fazab3; case 4: fazaa4; } } } } unde : starea şi stareb sunt stări ale numărătoarelor de adresă gestionate de dispecer

47 Exemplu while(1){ costate{... } // task 1 } costate{ // task 2 waitfor( buttonpushed() ); turnondevice1(); waitfor( DelaySec(60L) ); turnondevice2(); waitfor( DelaySec(60L) ); turnoffdevice1(); turnoffdevice2(); } costate{... } // task n

48 Avantajele corutinelor simple şi eficiente secvenţă predeterminată constrângerile pot fi îndeplinite nu necesită nucleu RT nu foloseşte preemţiunea activitatea suplimentară pentru comutare este redusă nu necesită protejarea resurselor modul de stabilire a secvenţei este la dispoziţia utilizatorului

49 Dezavantajele corutinelor O corutină care îşi încheie execuţia determină terminarea execuţiei aplicaţiei nu există o modalitate de verificare a îndeplinirii restricţiilor în momentul execuţiei execuţia nu este strict periodică

50 Implementări asincrone evenimentele sunt detectate de sistemele periferice evenimentele sunt semnalizate prin întreruperi observabilitatea condiţiei poate fi programată nu necesită nucleu RT se bazează pe procese sporadice

51 Avantajele sistemelor asincrone nu necesită nucleu RT nu necesită scindarea proceselor uşor de implementat timp de răspuns mic

52 Dezavantajele sistemelor asincrone secvenţele se bazează pe o prioritate a proceselor fixată preemţiunea implică: activităţi suplimentare pentru salvarea şi restaurarea contextului necesitatea protejării resurselor comune

53 Sisteme bazate pe întreruperi Pot folosi întreruperi: Hardware şi software cele software implică un ceas Periodice numite sisteme cu timp de execuţie constant Aperiodice numite sisteme sporadice Mixte numite sisteme hibride Dispecerizarea realizată de subrutine de tratare a întreruperilor Contextul trebuie salvat

54 Sisteme hibride folosesc timpul mort al procesorului pentru a executa procese utile execută procese activate prin întreruperi în prim plan şi procese executate ciclic în fundal folosesc extensia conceptului de corutine pentru a lua în considerare comportamentul asincron

55 Sistem de operare Un sistem de operare (SO) este un program care realizează gestionarea resurselor hardware şi software ale unui calculator Un SO realizează sarcini de bază cum ar fi: controlul şi alocarea memoriei gestionarea apelurilor către funcţiile sistem controlul dispozitivelor de intrare şi ieşire gestionarea comunicaţiilor manipularea fişierelor

56 Sisteme de operare În unele cazuri pune la dispoziţia utilizatorului o interfaţă grafică (Windows OS, MacOS) Constituie o platformă pentru alte programe sistem sau pentru programele de aplicaţii

57 Clasificare SO după tehnologie tip Unix altele (DOS, Windows) după tipul de licenţă contra cost gratuită după stadiul de utilizare ieşite din uz (CP-M, DOS) în uz (Linux, Windows)

58 Clasificarea SO după tipul de utilizare uz general (GPOS) (Linux, Windows) numai pentru calculatoare tip desktop (MS-DOS, MacOS) numai pentru calculatoare de tip mainframe (VM) pentru sisteme de timp real (RTOS) pentru sisteme încapsulate (embedded) pentru PDA după scop profesionale pentru cercetare hobby

59 Elemente comune GPOS şi RTOS au un anumit grad de multiprocesare gestionează resursele hardware şi software oferă servicii programelor de aplicaţii abstractizează partea hardware

60 Diferenţe între RTOS şi GPOS fiabilitate mai mare a RTOS adaptarea mai bună la resursele aplicaţiei viteză de lucru mai mare reducerea necesarului de memorie algoritmii de planificare a proceselor adaptate aplicaţiilor RT suport pentru sisteme înglobate fără disc (încărcarea din memoria ROM sau RAM) portabilitate mai bună pentru alte platforme hardware

61 RTOS Un RTOS este un program care: realizează o planificare a execuţiei programului bazată pe constrângeri stricte de timp gestionează resursele sistemului oferă o bază consistentă pentru dezvoltarea aplicaţiilor

62 Caracteristicile RTOS RTOS pot fi de la foarte simple la foarte complicate sunt de obicei scalabile (permit adaptarea la resursele existente) poate conţine doar un nucleu sau poate fi o combinaţie de mai multe module

63 Structura unui RTOS Majoritatea RTOS conţin: Planificator Obiecte RT Servicii

64 Structura unui sistem cu RTOS Programul de aplicaţie Programul de aplicaţie RTOS Protocoale Protocoale reţea reţea Sistem de Sistem de fişiere fişiere Nucleu Nucleu Alte Alte componente componente Drivere Drivere dispozitive dispozitive Facilităţi de Facilităţi de depanare depanare Dispozitiv Dispozitiv e e I/O I/O BSP (board support package) BSP (board support package) Hardware-ul sistemului de implementare Hardware-ul sistemului de implementare

65 Elementele unui RTOS

66 Planificatorul Este elementul de bază al unui RTOS Pe baza unor algoritmi stabileşte care este următorul proces care se execută

67 Obiectele Construcţii specifice nucleului care permit programatorilor să creeze aplicaţii RT Obiecte uzuale procese semafoare cozi de mesaje cutii poştale evenimente etc

68 Servicii sunt operaţii pe care nucleul le execută asupra obiectelor Serviciile pot fi: temporizări tratarea întreruperilor gestionarea resurselor gestionarea dispozitivelor periferice gestionarea comunicaţiilor

69 Nuclee RT Furnizează trei funcţii: Planificarea proceselor Dispecerizarea proceselor Comunicarea între procese Prezintă mai multe nivele Nivelul aplicaţie Nivelul mediului de execuţie Nivelul sistemului de operare Nivelul maşină Nivelul hardware

70 Nucleul RT Utilizatori Interfaţa utilizator Suport pentru fişiere şi disc Comunicare între procese şi sincronizare Planificarea proceselor Controlul proceselor Gestionarea memoriei Sistemul de operare Executiv Nucleu Micronucleu Nanonucleu Hardware

71 Programarea sistemelor de timp real Planificare proceselor 1

72 Tipuri de procese periodice aperiodice hiperperiodice sporadice

73 Procese periodice Utilizate pentru execuţia unor operaţiuni care se repetă la intervale egale de timp: citirea datelor de la traductoare reactualizarea unor variabile de stare calcule ale unor algoritmi de control

74 Procese aperiodice Sunt utilizate pentru a răspunde la solicitările: operatorului sistemului de comunicaţie evenimente asincrone provenite din mediul în care funcţionează sistemul RT

75 Procese hiperperiodice Au specificată o anumită frecvenţă minimă, în anumite situaţii aceasta poate să crească Alte procese pot întrerupe aceste procese însă fără ca frecvenţa de execuţie să scadă sub valoarea minimă Creşterea sau scăderea frecvenţei de execuţie este dată de încărcarea procesorului Duc la o mai mare utilizare a procesorului

76 Procese sporadice Procesele sporadice sunt utilizate pentru a răspunde unor solicitări a căror apariţie nu se încadrează în una din categoriile de mai sus

77 Problema planificării Procesele trebuiesc planificate pentru execuţie astfel încât să se respecte constrângerile de timp În funcţie de tipul sistemului RT (hard sau soft) termenele pot fi ferme sau lejere Procesele intră în execuţie în funcţie de evenimentele la care trebuie să reacţioneze sistemul

78 Problema planificării Execuţia sistemului de procese trebuie să: respecte termenele ferme în cazul sistemelor hard minimizeze anumite expresii temporale cum ar fi întârzierile maxime în cazul sistemelor soft Dacă nu sunt respectate aceste condiţii se spune că sistemul: nu funcţionează corect (sisteme hard) funcţionează ineficient (sisteme soft)

79 Planificarea Constă în ordonarea în timp a execuţiei proceselor care intră în componenţa sistemelor RT Planificarea determină modul de alocare procesorului sau a altor resurse proceselor care se află în starea gata de execuţie Planificarea trebuie să asigure respectarea cerinţelor temporale şi de performanţă impuse sistemului RT

80 Planificator Planificatorul este o componentă a sistemului RT care realizează planificarea proceselor aflate în starea gata de execuţie Planificatorul poate să fie parte a programului de aplicaţie sau poate să fie o componentă a RTOS

81 Obiectivele planificării Sisteme RT hard: respectarea tuturor termenelor ferme Sisteme RT soft: încadrarea întârzierilor în limitele întârzierilor maxime sau minimizarea sumei întârzierilor Sisteme RT hibride (au atât termene ferme cât şi termene lejere): respectarea tuturor termenelor ferme şi încadrarea întârzierilor în limitele întârzierilor maxime sau minimizarea sumei întârzierilor

82 Activităţi de planificare Configurare Distribuire pornirea şi comutarea proceselor întreruperea proceselor (dacă sistemul RT este preemptiv) Analiză apriorică poate o mulţime de procese să fie planificate date fiind anumite constrângeri Planificarea poate fi statică sau dinamică

83 Realizarea planificatorului Un algoritm de planificare trebuie să ţină cont de: existenţa termenelor de timp real şi tipul lor parametrii (duratele de execuţie) proceselor sau a subrutinelor care elaborează răspunsul momentele de apariţie a evenimentelor sincrone estimarea momentelor de apariţie a evenimentelor asincrone resursele partajate existente în sistem urgenţa răspunsurilor importanţa răspunsurilor utilitatea răspunsurilor În funcţie de aplicaţie vor fi luaţi în considerare doar unii din parametrii amintiţi mai sus

84 Realizarea planificatorului Execuţia planificatorului consumă timp Planificatorul concurează la resursele sistemului (timpul procesorului, memorie etc) cu celelalte procese ale sistemului RT Execuţia planificatorului poate să conţină execuţii la anumite intervale de timp sau când au loc anumite evenimente Execuţia planificatorului va fi la rândul ei comutată similar cu execuţia celorlalte procese

85 Realizarea planificatorului În oricare moment pot exista mai multe procese care sunt gata de execuţie Planificatorul trebuie să stabilească o ordine totală sau parţială a execuţiei proceselor Exemplu ordine totală: vor fi executate procesele cu prioritate cea mai mare (se presupune că fiecare proces are un nivel de prioritate unic) ordine parţială: vor fi executate procesele având durata cea mai mică. La un moment dat pot exista două procese care să aibă aceeaşi durată. Stabilirea unei ordonări între aceste procese se poate baza pe momentul intrării starea gata de execuţie.

86 Realizarea planificatorului Unele sisteme RT permit alegerea algoritmului de planificare dând utilizatorului libertatea de a alege modul de planificare în funcţie de aplicaţie În unele sisteme algoritmul de planificare se poate modifica în timpul funcţionării sistemului. Realizarea unui sistem cu algoritm ce se modifică în timpul execuţiei ridică probleme tehnice. Sistemele RT realizează un compromis între costul planificatorului şi performanţele acestuia

87 Factori de influenţă a planificatorului interacţiunea dintre componente şi procese concurenţa dintre planificator şi procese tipul proceselor duratele pentru elaborarea răspunsurilor timpul consumat pentru planificare vitezele relative ale proceselor

88 Interacţiuni între procese Precedenţă Sincronizare mutuală Excludere Partajarea resurselor Combinaţie a celor anterioare

89 Arhitectura sistemului de planificare şi lansare în execuţie

90 Caracteristici temporale Procese periodice Tex(p) durata de execuţie a procesului Tpr(p) perioada de execuţie a procesului Condiţie: Tex<=Tpr Tdd(p) + durata de la activare până la termenul ferm sau termenul lejer Deseori se consideră Tdd=Tpr

91 Caracteristici temporale Procese hiperperiodice Tex(p) durata de execuţie a procesului Tpr(p) hiperperioada de execuţie a procesului Condiţie: Tex<=Tpr Deseori se consideră Tdd=Tpr

92 Caracteristici temporale Procese sporadice Tex(p) durata de execuţie a procesului Tms(p) durata minimă între două cereri de execuţie a procesului Condiţie: Tex<=Tms Tdd(p) durata până la termenul ferm sau până la termenul de efectuare a sarcinii din momentul activării lui

93 Caracteristici temporale Un proces aperiodic nu are o durată minimă între două reactivări succesive Cererea de execuţie a unui proces aperiodic poate fi emisă în orice moment

94 Caracteristici temporale Proces Durata dintre 2 cereri succesive Durata dintre 2 terminări succesive Rata de execuţie min max min max min max Periodic Tpr Tpr Tpr 2 Tpr-Tex Tex/Tpr Tex/Tpr Hiperperiodic Tex Tex Tex Tex Tex 1 Aperiodic 0 sau Tex Tex 0 1 Sporadic Tms Tex 0 Tex/Tms

95 Algoritmi de planificare pentru procese independente pentru procese comunicante pentru procese cu relaţii de precedenţă cu partiţionarea proceselor folosind algoritmi genetici

96 Algoritmi de planificare a proceselor independente după importanţa sarcinilor în sistem după termene prin ordonare după termene ferme prin ordonare după frecvenţă prin ordonare după termene lejere după ordinea de emitere a cererii FIFO (first in first out) LIFO (last in first out) după durata de execuţie prin ordonarea după timpul de execuţie prin ordonarea după timpul liber

97 Algoritmi de planificare a proceselor comunicante după importanţa sarcinilor prin alocarea statică a priorităţilor prin ordonarea după termenele ferme după frecvenţa proceselor comunicante prin ordonarea după termenele ferme parţial monotonă după frecvenţă parţial monotonă după importanţa sarcinilor

98 Algoritmi de planificare a proceselor cu relaţii de precedenţă folosind grafuri serie- paralel cu alocarea resurselor

99 Algoritmul de planificare prin ordonare după frecvenţă în engleză Rate Monotonic Scheduling (RMS) Ipoteze procese periodice termenele limită sunt la sfârşitul perioadei procesele sunt preemptive procesele sunt gata de execuţie la începutul fiecărei perioade procesele nu se pot bloca sau suspenda singure timpul de execuţie pentru fiecare proces este constant şi cunoscut

100 Algoritmul de planificare prin ordonare după frecvenţă procesele cu perioade mai mici vor avea prioritatea mai mare toate priorităţile vor fi diferite

101 Algoritmul de planificare prin ordonare după frecvenţă

102 Algoritmul de planificare prin ordonare după frecvenţă Condiţia necesară Suma(i=1,n)(Texi/Tpri)<=1 Condiţie suficientă Suma(i=1,n)(Texi/Tpri)<=n(2^(1/n)-1) n=1->100%, n=2->83%, n=3->78%, n mare- >69% Când numărul proceselor este mare se garantează succesul planificării dacă utilizarea procesorului este mai mică de 69% 31% din utilizarea procesorului este alocată îndeplinirii condiţiilor de timp real n Tex( pi ) 1 Tpr( pi ) i= 1 n 1 Tex( pi ) n(2 n Tpr( pi ) i= 1 1)

103 Avantajele algoritmului RMS Este simplu Se poate implementa pe sistemele de operare existente Poate fi folosit pentru a aloca nivele de întrerupere

104 Dezavantajele algoritmului RMS Ipotezele sunt restrictive Poate fi aplicat doar pentru procese preemptive Nu sunt indicate în cazul termenelor limită mai mici decât perioada Nu ia în considerare urgenţa răspunsurilor Nu ia în considerare importanţa proceselor

105 Algoritmul de planificare prin ordonare după termene în engleză Deadline Monotonic Scheduling (DMS) Ipoteze procese sporadice termenele limită sunt arbitrare Tddi< Tpri procesele sunt preemptive procesele nu se pot bloca sau suspenda singure timpul de execuţie maxim pentru fiecare proces este constant şi cunoscut

106 Algoritmul de planificare prin ordonare după termene

107 Algoritmul de planificare prin ordonare după termene Trcd este timpul de răspuns cel mai defavorabil Tin =interferenţa pentru cazul cel mai defavorabil: Tin=Suma(j=1,i- 1)Ceil(Tddi/Texj).Texj Testul care indică dacă procesele pot fi planificate este: Texi/Tddi+Tini/Tddi<=1 pentru orice proces pi. Tin( p i i ) = Tex( p Tdd( p 1 j= 1 i i ) ) Tdd( p Tex( p i j ) Tex( p ) Tin( p ) + i Tdd( p ) i j 1 ) 1

108 Algoritmul de planificare prin ordonare după termene Avantaje Este simplu şi se poate implementa pe SO existente Pot fi utilizate pentru a aloca nivelele de întrerupere Eficient pentru procese periodice cu termene limită reduse

109 Algoritmul de planificare prin ordonare după termene Dezavantaje Doar pentru procese preemptive Nu pot trata excluziunea

110 Programarea sistemelor de timp real Procese 1

111 Definiţie o succesiune independentă de instrucţiuni care are alocate anumite resurse pentru execuţie procesele concurează între ele pentru a fi executate de procesor şi pentru a accesa anumite resurse ale sistemului descompunerea funcţionalităţii unui sistem în mai multe procese are avantajul optimizării tratării intrărilor şi ieşirilor

112 Caracteristici Un proces este caracterizat de anumiţi parametri şi structuri de date nume identificator unic (ID) prioritate bloc de control al procesului (TCB - task control bloc) stivă subrutină a procesului Parametrii şi structurile de date formează obiectul proces

113 Parametrii şi structurile de date ale unui proces TCB Nume ID Prioritate Stiva int int Proces1() Proces1() { { while while (1) (1) { { actiune1; actiune1; : : actiunen; actiunen; } } } }

114 Tipuri de procese Procesele pot fi procese sistem: create de RTOS procese de iniţializare şi pornire a sistemului procesul inactiv (idle) procesul generare a mesajelor sistem procesul de tratare a excepţiilor procesul de depanare procesul de generare a semnalului de tact procese utilizator: create de utilizator depind de aplicaţie

115 Procesul Idle are prioritatea cea mai mică utilizează timpul liber al procesorului de obicei este o buclă infinită asigură validitatea contorului de instrucţiuni (PC) poate fi înlocuit cu un proces definit de utilizator care să realizeze anumite acţiuni ex. economisirea energiei prin suspendarea procesorului

116 Nivele de prioritate În funcţie de implementarea RTOS două procese pot avea acelaşi nivel de prioritate sau nivele de prioritate diferite. Numărul de nivele de prioritate este limitat Numărul de procese care pot avea acelaşi nivel de prioritate este limitat. Cele două de mai sus limitează numărul de procese care pot fi create în cadrul unei aplicaţii. Procesele sistem au de obicei rezervate anumite niveluri de prioritate, de cele mai multe ori acestea sunt din domeniul celor mai ridicate niveluri.

117 Crearea proceselor Sarcinile utilizatorului atribuirea unui nume atribuirea unei priorităţi stabilirea dimensiunii stivei scrierea subrutinei procesului Sarcinile RTOS atribuirea unui ID unic crearea blocului de control (TCB) asociat alocarea memoriei pentru stivă

118 Stările unui proces Fiecare proces se poate afla în una din mai multe stări posibile. Mulţimea de stări posibile în care se poate afla un proces depinde sistemul de operare de timp real.

119 Stările unui proces starea activă sau în execuţie este starea în care procesul este activ având prioritatea cea mai mare starea blocată semnificaţia acestei stări depinde de sistemul de operare. În cazul anumitor sisteme ea poate îngloba şi stările de amânare şi de aşteptare; starea gata de execuţie procesul este gata de execuţie însă nu are prioritatea necesară pentru a fi executat;

120 Stările unui proces starea amânată este starea în care procesul aşteaptă trecerea unei temporizări starea suspendată este o stare care este de obicei utilizată în scopul depanării sistemului starea de aşteptare este starea în care procesul aşteaptă eliberarea unei resurse sau aşteaptă apariţia unui eveniment

121 Stările unui proces starea de tratare a întreruperilor este starea în care trece procesul la apariţia unei întreruperi starea adormită este starea în care se poate afla un proces înainte de fi făcut disponibil sistemului de operare sau după ce a fost eliminat din cadrul aplicaţiei.

122 Evoluţia proceselor Trecerea de la o starea la alta este implementată cu ajutorul noţiunii de automat finit. Structura acestuia şi regulile de evoluţie (tranziţiile) sunt caracteristice fiecărui RTOS în parte.

123 Stările proceselor G gata de execuţie, E execuţie, B blocată.

124 Stările proceselor A aşteptare, G gata de execuţie, E execuţie, S suspendată sau blocată.

125 Stările proceselor A aşteptare, E execuţie, G gata de execuţie, D adormită, I tratarea întreruperilor

126 Starea gata de execuţie La unele RTOS este starea în care sunt trecute procesele când sunt create În această stare procesul concurează la resursele procesorului împreună cu celelalte procese gata de execuţie Din această stare procesul poate trece doar în starea de execuţie

127 Starea de execuţie În cazul sistemelor monoprocesor un singur proces poate fi executat la un moment dat Din această stare procesul poate trece în: starea gata de execuţie (nu şi-a terminat execuţia şi a fost întrerupt de un proces cu prioritate mai mare) starea blocată în situaţiile a cerut o resursă care nu este disponibilă a făcut un apel care necesită apariţia unui eveniment a făcut un apel la o funcţie de care introduce o întârziere a execuţiei

128 Starea blocată Permite proceselor cu prioritate mai mică să fie executate Procesul trece în starea blocată în urma unui apel blocant Procesul rămâne în această stare până este valabilă condiţia de blocare La deblocare procesul trece în starea de execuţie (dacă are prioritatea cea mai mare) starea gata de execuţie în rest

129 Acţiuni asociate proceselor crearea procesului eliminarea procesului planificarea procesului obţinerea de informaţii de la proces.

130 Crearea proceselor Crearea proceselor se poate realiza static - sunt create de către utilizator în momentul creării programului de aplicaţie necesarul de memorie se alocă în momentul compilării programului dinamic - sunt create în momentul execuţiei programului de aplicaţie. memoria se alocă dinamic, sunt utilizate în cadrul sistemelor care dispun de resurse de memorie importante.

131 Crearea proceselor Procesele sunt create prin apelul la funcţiile sistemului de timp real specifice Nu întotdeauna crearea unui proces înseamnă şi că acesta este făcut imediat disponibil sistemului de operare. Uneori este necesar apelul unei funcţii speciale care să facă procesul disponibil sistemului. Situaţia mai este întâlnită şi în partea de pornire a sistemului care se realizează conform etapelor: mai întâi este creat un set de procese, se iniţializează sistemul de operare de timp real, procesele sunt făcute disponibile sistemului.

132 Crearea proceselor Faptul că un proces este făcut disponibil sistemului de operare nu înseamnă neapărat că el este şi executat imediat. Procesul este executat imediat dacă are cel mai mare nivel de prioritate. În caz contrar, procesul este trecut în starea gata de execuţie.

133 Eliminarea proceselor Efectul acţiunii de eliminare a unui proces depinde de RTOS. Procese create static eliminarea unui proces = scoaterea acestuia din evidenţa sistemului de operare trece într-o stare numită de adormire, dar fără să fie şterse elementele componente procesului (zona de memorie, partea de cod aferentă) în funcţie de necesităţile aplicaţiei, procesul respectiv poate fi refolosit (se poate schimba numele, identificatorul unic şi nivelul de prioritate)

134 Eliminarea proceselor Procese create dinamic eliminarea unui proces = scoaterea acestuia din evidenţa sistemului de operare poate presupune şi eliberarea resurselor folosite, în special a zonei de memorie aferente

135 Eliminarea proceselor Operaţia de eliminare a proceselor trebuie să fie utilizată cu mare atenţie. În cadrul execuţiei unui proces acesta poate dobândi anumite resurse ale sistemului. Eliminarea unui astfel de proces, fără a se asigura eliberarea tuturor resurselor poate duce la blocarea unor resurse ale sistemului sau chiar blocarea întregului sistem.

136 Planificarea proceselor Planificare proceselor se face în mod normal automat prin intermediul algoritmului de planificare Pe baza algoritmului de planificare procesele trec dintr-o stare în alta din cele amintite RTOS pot oferi funcţii care să permită utilizatorului controlul trecerii proceselor dintr-o stare în alta

137 Planificare proceselor Funcţii utilizator de control al stărilor proceselor suspendare a unui proces reluarea execuţiei unui proces întârzierea unui proces repornirea unui proces modificarea priorităţii unui proces blocarea şi deblocarea posibilităţii de întrerupere a unui proces

138 Tipuri de subrutine ale proceselor Codul executat în cadrul unui proces poate fi: cu execuţie până la terminare utilizat în cazul proceselor de iniţializare şi de pornire se execută o singură dată resursele sunt eliberate la terminarea procesului buclă infinită majoritatea proceselor unei aplicaţii RT se execută de un număr mare de ori

139 Proces cu execuţie până la terminare ProcesExecutieTerminare() { Iniţializează aplicaţia Crează procesele de tip buclă infinită Crează obiectele nucleului Şterge sau suspendă acest proces }

140 Proces cu execuţie până la terminare Observaţii procesele de iniţializare au prioritate mai mare decât cele ale aplicaţiei propriu-zise sunt scrise astfel încât să fie suspendata sau şterse la terminare de obicei resursele sunt eliberate pentru a fi puse la dispoziţia altor procese

141 Procese tip buclă infinită ProcesBuclaInfinita () { Cod de iniţializare while (1) { Corpul buclei Unul sau mai multe apeluri blocante } }

142 Procese tip buclă infinită Observaţii Aceste procese pot conţine cod de iniţializare care este executat doar prima dată când este executat procesul În interiorul buclei infinite trebuie să existe apeluri blocante care să permită blocarea procesului şi execuţia proceselor cu prioritate mai mică

143 Programarea sistemelor de timp real Semafoare 1

144 Definiţie Este un obiect al unui nucleu/sistem de operare de timp real care poate fi achiziţionat de unul sau mai multe procese în vederea: sincronizării excluderii mutuale de la accesul simultan la o anumită resursă

145 Elemente caracteristice Semafoarele sunt caracterizate prin următoarele elemente: semafoarele au o anumită structură care poate diferi de la un RTOS la altul; sunt structuri globale astfel încât starea lor poate fi afectată de către orice proces.

146 Elementele asociate nume identificator unic valoare (număr binar sau natural) bloc de control al semaforului listă de procese asociate

147 Elementele asociate

148 Observaţii Lista proceselor asociate unui semafor poate fi implementată: ca o listă de tip FIFO astfel încât să ţină cont de nivelul de prioritate al proceselor asociate. Implementarea este specifică fiecărui sistem de operare de timp real. Se spune despre procese că iau în posesie un semafor sau îl eliberează

149 Clasificare semafor binar poate lua doar două valori; semafor numărător poate lua mai multe valori; semafor cu excludere mutuală (mutex - mutual exclusive) poate lua doar două valori dar are o serie de caracteristici specifice cu ar fi asigurarea accesului exclusiv la o resursă (de unde şi numele).

150 Semafoare binare pot lua două valori, 0 şi 1. semaforul are valoare 0 = indisponibil şi nu poate fi luat în posesie (acest lucru deoarece anterior a fost luat în posesie de un alt proces). semaforul are valoarea 1 = disponibil şi poate fi luat în posesie. Observaţie: Semafoarele binare pot fi eliberate şi de către alte procese decât cele care le-au luat în posesie.

151 Semafoare binare

152 Semafoare numărătoare poate lua mai multe valori. semaforul are valoarea 0 = semaforul indisponibil (nu poate fi luat în posesie) semaforul are valoarea >0 = semaforul disponibil (poate fi luat în posesie) În funcţie de implementare, numărul de câte ori poate fi luat în posesie poate să fie limitat sau nelimitat.

153 Semafoare numărătoare este utilizată interpretarea conform căreia un semafor numărător are un număr de elemente care pot fi luate în posesie. Semaforul numărător numără câte astfel de elemente mai sunt disponibile. Când nici un element nu mai este disponibil, valoarea numărătorului este 0 şi deci semaforul devine indisponibil. elementele semaforului pot să fie eliberate şi de către procese care nu au luat în posesie în prealabil un element al semaforului.

154 Semafoare numărătoare

155 Semafoare cu excludere mutuală asemănătoare semafoarelor binare în sensul pot lua tot două valori au faţă de cele din urmă o serie de proprietăţi care le individualizează În funcţie de implementarea RTOS proprietăţile suplimentare pot fi: proprietate exclusivă recursivitate control asupra eliminării proceselor evitarea apariţiei inversiunii de prioritate

156 Semafoare cu excludere mutuală Proprietatea asupra unui mutex este obţinută când un proces blochează mutex-ul luându-l în posesie Un proces pierde proprietatea asupra unui mutex când îl eliberează Când un mutex este în posesia unui proces el nu poate fi deblocat de către alt proces

157 Semafoare cu excludere mutuală

158 Acţiuni asociate semafoarelor Principalele acţiuni asociate semafoarelor sunt: crearea eliminarea luarea în posesie eliberarea ştergerea listei proceselor asociate obţinerea de informaţii

159 Crearea semafoarelor Crearea semafoarelor este diferită pentru tipuri diferite de semafoare. Apelurile pentru crearea acestora este specifică fiecărui tip de RTOS Diferenţe posibile: valoarea de iniţializare semafoare binare/mutuale: 0 sau 1 semafoare numărătoare: starea accesibiă/neaccesibilă valoarea de iniţializare valoarea de iniţializare= valoarea maximă sau nu

160 Eliminarea semafoarelor Constă în a şterge un anumit semafor din lista celor disponibile sistemului de operare. Stergerea poate să fie temporară sau definitivă. Ştergerea unui semafor poate să aibă efecte negative în cazul în care nu se asigură că resursa asociată acestuia nu a fost mai întâi eliberată. La eliminarea unui semafor, lista de procese asociate (aflate în starea de aşteptare) este desfiinţată. (toate procesele aflate în listă sunt deblocate)

161 Luarea în posesie a unui semafor Operaţia este specifică fiecărui tip de semafor în parte. Dacă semaforul nu este disponibil, procesul interesat de semafor poate să se comporte în mod diferit în funcţie de cerinţele aplicaţiei Variantele posibile: procesul intră în starea blocată în care aşteaptă eliberarea semaforului; procesul intră în starea blocată pentru o perioadă de timp. În această perioadă semaforul poate sau nu deveni disponibil. După luarea în posesie a semaforului sau după expirarea timpului, procesul este scos din lista proceselor asociate respectivului semafor, starea următoare a acestuia fiind stabilită de planificator în funcţie de starea celorlalte procese şi în funcţie de nivelul de prioritate al acestora. procesul îşi continuă execuţia indiferent dacă semaforul este accesibil sau nu.

162 Luarea în posesie a unui semafor În cazul semafoarelor de excludere mutuală recursivă, semaforul poate fi luat în posesie în mod repetat de către procesul care îl posedă. Această situaţie este necesară în cazul în care subprocese ale procesului ce deţine semaforul necesită accesul la aceeaşi resursă.

163 Eliberarea semafoarelor Semafoare binare/numărătoare eliberarea semafoarelor poate fi realizată de către oricare dintre procesele existente în sistem. Semafoarele de excludere mutuală pot fi eliberate doar de către procesele care le-au luat în posesie. semaforul poate fi eliberat în mod repetat de către procesul care l-a luat în posesie. Numărul de eliberări trebuie să fie egal cu numărul de luări în posesie

164 Golirea listei de procese în aşteptare Situaţii posibile Golirea listei de procese înainte de eliminarea unui semafor. Realizarea unei sincronizări între procese.

165 Obţinerea de informaţii de la semafoare Operaţia permite obţinerea de informaţii referitoare la următoarele elemente ale unui semafor: informaţii legate de elementele de identificare: nume, identificator unic; informaţii legate de tipul semaforului şi valoarea acestuia; informaţii legate de procesele aflate în lista de aşteptare

166 Utilizări tipice ale semafoarelor sincronizarea unui proces în aşteptare, sincronizarea mai multor procese în aşteptare, sincronizare cu urmărirea creditului sincronizarea accesului la o resursă cu acces unic, sincronizarea resurselor partajabile recursiv sincronizarea accesului la mai multe resurse partajabile

167 Sincronizare prin aşteptarea unui semnal

168 Sincronizare prin aşteptarea unui semnal ProcAstept ( ){ : Ia în posesie semafor binar : } ProcSemnal ( ){ : Eliberează semafor binar : }

169 Sincronizarea mai multor procese în aşteptare

170 Sincronizarea mai multor procese în aşteptare ProcAsteptn ( ){ : Operaţii specifice Ia în posesie semafor binar : } ProcSemnal ( ){ : Operaţii specifice Goleşte lista de aşteptare a semaforului : }

171 Sincronizare cu urmărirea creditului

172 Sincronizare cu urmărirea creditului ProcAstept ( ){ : Ia în posesie semafor numărător : } ProcSemnal ( ){ : Eliberează semafor numărător : }

173 Sincronizare cu urmărirea creditului Utilizat când viteza de execuţie a celor două procese este diferită (procesul semnalizator are viteză mai mare) Procesul semnalizator îşi poate continua execuţia numărând fiecare semnalizare efectuată Când este deblocat, procesul în aşteptare îşi execută instrucţiunile cu viteza proprie. Semaforul numărător va fi decrementat Metoda este aplicabilă dacă semnalizarea se face în pachete astfel încât procesul în aşteptare să poată răspunde tuturor semnalelor

174 Sincronizarea accesului la o resursă cu acces unic

175 Sincronizarea accesului la o resursă cu acces unic Metodă utilizată pentru accesarea exclusivă a unei resurse Resursa poate fi: locaţie sau zonă de memorie structură de date port de intrare/ieşire Semaforul este creat cu starea iniţială având valoarea 1 (disponibil/deblocat)

176 Sincronizarea accesului la o resursă cu acces unic Solicitant1 ( ){ : Ia în posesie semafor Scrie sau citeşte resursă Eliberează semafor : }

177 Sincronizarea resurselor cu acces recursiv

178 Sincronizarea resurselor cu acces recursiv Metodă utilizată când subrutine apelate dintrun proces trebuie să aibă acces la aceeaşi resursă ca şi procesul respectiv.

179 Sincronizarea resurselor cu acces recursiv Solicitant1 ( ){ : Ia în posesie mutex Scrie sau citeşte resursă SubrutinaA() Eliberează mutex : } SubrutinaA ( ){ : Ia în posesie mutex Scrie sau citeşte resursă SubrutinaB() Eliberează mutex : } SubrutinaB ( ){ : Ia în posesie mutex Scrie sau citeşte resursă Eliberează mutex : }

180 Sincronizarea accesului la mai multe resurse partajabile

181 Sincronizarea accesului la mai multe resurse partajabile Solicitantn ( ){ : Ia în posesie semafor numărător Scrie sau citeşte resursă Eliberează semafor numărător : }

182 Sincronizarea accesului la mai multe resurse partajabile Metoda este folosită când există mai multe resurse echivalente Semaforul numărător este iniţializat cu valoarea egală cu numărul de resurse echivalente

183 Programarea sistemelor de timp real Cozi de mesaje 1

184 Coadă de mesaje. Definiţie Este un obiect al unui nucleu/sistem de operare de timp real prin intermediul căreia procesele pot trimite sau recepţiona mesaje în vederea: sincronizării schimbării de informaţii uni sau bidirecţional

185 Elemente caracteristice Cozile de mesaje sunt caracterizate prin următoarele elemente: au o anumită structură care poate diferi de la un RTOS la altul; menţin temporar mesajele ceea ce permite decuplarea proceselor (transmisia/recepţia mesajelor nu trebuie să se facă sincron).

186 Elementele asociate nume identificator unic lungimea cozii lăţimea maximă a cozii bloc de control al cozii 2 liste de procese asociate lista proceselor ce aşteaptă să trimită mesaje lista proceselor ce aşteaptă să primească mesaje capul şi capătul cozii

187 Elementele asociate

188 Observaţii Memoria necesară este alocată de către RTOS în funcţie de parametrii furnizaţi de utilizator: lăţimea maximă a mesajului lungimea cozii (numărul de mesaje ce pot fi memorate în coadă). Alocarea memoriei se face din blocurile de memorie: disponibile întregului sistem rezervate special Procesele din listele de aşteptare sunt selectate pentru a trimite/primi un mesaj în funcţie de prioritate ordonare după un model FIFO

189 Stările unei cozi de mesaje

190 Conţinutul mesajelor poate lua mai multe valori. valoarea preluată de la un senzor, o imagine pentru a fi afişată pe ecran, un mesaj text ce trebuie afişat pe un LCD, codul obţinut la apăsarea unei taste de la o tastatură pachet de date de trimis prin intermediul reţelei

191 Transmiterea mesajelor dimensiunea maximă a mesajelor este stabilită la intiţializare pot apare două probleme dimensiunea mesajele poate fi fixă variabilă transmiterea mesajului presupune două operaţii de copiere a mesajului expeditor -> coadă de mesaje coadă de mesaje -> destinatar

192 Transmiterea mesajelor

193 Transmiterea mesajelor. Soluţii 1. în coada de mesaje se va înscrie un pointer la mesaj avantaje permite transmiterea de mesaje de lungimi diferite copierea va fi mai rapidă (se copie doar pointerul) dezavantaje necesită introducerea în mesaj a unor informaţii legate de lungimea mesajului necesită mecanisme de gestionare a mesajelor eterogene 2. utilizarea unor mesaje de dimensiuni mici

194 Acţiuni asociate cozilor de mesaje Principalele acţiuni asociate cozilor de mesaje sunt: crearea eliminarea golirea cozii de mesaje trimiterea de mesaje emisia mesajelor recepţionarea mesajelor obţinerea de informaţii legate de coada de mesaje

195 Crearea cozilor de mesaje Cozile sunt structuri globale, nu aparţin unui anumit proces Apelurile pentru crearea acestora este specifică fiecărui tip de RTOS Diferenţe posibile: valorile de iniţializare lungimea cozii lăţimea maximă a cozii modul de preluare a mesajelor de către procesele în aşteptare (bazat pe prioritate, FIFO etc)

196 Eliminarea cozilor de mesaje Constă în a şterge unei anumite cozi de mesaje din lista celor disponibile sistemului de operare Stergerea poate să fie temporară sau definitivă Ştergerea unei cozi de mesaje poate să aibă efecte negative având în vedere faptul că mesajele existente în listă sunt şterse La eliminarea unui cozi de mesaje, lista de procese asociate (aflate în starea de aşteptare) este desfiinţată (toate procesele aflate în listă sunt deblocate)

197 Golirea cozii de mesaje Situaţii posibile Golirea cozii înainte de eliminarea acesteia. Realizarea unei sincronizări între procese.

198 Trimiterea de mesaje Pot exista 2 modele: FIFO - fiecare mesaj nou este aşezat la sfârşitul cozii. LIFO fiecare mesaj nou este aşezat în capul cozii

199 Transmiterea mesajelor. Model FIFO

200 Transmiterea mesajelor. Model LIFO

201 Transmiterea mesajelor când coada de mesaje este plină procesul nu se blochează (apelul întoarce un cod de eroare) se blochează pe o durată limitată se blochează pe o durată nedefinită

202 Aşteptare pentru transmiterea mesajelor. Model FIFO

203 Aşteptare pentru transmiterea mesajelor. Model LIFO

204 Deblocarea proceselor din lista de aşteptare la transmisie blocare pe o durată limitată procesul se deblochează când devine disponibil o locaţie pentru un mesaj în coadă expiră timpul de aşteptare blocare pe o durată nedefinită devine disponibil o locaţie pentru un mesaj în coadă

205 Emisia mesajelor Emisia este operaţia de transmisie a unui mesaj către mai multe procese Nu toate RTOS au implementată operaţia de emisie

206 Recepţionarea mesajelor se face în funcţie de modelul de aşteptare LIFO FIFO prioritate

207 Recepţionarea mesajelor. Model FIFO

208 Recepţionarea mesajelor. Model FIFO

209 Recepţionarea mesajelor când coada de mesaje este goală procesul nu se blochează (apelul întoarce un cod de eroare) se blochează pe o durată limitată se blochează pe o durată nedefinită

210 Deblocarea proceselor din lista de aşteptare la recepţie blocare pe o durată limitată procesul se deblochează când apare un mesaj în coadă expiră timpul de aşteptare blocare pe o durată nedefinită apare un mesaj în coadă

211 Citirea mesajelor din coadă Citirea se poate realiza în două moduri: distructiv mesajul citit din coadă este şters din coadă nedistructiv mesajul citit rămâne în coadă

212 Obţinerea de informaţii de la coada de mesaje Operaţia permite obţinerea de informaţii referitoare la următoarele elemente ale unei cozi de mesaje: informaţii legate de elementele de identificare: nume, identificator unic; informaţii legate parametrii cozii (lungime, lăţime maximă; informaţii legate de procesele aflate în lista de aşteptare

213 Utilizări tipice ale cozilor de mesaje comunicare unidirecţională fără blocare, comunicare unidirecţională cu blocare, comunicare bidirecţională cu blocare emisie

214 Comunicare unidirecţională fără blocare

215 Comunicare unidirecţională fără blocare ProcEmitator () { : Trimite mesaj în coada de mesaje : } ProcDestinatar () { : Citeşte mesajul din coada de mesaje : }

216 Comunicare unidirecţională fără blocare p(procemitator)<p(procdestinatar) ProcDestinatar se execută, citeşte mesajele şi se blochează când coada e goală când ProcEmitator trimite un mesaj, ProcDestinatar este deblocat şi se execută din nou p(procemitator)>p(procdestinatar) ProcEmitator trimite mesaje până se umple coada de mesaje şi se blochează ProcDestinatar citeşte mesajele din coadă permiţând ProcEmitător să se execute şi să trimită noi mesaje

217 Comunicare unidirecţională cu blocare

218 Comunicare unidirecţională cu blocare ProcEmitator () { : Trimite mesaj în coada de mesaje Ia în posesie semafor : } ProcDestinatar () { : Citeşte mesajul din coada de mesaje Eliberează semafor : }

219 Comunicare unidirecţională cu blocare Permite confirmarea recepţiei fiecărui mesaj în parte Confirmarea se poate realiza cu ajutorul unui semafor binar

220 Comunicare bidirecţională cu blocare

221 Comunicare bidirecţională cu blocare tip client-server

222 Comunicare bidirecţională cu blocare tip client-server Clientul trimite cererile prin coada de mesaje de transmisie Serverul furnizează datele cerute prin intermediul cozii de recepţie Se pot realiza aplicaţii cu mai mulţi clienţi şi un server. coada de comenzi comună fiecare client va fi servit prin intermediul unei cozi separate Observaţii Cele două cozi pot avea lăţimi maxime diferite Serverul va avea prioritate mai mare pentru a putea servi clientul cât mai rapid

223 Comunicare bidirecţională cu blocare ProcEmitator () { : Trimite mesaj în coada de emisie mesaje Aşteaptă mesaj în coada de recepţie mesaje : } ProcDestinatar () { : Citeşte mesajul din coada de emisie mesaje Trimite mesaj în coada de recepţie mesaje : }

224 Emisie

225 Emisie ProcEmitator () { : Trimite mesaj în coada de mesaje : } ProcDestn () { // n=1,2,3 : Citeşte mesajul din coada de mesaje : }

226 Programarea sistemelor de timp real Cutii poştale 1

227 Cutie poştală. Definiţie Este un obiect al unui nucleu/sistem de operare de timp real prin intermediul căreia procesele pot trimite sau recepţiona un mesaj în vederea: sincronizării schimbării de informaţii uni sau bidirecţional

228 Elemente caracteristice Cutiile poştale sunt caracterizate prin următoarele elemente: au o anumită structură care poate diferi de la un RTOS la altul; o cutie poştală menţine temporar un mesajceea ce permite decuplarea proceselor (transmisia/recepţia mesajelor nu trebuie să se facă sincron).

229 Elementele asociate nume identificator unic dimensiunea mesajului bloc de control al cutiei poştale 2 liste de procese asociate lista proceselor ce aşteaptă să trimită mesaje lista proceselor ce aşteaptă să primească mesaje

230 Elementele asociate

231 Observaţii Memoria necesară mesajului poate fi alocată de către RTOS în funcţie de dimensiunea mesajului. Alocarea memoriei se face din blocurile de memorie: disponibile întregului sistem rezervate special Procesele din listele de aşteptare sunt selectate pentru a trimite/primi un mesaj în funcţie de prioritate ordonare după un model FIFO sau LIFO

232 Stările unei cutii poştale

233 Conţinutul mesajelor poate fi de diferite tipuri în funcţie de informaţia pe care o poartă: valoarea preluată de la un senzor, o imagine pentru a fi afişată pe ecran, un mesaj text ce trebuie afişat pe un LCD, codul obţinut la apăsarea unei taste de la o tastatură pachet de date de trimis prin intermediul reţelei

234 Transmiterea mesajelor dimensiunea şi formatul mesajelor trebuie să fie agreat de ambele procese (expeditor şi destinatar) şi sunt stabilite la iniţializare pot apare două probleme dimensiunea şi formatul mesajelor pentru cutii poştale diferite pot aceleaşi diferite transmiterea mesajului presupune două operaţii de copiere a mesajului expeditor -> cutie poştală cutie poştală -> destinatar

235 Transmiterea mesajelor

236 Transmiterea mesajelor. Soluţii 1. în cutia poştală se va înscrie un pointer la mesaj avantaje permite transmiterea de mesaje de lungimi diferite copierea va fi mai rapidă (se copie doar pointerul) dezavantaje necesită introducerea în mesaj a unor informaţii legate de lungimea mesajului necesită mecanisme de gestionare a mesajelor eterogene 2. utilizarea unui mesaj de dimensiuni mici

237 Acţiuni asociate cutiilor poştale Principalele acţiuni asociate cutiilor poştale sunt: crearea eliminarea cutiei poştale trimiterea de mesaje recepţionarea mesajelor obţinerea de informaţii legate de cutia poştală

238 Crearea cutiilor poştale Cutiile poştale sunt structuri globale, nu aparţin unui anumit proces Apelurile pentru crearea acestora este specifică fiecărui tip de RTOS Diferenţe posibile: valorile de iniţializare mărimea mesajului modul de transmitere a mesajului modul de preluare a mesajelor de către procesele în aşteptare (bazat pe prioritate, FIFO etc)

239 Eliminarea cutiilor poştale Constă în a şterge unei anumite cutii poştale din lista celor disponibile sistemului de operare Stergerea poate să fie temporară sau definitivă Ştergerea unei cutii poştale poate să aibă efecte negative având în vedere faptul că mesajul existent în cutia poştală este şters La eliminarea unui cutii poştale, lista de procese asociate (aflate în starea de aşteptare) este desfiinţată (toate procesele aflate în listă sunt deblocate)

240 Transmiterea mesajelor când cutia poştală conţine un mesaj procesul care vrea să trimită mesajul nu se blochează (apelul întoarce un cod de eroare) se blochează pe o durată limitată se blochează pe o durată nedefinită

241 Aşteptare pentru transmiterea mesajelor. Model FIFO

242 Aşteptare pentru transmiterea mesajelor. Model LIFO

243 Deblocarea proceselor din lista de aşteptare la transmisie blocare pe o durată limitată procesul se deblochează când cutia poştală devine goală expiră timpul de aşteptare blocare pe o durată nedefinită cutia poştală devine goală

244 Recepţionarea mesajelor se face în funcţie de modelul de aşteptare LIFO FIFO prioritate

245 Recepţionarea mesajelor. Model FIFO

246 Recepţionarea mesajelor. Model FIFO

247 Recepţionarea mesajelor când cutia poştală este goală procesul nu se blochează (apelul întoarce un cod de eroare) se blochează pe o durată limitată se blochează pe o durată nedefinită

248 Deblocarea proceselor din lista de aşteptare la recepţie blocare pe o durată limitată procesul se deblochează când apare un mesaj în cutia poştală expiră timpul de aşteptare blocare pe o durată nedefinită apare un mesaj în cutia poştală

249 Citirea mesajelor din cutia poştală Citirea se poate realiza în două moduri: distructiv mesajul citit din cutia poştală este şters nedistructiv mesajul citit rămâne în cutia poştală

250 Obţinerea de informaţii de la cutia poştală Operaţia permite obţinerea de informaţii referitoare la următoarele elemente ale unei cutii poştale: informaţii legate de elementele de identificare: nume, identificator unic; informaţii legate dimensiunea mesajului; informaţii legate de procesele aflate în lista de aşteptare

251 Utilizări tipice ale cutiilor poştale comunicare unidirecţională, comunicare unidirecţională cu confirmarea mesajului, comunicare bidirecţională cu blocare utilizarea cutiei poştale ca semafor binar

252 Comunicare unidirecţională

253 Comunicare unidirecţională ProcEmitator () { : Trimite mesaj în cutia poştală : } ProcDestinatar () { : Citeşte mesajul din cutia poştală : }

254 Comunicare unidirecţională cu confirmarea primirii mesajului

255 Comunicare unidirecţională cu confirmarea primirii mesajului ProcEmitator () { : Trimite mesaj în cutia poştală Ia în posesie semafor : } ProcDestinatar () { : Citeşte mesajul din cutia poştală Eliberează semafor : }

256 Comunicare bidirecţională

257 Comunicare bidirecţională Se utilizează două cutii poştale Procesul Proc1 trimite un mesaj prin cutia poştală CP1 Procesul Proc2 răspunde procesului Proc1 prin intermediul cutiei poştale CP2 Se pot realiza aplicaţii de tip client server dacă informaţiile transmise se pot încadra într-un mesaj Se pot realiza aplicaţii cu mai mulţi clienţi şi un server. o CP comună fiecare client va fi servit prin intermediul unei cutii poştale separate Observaţii Prin cele două cutii poştale se pot transmite mesaje de tipuri şi dimensiuni diferite

258 Comunicare bidirecţională Proc1 () { : Trimite mesaj în cutia poştală CP1 Aşteaptă mesaj în cutia poştală CP2 : } Proc2 () { : Aşteaptă mesaj din cutia poştală CP1 : } Trimite mesaj în cutia poştală CP2

259 Utilizarea cutiei poştale ca semafor binar Iniţializarea în starea disponibil: iniţializare cutie poştală cu mesaj Iniţializare în starea indisponibil: iniţializare cutie poştală fără mesaj

260 Utilizarea cutiei poştale ca semafor binar ProcAstept ( ){ : Aşteaptă mesaj în cutia poştală : } ProcAstept ( ){ : Ia în posesie semafor binar : } ProcSemnal ( ){ : Trimite mesaj în cutia poştală : } ProcSemnal ( ){ : Eliberează semafor binar : }

261 Programarea sistemelor de timp real Conducte 1

262 Conductă. Definiţie O conductă (pipe) este un obiect al unui nucleu/sistem de operare de timp real prin intermediul căreia procesele pot transmite sau recepţiona informaţii într-un format nestructurat: sincronizării schimbării de informaţii uni sau bidirecţional

263 Elemente caracteristice Conductele sunt caracterizate prin următoarele elemente: au o anumită structură care poate diferi de la un RTOS la altul; o conductă menţine temporar informaţia nestructurată ceea ce permite decuplarea proceselor (transmisia/recepţia informaţiei nu trebuie să se facă sincron).

264 Elementele asociate nume identificator unic dimensiunea memoriei alocate conductei bloc de control al conductei număr de octeţi tamponul mărimea tamponului poziţia de scriere poziţia de citire 2 liste de procese asociate lista proceselor ce aşteaptă să trimită informaţii lista proceselor ce aşteaptă să primească informaţii

265 Elementele asociate

266 Observaţii Memoria necesară conductei poate fi alocată de către RTOS. Alocarea memoriei se face din blocurile de memorie: disponibile întregului sistem rezervate special Procesele din listele de aşteptare sunt selectate pentru a trimite/primi informaţii în funcţie de prioritate ordonare după un model FIFO sau LIFO

267 Stările unei conducte

268 Caracteristicile informaţilor vehiculate informaţia vehiculată prin conductă este nestructurată schimbul de informaţii se face la nivel de octeţi informaţiei nu i se poate modifica prioritatea (anumiţi octeţi să fie scrişi/citiţi înaintea altora tipuri de informaţii vehiculate prin conducte: informaţii preluate de la un senzor, o imagine pentru a fi afişată pe ecran, octeţii corespunzători unui text ce trebuie afişat pe un LCD, date de trimis prin intermediul reţelei

269 Conducte cu sau fără nume conductele pot primi un nume la creare pot fi utilizate de mai multe procese care vor utiliza numele ca referinţă se pot crea conducte fără nume pot fi accesate doar de către procesele între care au fost create şi numai prin intermediul unor descriptori utilizaţi în cadrul RTOS

270 Acţiuni asociate conductelor Principalele acţiuni asociate conductelor sunt: crearea eliminarea conductei trimiterea de informaţii citirea informaţiilor golirea conductei selecţie a conductei (dintre mai multe) obţinerea de informaţii legate de conductă

271 Crearea conductelor Conductele sunt structuri globale, nu aparţin unui anumit proces Apelurile pentru crearea acestora este specifică fiecărui tip de RTOS Diferenţe posibile: valorile de iniţializare dimensiunea memoriei tampon cu nume sau fără nume La crearea conductei RTOS întoarce doi descriptori: punctul de scriere a informaţiei punctul de citire a informaţiei

272 Eliminarea conductelor Constă în a şterge unei anumite conducte din lista celor disponibile sistemului de operare Ştergerea poate să fie temporară sau definitivă Ştergerea unei conducte poate să aibă efecte negative având în vedere faptul că informaţia existentă în conductă este ştearsă La eliminarea unui conducte, lista de procese asociate (aflate în starea de aşteptare) este desfiinţată (toate procesele aflate în listă sunt deblocate)

273 Transmiterea informaţiei se poate face folosind descriptorul ce indică capătul de scriere al conductei conducta poate fi alimentată de mai multe procese când conducta este plină procesul care vrea să trimită informaţii prin conductă: nu se blochează (apelul întoarce un cod de eroare) se blochează pe o durată limitată se blochează pe o durată nedefinită

274 Deblocarea proceselor din lista de aşteptare la transmisie blocare pe o durată limitată procesul se deblochează când există spaţiu pentru a scrie informaţi în conductă expiră timpul de aşteptare blocare pe o durată nedefinită există spaţiu pentru a scrie informaţi în conductă

275 Citirea informaţiei din conductă se poate face folosind descriptorul ce indică capătul de citire al conductei un proces poate să citească într-o singură operaţie de citire informaţia dintr-o conductă scrisă de mai multe procese cantitatea de informaţie citită este dată de blocul de control al conductei

276 Citirea informaţiei din conductă când conducta este goală procesul: nu se blochează (apelul întoarce un cod de eroare) se blochează pe o durată limitată se blochează pe o durată nedefinită

277 Deblocarea proceselor din lista de aşteptare la recepţie blocare pe o durată limitată procesul se deblochează când apare informaţie în conductă expiră timpul de aşteptare blocare pe o durată nedefinită apare informaţie în conductă

278 Citirea informaţiei din conductă în cazul conductelor citirea este distructivă (nu se pot realiza operaţii de emisie) toţi octeţii de informaţie din conductă au aceeaşi prioritate nu poate fi identificată sursa informaţiei (în cazul surselor multiple)

279 Golirea conductei Situaţii posibile Golirea conductei înainte de eliminarea acesteia. Realizarea unei sincronizări între procese.

280 Selecţia este acţiunea ce permite selectarea unei conducte în funcţie de apariţia unei anumite condiţii operaţia de selecţie poate fi utilizată atât la scriere cât şi la citire

281 Selecţie

282 Obţinerea de informaţii despre conductă Operaţia permite obţinerea de informaţii referitoare la următoarele elemente ale unei conducte: informaţii legate de elementele de identificare: nume, identificator unic; informaţii legate de lungimea conductei; informaţii legate de procesele aflate în listele de aşteptare

283 Utilizări tipice ale conductelor comunicare unidirecţională, comunicare bidirecţională comunicare multi sursă la intrare şi ieşire sincronizarea proceselor

284 Comunicare unidirecţională

285 Comunicare unidirecţională ProcEmitator () { : Trimite informaţie prin conductă : } ProcDestinatar () { : Citeşte informaţie din conductă : }

286 Comunicare bidirecţională

287 Comunicare bidirecţională Proces1 () { : Trimite informaţie în conducta C1 Aşteaptă informaţie în conducta C2 : } Proces2 () { : Aşteaptă informaţie în conducta C1 Trimite informaţie în conducta C2 : }

288 Comunicare multi sursă la intrare şi ieşire

289 Sincronizarea proceselor Se utilizează două conducte o conductă pentru transmiterea informaţiilor o conductă pentru confirmarea recepţiei informaţiilor

290 Sincronizarea proceselor

291 Programarea sistemelor de timp real Semnale, evenimente, variabile condiţionale 1

292 Semnale. Definiţie Un semnal este o întrerupere software care este generată atunci când apare un eveniment. Semnalul face ca execuţia procesului curent să fie întreruptă şi lansează în execuţie procesul ce tratează întreruperea

293 Semnale şi întreruperi întreruperile sunt generate de apariţia unui semnal la una din intrările sistemului semnalele sunt generate de către anumite porţiuni de cod ale aplicaţiei (procese)

294 Elemente caracteristice Semnalele sunt caracterizate prin următoarele elemente: au o anumită structură care poate diferi de la un RTOS la altul numărul şi tipurile de semnale depind de implementarea RTOS sunt asincrone (nu sosesc la momente determinate de timp) pot fi generate de subrutine de tratare a întreruperilor sau de către alte procese sunt asociate unor evenimente

295 Particularităţi privind implementarea semnalelor Implementările semnalelor pot sau nu beneficia de: aşezarea în coadă a semnalelor (semnalul nou de acelaşi tip suprascrie vechiul semnal) numărarea semnalelor (semnale multiple de acelaşi tip au acelaşi efect cu trimiterea unui singur semnal) transmiterea de informaţii prin intermediul semnalelor ordonarea transmiterii semnalelor (semnale diferite au aceeaşi prioritate) garantarea momentului transmisiei semnalelor când se realizează o deblocare a unor semnale blocate în prealabil

296 Elemente caracteristice evenimentele generatoare pot fi: intenţionale un proces semnalizează un eveniment unui alt proces neintenţionale semnalul apare datorită apariţiei unei instrucţiuni ilegale

297 Elemente asociate Blocul de control al semnalelor lista semnalelor acceptate lista semnalelor în aşteptare lista semnalelor ignorate lista semnalelor blocate

298 Elemente asociate

299 Elemente asociate

300 Acţiuni asociate semnalelor instalarea subrutinei de tratare a unui semnal dezinstalarea subrutinei de tratare a unui semnal trimiterea unui semnal ignorarea unui semnal blocarea unui semnal deblocarea unui semnal

301 Utilizările tipice ale semnalelor post prelucrarea unei întreruperi tratată de o subrutină de tratarea a întreruperilor sincronizare între procese

302 Post prelucrarea unei întreruperi

303 Sincronizarea proceselor

304 Evenimente

305 Evenimente. Definiţie Evenimentele sunt semnale având ca sursă apariţia anumitor condiţii la intrările sistemului sau în funcţionarea internă a acestuia

306 Elemente caracteristice evenimentelor Implementarea evenimentelor este dependentă de sistemul de operare sunt grupate de obicei într-un registru de evenimente având lungimea de 8, 16 sau 32 biţi mai sunt denumite şi indicatori (flags) indicatorii asociaţi evenimentelor pot fi modificaţi de către alte procese sau subrutine de tratarea întreruperilor

307 Elemente caracteristice evenimentelor pot fi părţi componente ale structurii de date ale unui proces sau pot fi structuri separate aplicaţiile definesc evenimentele asociate unui anumit indicator (bit dintr-un registru de evenimente)

308 Elemente asociate evenimentelor registrul de control al evenimentelor conţine: evenimente acceptate evenimente primite valoarea datei de expirare condiţiile de notificare registrul de evenimente

309 Elemente asociate evenimentelor

310 Elemente asociate evenimentelor

311 Acţiuni asociate evenimentelor Trimiterea/Semnalarea unui eveniment Recepţionarea/Luarea la cunoştinţă de apariţia unui eveniment

312 Semnalarea unui eveniment Operaţia permite unei surse externe să trimită un semnal unui proces Sursă externă proces subrutină de tratare a întreruperilor Printr-o singură operaţie pot fi semnalate mai multe evenimente

313 Recepţionarea unui eveniment permite unui proces recepţionarea unor evenimente provenite din surse exterioare permite stabilirea timpului de aşteptare pentru un anumit eveniment se pot specifica anumite condiţii care să ia în considerare mai multe evenimente (chiar dacă nu sunt simultane).

314 Recepţionarea unui eveniment condiţiile pot fi construite folosind operatorii binari SI/SAU condiţie SAU reluarea execuţiei are loc dacă oricare din indicatori este 1 condiţie SI reluarea execuţiei are loc dacă fiecare indicator din setul asociat condiţiei este 1

315 Utilizări tipice ale evenimentelor sincronizare unidirecţională a proceselor

316 Observaţii unui eveniment nu i se poate ataşa o anumită informaţie nu există mecanisme de acumulare a evenimentelor (efectul semnalării unui eveniment este acelaşi cu cel al semnalării mai multor evenimente de acelaşi fel). nu are un mecanism prin care să fie identificată sursa evenimentului

317 Programarea sistemelor de timp real Întreruperi şi excepţii 1

318 Excepţii. Definiţie Un eveniment care întrerupe funcţionarea normală a procesorului şi îl forţează să execute un set de instrucţiuni într-o stare specială

319 Excepţii. Clasificare Sincrone generate de obicei de evenimente interne procesorului împărţire prin zero erori de scriere/citire a memoriei indicator de gardă Asincrone generate de evenimente externe procesorului, de obicei generate de dispozitive hardware buton de reset convertor A/N controler comunicaţie

320 Întrerupere. Definiţie Întreruperea este un caz particular de excepţie corespunzătoare unui eveniment având o cauză externă procesorului, de obicei un dispozitiv hardware.

321 Caracteristici ale excepţiilor Sunt elemente necesare în cadrul RTOS Implementarea excepţiilor este specifică RTOS (în general dictată de modalitatea de implementare în cadrul procesorului) Implică reguli stricte de scriere a codului care utilizează întreruperile

322 Utilitatea excepţiilor Tratarea erorilor şi a condiţiilor speciale de gestionare a resurselor Gestionarea dispozitivelor concurente Gestionarea cererilor de servicii

323 Tratarea erorilor şi a condiţiilor speciale Sunt tratate o serie întreagă de erori şi se permite sistemului revenirea din această stare fără oprirea şi resetarea sistemului Erori: împărţire prin 0 depăşirea capacităţii de numărare eroare matematică eroare de citire/scriere a memoriei invocarea unor dispozitive inexistente sau neiniţializate Condiţii speciale încercarea execuţiei unor instrucţiuni care pot fi executate numai în anumite moduri de lucru al procesorului utilizarea modului ICD (in circuit debugger)

324 Tratarea erorilor şi a condiţiilor speciale Execuţia procesului este oprită Se lansează în execuţie o subrutină de tratare a excepţiei Se evaluează şi se tratează corespunzător eroarea

325 Gestionarea dispozitivelor concurente Sistemele RTOS pot conţine dispozitive care pot funcţiona simultan Dispozitivele pot necesita minim de intervenţie din partea procesorului Dispozitivele trebuie să semnaleze procesorului anumite evenimente încheierea unei acţiuni depăşirea sau coborârea sub un prag limită îndeplinirea unei condiţii Exemple: încheierea unei conversii A/N încheierea unei temporizări coborârea tensiunii de alimentare sub pragul limită umplerea unei zone tampon (buffer) de date

326 Gestionarea cererilor de servicii Dispozitivele periferice pot fi considerate ca dispozitive care cer anumite servicii procesorului central preluarea unei valori din zona aferentă rezultatului conversiei preluarea unor date dintr-o zonă tampon de recepţie a datelor permiterea accesului pentru citirea/scrierea unor date din/în memoria sistemului

327 Clasificarea excepţiilor Asincrone nemascabile Asincrone mascabile Sincrone precise Sincrone imprecise Ordinea uzuală a priorităţilor este Cea mai mare Asincronă nemascabilă Mare Sincronă precisă Medie Sincronă imprecisă Mică Asincronă mascabilă

328 Excepţii asincrone nemascabile Sunt excepţiile care nu pot fi mascate Ele sunt tratate imediat ce sunt recepţionate Unele procesoare au linii dedicate excepţiilor nemascabile

329 Excepţii asincrone mascabile Sunt excepţiile care pot fi mascate Excepţiile mascate nu sunt luate în considerare de către procesor Mascarea se realizează prin instrucţiuni dedicate ale procesorului

330 Excepţii sincrone precise Sunt excepţii generate de evenimente interne ale procesorului Instrucţiunea care a generat excepţia este pe deplin identificată prin conţinutul numărătorului de program Revenirea din subrutina de tratarea excepţiei este cunoscută

331 Excepţii sincrone imprecise Instrucţiunea care a generat evenimentul nu este cunoscută Sunt caracteristice procesoarelor de tip pipeline

332 Sistemul de priorităţi ale sistemului

333 Tratarea excepţiilor Pentru a putea fi tratate, pentru fiecare excepţie trebuie prevăzută o subrutină care să ia în considerare excepţia respectivă Alocarea unei subrutine pentru o excepţie se realizează prin intermediul unei tabele vectori Vectorii reprezintă locaţii de memorie care conţin adresele de început a codului subrutinei de tratare a excepţiei Localizarea, dimensiunea şi caracteristicile tabelei de vectori este specifică fiecărui procesor sau sistem de operare

334 Instalarea subrutinelor de tratare a excepţiilor În general procesoarele au instalate subrutine standard de tratare a excepţiilor care realizează: sesizarea apariţiei întreruperii tratarea minimă a excepţiei întoarcerea din subrutina de tratare a excepţiei Utilizatorii pot să creeze subrutine de tratare a excepţiilor şi să le instaleze modificând vectorul corespunzător excepţiei Instalare noii subrutine = in tabela de vectori se înlocuieşte vectorul (adresa) subrutinei standard cu vectorul (adresa) noii subrutine

335 Instalarea subrutinelor de tratare a excepţiilor

336 Tratarea excepţiilor La apariţia unei excepţii trebuie parcurşi următorii paşi: salvarea stării curente a procesorului încărcarea adresei codului funcţiei de tratarea a excepţiei în numărătorul de program execuţia funcţiei de tratare a excepţiei restaurarea stării procesorului reluarea execuţiei programului ce se executa înaintea apariţiei excepţiei

337 Tratarea excepţiilor Dezactivează intreruperile Salvează starea Determină sursa excepţiei Selectează subrutina de tratare a excepţiei ESR 1 ESR i ESR n Restaurează starea Activează excepţiile

338 Funcţia de tratare a excepţiei O funcţie de tratare a unei excepţii realizează de obicei următoarele operaţiuni comută execuţia într-o zonă de memorie dedicată salvează informaţii suplimentare despre starea procesorului se dezactivează sistemul de întreruperi (unele procesoare îşi dezactivează sistemul de întreruperi la acceptarea unei întreruperi), sau se maschează anumite niveluri de întrerupere, (de obicei cele cu prioritate mai mică); execută o serie minimă de instrucţiuni de tratare a excepţiei se reactivează sistemul de întreruperi, sau se elimină măştile anumitor niveluri; se dă din nou controlul procesorului procesului întrerupt, după ce în prealabil s-a încărcat starea lui.

339 Tratarea excepţiilor

340 Nivele de imbricare a excepţiilor Este o situaţie curentă ca în timpul tratării unei excepţii să apară o altă excepţie Cazul 1 dacă noua excepţie este de prioritate mai mică ea va fi ignorată (mascare) Cazul 2 dacă noua excepţie este de prioritate mai mare ea trebuie să poată întrerupe subrutina de tratare curentă Modul de imbricare a excepţiilor şi numărul maxim de imbricări este specific fiecărui RTOS/procesor Numărul maxim de imbricări depinde de obicei de dimensiunea memoriei stivă

341 Imbricarea excepţiilor

342 Imbricarea excepţiilor Memoria stivă trebuie să fie destul de mare ca în ea să poată fi salvate toate informaţiile necesare la apariţia fiecărei excepţii Trebuie luat în calcul şi necesarul din memoria stivă cerut de apelurile de funcţiile/procesele aplicaţiei În cazul în care nu se foloseşte un controler de memorie se poate depăşi stiva alocată aplicaţiei

343 Depăşirea memoriei alocate stivei

344 Depăşirea memoriei alocate stivei. Soluţii Creşterea dimensiunii stivei fiind luat în calcul cazul cel mai defavorabil avantaje: metodă simplă dezavantaj: alocare neeconomică a memoriei Alocarea unor zone de stivă speciale pentru întreruperi şi excepţii avantaje: utilizare unei cantităţi mai mici de memorie dezavantaj: mecanism suplimentar de gestionare a stivei suplimentare

345 Subrutinele de tratare a excepţiilor Rutinele pentru tratarea excepţiilor pot să cuprindă ele însele toate activităţile implicate de cauzele care au generat excepţiile. Trebuie rezolvată situaţia în care soseşte o cerere de excepţie pe un nivel prioritar celui servit la un moment dat. Rutina care tratează o nouă excepţie nu "ştie" dacă întrerupe un proces, sau o subrutină pentru tratarea unei excepţii.

346 Subrutinele de tratare a excepţiilor void subrutină_întrerupere() { Dezactivează sistemul de excepţii, dacă nu este dezactivat automat; Salvează registrele procesorului; Reactivează sistemul de excepţii; Executa secvenţa de instrucţiuni implicată de evenimentul care a întrerupt: Reintroduce secvenţa întreruptă în execuţie prin încărcarea registrelor salvate; }

347 Subrutinele de tratare a excepţiilor Activitatea subrutinei pentru tratarea unei excepţii se poate rezuma la activarea unui proces Procesul activat efectuează activităţile implicate de tratarea întreruperii. Procesul care trebuie activat se află în aşteptare, iar rutina pentru tratarea întreruperii îl trece în starea "gata de execuţie" folosind un apel de sistem.

348 Subrutinele de tratare a excepţiilor void subrutină_întrerupere() { Salvează starea procesului curent; Introduce procesul curent în lista "gata de execuţie ; Semnalizează procesul implicat de evenimentul care a întrerupt; /* aceasta va reactiva procesul corespunzător */ Execută funcţia planificatorului; Execută funcţia distribuitorului lansând în execuţie primul proces din lista "gata de execuţie"; }

349 Programarea sistemelor de timp real Gestionarea memoriei 1

350 Probleme legate de fragmentarea memoriei Fragmentarea memoriei Activitate suplimentară legată de gestionarea memoriei Timp de alocare a memoriei nedeterminist

351 Alocarea dinamică a memoriei Memoria unei aplicaţii RTOS este împărţită în mai multe zone memoria de program memoria de date memoria stivă memorie liberă Memoria liberă poate fi alocată dinamic de către aplicaţia RTOS

352 Alocarea memoriei Caracteristici Memoria este împărţită în blocuri de dimensiuni egale. Dimensiunea blocurilor depinde de sistemul de operare Alocarea memoriei se face la nivel de bloc Informaţia legată de blocurile alocate este păstrată într-o tabelă de alocare a memoriei

353 Blocul de control al memoriei Informaţia stocată în BCM adresa de bază a blocului fizic de memorie folosit pentru alocare dinamică dimensiunea totală a memoriei tabela de alocare ce indică zonele de memorie alocate şi zonele libere

354 Alocarea memoriei Alocarea şi eliberarea memoriei se realizează folosind funcţii speciale malloc alocarea memoriei. Parametrul funcţiei este dimensiunea memoriei (in octeţi sau kiloocteţi free eliberarea memoriei. Parametrul funcţiei este obiectul sau un pointer către obiectul pentru care este alocată memoria Alocarea se face în funcţie de dimensiunea precizată şi de dimensiune blocurilor de alocare

355 Alocarea memoriei. Exemplu Dimensiunea blocului de alocare: 32 octeţi Dimensiunea memoriei cerute: 60 octeţi Instrucţiunea de alocare: malloc(60); Memoria alocată: 2 blocuri de 32 octeţi = 64 octeţi Memoria nefolosită din cea alocată: 64+60=2 octeţi Acest tip de fragmentare se numeşte fragmentare internă

356 Alocarea memoriei. Exemplu

357 Fragmentarea memoriei În urma unor operaţii repetate de alocare şi eliberare a memoriei rezultă zone de memorie având caracteristicile: izolate de dimensiune mică Aceste zone nu pot fi folosite în cazul unor instrucţiuni care cer alocarea unei zone mai mari de memorie Acest tip de fragmentare se numeşte fragmentare externă

358 Alocarea memoriei. Exemplu

359 Defragmentarea memoriei Blocurile de memorie izolate sunt mutate astfel încât să alcătuiască o zonă contiguă Eficienţa operaţiei de defragmentare depinde de: viteza de mutare a blocurilor încărcarea sistemului (numărul de procese ale aplicaţiei) dimensiunea blocurilor de memorie

360 Alocarea memoriei. Exemplu. După defragmentare

361 Defragmentarea memoriei Operaţia de defragmentare se realizează în mai mulţi paşi După mutarea a două blocuri, blocul rezultat poate fi de asemeni prea mic pentru un apel de alocare Pe timpul fragmentării procesele nu pot accesa zonele de memorie alocate lor (acestea se pot afla în operaţia de mutare) Procesul de defragmentare concurează şi el la resursele sistemului ca şi orice alt proces Prioritatea procesului de defragmentare este de obicei mai mică decât a proceselor aplicaţiei

362 Defragmentarea memoriei Restricţii impuse defragmentării: blocurile care sunt accesate prin intermediul adreselor fizice nu pot fi mutate trebuie să fie respectate condiţiile de aliniere a adreselor de memorie

363 Gestionarea memoriei Un gestionar de memorie trebuie să realizeze cu rapiditate operaţiile determinarea un bloc liber de memorie de dimensiunea cerută sau mai mare (parte a funcţiei malloc) actualizarea informaţiei legate de memorie (parte a funcţiilor malloc şi free) determinarea posibilităţii de a combina blocul eliberat cu altele pentru a obţine o zonă contiguă de dimensiune mai mare să minimizeze activitatea suplimentară legată de gestioarea memoriei Eficienţa gestionarului de memorie este determinată de structura tabelei de alocare a memoriei

364 Utilizarea blocurilor de memorie de dimensiune fixă Zona de memorie este împărţită în grupuri (pools) de blocuri de memorie fiecare bloc de memorie dintr-un grup are aceeaşi dimensiune grupurile conţin blocuri de dimensiuni diferite Fiecare grup este controlat de un bloc de control care deţine informaţiile: dimensiunea unui bloc numărul total de blocuri disponibile numărul de blocuri libere

365 Blocuri de memorie

366 Structura memoriei Fiecare grup este constituit dintr-o număr de blocuri de memorie organizate într-o listă La o operaţie de alocare reuşită, blocul de memorie este eliminat din listă La eliberarea unui bloc de memorie acesta este adăugat în lista grupului corespunzător dimensiunii lui O operaţie de alocare sau de eliberare poate elimina sau adăuga mai multe blocuri în listele grupurilor

367 Alocarea blocurilor de memorie Alocarea blocurilor de memorie grupurile sunt ordonate în funcţie de dimensiunea blocurilor la cererea unei zone de memorie de o anumită dimensiune se caută blocul de dimensiunea cea mai mică dar mai mare sau egală cu dimensiunea cerută Acţiuni: se caută grupul cu dimensiunea cea mai mică se caută primul bloc liber din listă

368 Alocarea blocurilor de memorie Avantaje: reduce fragmentarea internă a memoriei îmbunătăţeşte performanţele aplicaţiilor cu caracteristici statice: lucrează în medii predictibile număr cunoscut de procese create cunoaşterea de la început dimensiunii blocurilor de memorie are un comportament determinist (timpul de alocare este constant) nu necesită restructurare (defragmentare)

369 Sisteme RTOS cu memorie redusă Dimensiunea memoriei impusă de restricţii de preţ dispozitivelor de memorie gabarit consum de energie cost suplimentar dat de gestionarul de memorie Memoria este partajată între procesele sistemului Pot apare momente când nu există memorie disponibilă (disponibilitate temporară) Unele procese vor aştepta eliberarea unor blocuri de memorie ca să poată continua execuţia

370 Sisteme RTOS cu memorie redusă Acţiunea executată de un proces când cererea de memorie nu poate fi alocată depinde de implementarea RTOS Acţiuni procesul se blochează pe o durată limitată procesul se blochează pe un timp nedefinit procesul îşi continuă execuţia

371 Implementarea alocării memoriei cu blocare Implementarea foloseşte obiecte RTOS semafor numărător mutex Obiectele permit sincronizarea operaţiei de alocare a memoriei În cazul alocării cu blocuri de dimensiune fixă, se utilizează câte un semafor numărător şi câte un mutex pentru fiecare grup de blocuri de memorie

372 Implementarea alocării memoriei cu blocare Semaforul numărător este iniţializat cu valoarea numărului de blocuri de memorie existente în grup valoarea lui va indica numărul de blocuri de memorie disponibile în grupul respectiv blocurile de memorie sunt alocate şi eliberate de la/la începutul listei Blocurile de control sunt actualizate după fiecare operaţie de alocare sau eliberare de memorie

373 Implementarea alocării memoriei cu blocare

Metode iterative pentru probleme neliniare - contractii

Metode iterative pentru probleme neliniare - contractii Metode iterative pentru probleme neliniare - contractii Problemele neliniare sunt in general rezolvate prin metode iterative si analiza convergentei acestor metode este o problema importanta. 1 Contractii

Διαβάστε περισσότερα

5.4. MULTIPLEXOARE A 0 A 1 A 2

5.4. MULTIPLEXOARE A 0 A 1 A 2 5.4. MULTIPLEXOARE Multiplexoarele (MUX) sunt circuite logice combinaţionale cu m intrări şi o singură ieşire, care permit transferul datelor de la una din intrări spre ieşirea unică. Selecţia intrării

Διαβάστε περισσότερα

Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate.

Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate. Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Fie p, q N. Fie funcţia f : D R p R q. Avem următoarele

Διαβάστε περισσότερα

(a) se numeşte derivata parţială a funcţiei f în raport cu variabila x i în punctul a.

(a) se numeşte derivata parţială a funcţiei f în raport cu variabila x i în punctul a. Definiţie Spunem că: i) funcţia f are derivată parţială în punctul a în raport cu variabila i dacă funcţia de o variabilă ( ) are derivată în punctul a în sens obişnuit (ca funcţie reală de o variabilă

Διαβάστε περισσότερα

10. STABILIZATOAE DE TENSIUNE 10.1 STABILIZATOAE DE TENSIUNE CU TANZISTOAE BIPOLAE Stabilizatorul de tensiune cu tranzistor compară în permanenţă valoare tensiunii de ieşire (stabilizate) cu tensiunea

Διαβάστε περισσότερα

Curs 14 Funcţii implicite. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi"

Curs 14 Funcţii implicite. Facultatea de Hidrotehnică Universitatea Tehnică Gh. Asachi Curs 14 Funcţii implicite Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Fie F : D R 2 R o funcţie de două variabile şi fie ecuaţia F (x, y) = 0. (1) Problemă În ce condiţii ecuaţia

Διαβάστε περισσότερα

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor X) functia f 1

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor X) functia f 1 Functii definitie proprietati grafic functii elementare A. Definitii proprietatile functiilor. Fiind date doua multimi X si Y spunem ca am definit o functie (aplicatie) pe X cu valori in Y daca fiecarui

Διαβάστε περισσότερα

III. Serii absolut convergente. Serii semiconvergente. ii) semiconvergentă dacă este convergentă iar seria modulelor divergentă.

III. Serii absolut convergente. Serii semiconvergente. ii) semiconvergentă dacă este convergentă iar seria modulelor divergentă. III. Serii absolut convergente. Serii semiconvergente. Definiţie. O serie a n se numeşte: i) absolut convergentă dacă seria modulelor a n este convergentă; ii) semiconvergentă dacă este convergentă iar

Διαβάστε περισσότερα

riptografie şi Securitate

riptografie şi Securitate riptografie şi Securitate - Prelegerea 12 - Scheme de criptare CCA sigure Adela Georgescu, Ruxandra F. Olimid Facultatea de Matematică şi Informatică Universitatea din Bucureşti Cuprins 1. Schemă de criptare

Διαβάστε περισσότερα

Curs 1 Şiruri de numere reale

Curs 1 Şiruri de numere reale Bibliografie G. Chiorescu, Analiză matematică. Teorie şi probleme. Calcul diferenţial, Editura PIM, Iaşi, 2006. R. Luca-Tudorache, Analiză matematică, Editura Tehnopress, Iaşi, 2005. M. Nicolescu, N. Roşculeţ,

Διαβάστε περισσότερα

Planul determinat de normală şi un punct Ecuaţia generală Plane paralele Unghi diedru Planul determinat de 3 puncte necoliniare

Planul determinat de normală şi un punct Ecuaţia generală Plane paralele Unghi diedru Planul determinat de 3 puncte necoliniare 1 Planul în spaţiu Ecuaţia generală Plane paralele Unghi diedru 2 Ecuaţia generală Plane paralele Unghi diedru Fie reperul R(O, i, j, k ) în spaţiu. Numim normala a unui plan, un vector perpendicular pe

Διαβάστε περισσότερα

Aplicaţii ale principiului I al termodinamicii la gazul ideal

Aplicaţii ale principiului I al termodinamicii la gazul ideal Aplicaţii ale principiului I al termodinamicii la gazul ideal Principiul I al termodinamicii exprimă legea conservării şi energiei dintr-o formă în alta şi se exprimă prin relaţia: ΔUQ-L, unde: ΔU-variaţia

Διαβάστε περισσότερα

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor. Fiind date doua multimi si spunem ca am definit o functie (aplicatie) pe cu valori in daca fiecarui element

Διαβάστε περισσότερα

V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile

V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile Metode de Optimizare Curs V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile Propoziţie 7. (Fritz-John). Fie X o submulţime deschisă a lui R n, f:x R o funcţie de clasă C şi ϕ = (ϕ,ϕ

Διαβάστε περισσότερα

5. FUNCŢII IMPLICITE. EXTREME CONDIŢIONATE.

5. FUNCŢII IMPLICITE. EXTREME CONDIŢIONATE. 5 Eerciţii reolvate 5 UNCŢII IMPLICITE EXTREME CONDIŢIONATE Eerciţiul 5 Să se determine şi dacă () este o funcţie definită implicit de ecuaţia ( + ) ( + ) + Soluţie ie ( ) ( + ) ( + ) + ( )R Evident este

Διαβάστε περισσότερα

Metode de interpolare bazate pe diferenţe divizate

Metode de interpolare bazate pe diferenţe divizate Metode de interpolare bazate pe diferenţe divizate Radu Trîmbiţaş 4 octombrie 2005 1 Forma Newton a polinomului de interpolare Lagrange Algoritmul nostru se bazează pe forma Newton a polinomului de interpolare

Διαβάστε περισσότερα

a. 11 % b. 12 % c. 13 % d. 14 %

a. 11 % b. 12 % c. 13 % d. 14 % 1. Un motor termic funcţionează după ciclul termodinamic reprezentat în sistemul de coordonate V-T în figura alăturată. Motorul termic utilizează ca substanţă de lucru un mol de gaz ideal având exponentul

Διαβάστε περισσότερα

Criptosisteme cu cheie publică III

Criptosisteme cu cheie publică III Criptosisteme cu cheie publică III Anul II Aprilie 2017 Problema rucsacului ( knapsack problem ) Considerăm un număr natural V > 0 şi o mulţime finită de numere naturale pozitive {v 0, v 1,..., v k 1 }.

Διαβάστε περισσότερα

4. CIRCUITE LOGICE ELEMENTRE 4.. CIRCUITE LOGICE CU COMPONENTE DISCRETE 4.. PORŢI LOGICE ELEMENTRE CU COMPONENTE PSIVE Componente electronice pasive sunt componente care nu au capacitatea de a amplifica

Διαβάστε περισσότερα

Curs 4. RPA (2017) Curs 4 1 / 45

Curs 4. RPA (2017) Curs 4 1 / 45 Reţele Petri şi Aplicaţii Curs 4 RPA (2017) Curs 4 1 / 45 Cuprins 1 Analiza structurală a reţelelor Petri Sifoane Capcane Proprietăţi 2 Modelarea fluxurilor de lucru: reţele workflow Reţele workflow 3

Διαβάστε περισσότερα

Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM 1 electronica.geniu.ro

Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM 1 electronica.geniu.ro Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM Seminar S ANALA ÎN CUENT CONTNUU A SCHEMELO ELECTONCE S. ntroducere Pentru a analiza în curent continuu o schemă electronică,

Διαβάστε περισσότερα

MARCAREA REZISTOARELOR

MARCAREA REZISTOARELOR 1.2. MARCAREA REZISTOARELOR 1.2.1 MARCARE DIRECTĂ PRIN COD ALFANUMERIC. Acest cod este format din una sau mai multe cifre şi o literă. Litera poate fi plasată după grupul de cifre (situaţie în care valoarea

Διαβάστε περισσότερα

1.7. AMPLIFICATOARE DE PUTERE ÎN CLASA A ŞI AB

1.7. AMPLIFICATOARE DE PUTERE ÎN CLASA A ŞI AB 1.7. AMLFCATOARE DE UTERE ÎN CLASA A Ş AB 1.7.1 Amplificatoare în clasa A La amplificatoarele din clasa A, forma de undă a tensiunii de ieşire este aceeaşi ca a tensiunii de intrare, deci întreg semnalul

Διαβάστε περισσότερα

Sisteme diferenţiale liniare de ordinul 1

Sisteme diferenţiale liniare de ordinul 1 1 Metoda eliminării 2 Cazul valorilor proprii reale Cazul valorilor proprii nereale 3 Catedra de Matematică 2011 Forma generală a unui sistem liniar Considerăm sistemul y 1 (x) = a 11y 1 (x) + a 12 y 2

Διαβάστε περισσότερα

Curs 4 Serii de numere reale

Curs 4 Serii de numere reale Curs 4 Serii de numere reale Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Criteriul rădăcinii sau Criteriul lui Cauchy Teoremă (Criteriul rădăcinii) Fie x n o serie cu termeni

Διαβάστε περισσότερα

Integrala nedefinită (primitive)

Integrala nedefinită (primitive) nedefinita nedefinită (primitive) nedefinita 2 nedefinita februarie 20 nedefinita.tabelul primitivelor Definiţia Fie f : J R, J R un interval. Funcţia F : J R se numeşte primitivă sau antiderivată a funcţiei

Διαβάστε περισσότερα

V O. = v I v stabilizator

V O. = v I v stabilizator Stabilizatoare de tensiune continuă Un stabilizator de tensiune este un circuit electronic care păstrează (aproape) constantă tensiunea de ieșire la variaţia între anumite limite a tensiunii de intrare,

Διαβάστε περισσότερα

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE ABSTRACT. Materialul prezintă o modalitate de a afla distanţa dintre două drepte necoplanare folosind volumul tetraedrului. Lecţia se adresează clasei a VIII-a Data:

Διαβάστε περισσότερα

Valori limită privind SO2, NOx şi emisiile de praf rezultate din operarea LPC în funcţie de diferite tipuri de combustibili

Valori limită privind SO2, NOx şi emisiile de praf rezultate din operarea LPC în funcţie de diferite tipuri de combustibili Anexa 2.6.2-1 SO2, NOx şi de praf rezultate din operarea LPC în funcţie de diferite tipuri de combustibili de bioxid de sulf combustibil solid (mg/nm 3 ), conţinut de O 2 de 6% în gazele de ardere, pentru

Διαβάστε περισσότερα

Fig Impedanţa condensatoarelor electrolitice SMD cu Al cu electrolit semiuscat în funcţie de frecvenţă [36].

Fig Impedanţa condensatoarelor electrolitice SMD cu Al cu electrolit semiuscat în funcţie de frecvenţă [36]. Componente şi circuite pasive Fig.3.85. Impedanţa condensatoarelor electrolitice SMD cu Al cu electrolit semiuscat în funcţie de frecvenţă [36]. Fig.3.86. Rezistenţa serie echivalentă pierderilor în funcţie

Διαβάστε περισσότερα

CIRCUITE INTEGRATE MONOLITICE DE MICROUNDE. MMIC Monolithic Microwave Integrated Circuit

CIRCUITE INTEGRATE MONOLITICE DE MICROUNDE. MMIC Monolithic Microwave Integrated Circuit CIRCUITE INTEGRATE MONOLITICE DE MICROUNDE MMIC Monolithic Microwave Integrated Circuit CUPRINS 1. Avantajele si limitarile MMIC 2. Modelarea dispozitivelor active 3. Calculul timpului de viata al MMIC

Διαβάστε περισσότερα

Examen AG. Student:... Grupa:... ianuarie 2011

Examen AG. Student:... Grupa:... ianuarie 2011 Problema 1. Pentru ce valori ale lui n,m N (n,m 1) graful K n,m este eulerian? Problema 2. Să se construiască o funcţie care să recunoască un graf P 3 -free. La intrare aceasta va primi un graf G = ({1,...,n},E)

Διαβάστε περισσότερα

5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE

5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE 5.5. A CIRCUITELOR CU TRANZISTOARE BIPOLARE PROBLEMA 1. În circuitul din figura 5.54 se cunosc valorile: μa a. Valoarea intensității curentului de colector I C. b. Valoarea tensiunii bază-emitor U BE.

Διαβάστε περισσότερα

2. Circuite logice 2.4. Decodoare. Multiplexoare. Copyright Paul GASNER

2. Circuite logice 2.4. Decodoare. Multiplexoare. Copyright Paul GASNER 2. Circuite logice 2.4. Decodoare. Multiplexoare Copyright Paul GASNER Definiţii Un decodor pe n bits are n intrări şi 2 n ieşiri; cele n intrări reprezintă un număr binar care determină în mod unic care

Διαβάστε περισσότερα

Asupra unei inegalităţi date la barajul OBMJ 2006

Asupra unei inegalităţi date la barajul OBMJ 2006 Asupra unei inegalităţi date la barajul OBMJ 006 Mircea Lascu şi Cezar Lupu La cel de-al cincilea baraj de Juniori din data de 0 mai 006 a fost dată următoarea inegalitate: Fie x, y, z trei numere reale

Διαβάστε περισσότερα

Modelare şi simulare Seminar 4 SEMINAR NR. 4. Figura 4.1 Reprezentarea evoluţiei sistemului prin graful de tranziţii 1 A A =

Modelare şi simulare Seminar 4 SEMINAR NR. 4. Figura 4.1 Reprezentarea evoluţiei sistemului prin graful de tranziţii 1 A A = SEMIR R. 4. Sistemul M/M// Caracteristici: = - intensitatea traficului - + unde Figura 4. Rerezentarea evoluţiei sistemului rin graful de tranziţii = rata medie de sosire a clienţilor în sistem (clienţi

Διαβάστε περισσότερα

RĂSPUNS Modulul de rezistenţă este o caracteristică geometrică a secţiunii transversale, scrisă faţă de una dintre axele de inerţie principale:,

RĂSPUNS Modulul de rezistenţă este o caracteristică geometrică a secţiunii transversale, scrisă faţă de una dintre axele de inerţie principale:, REZISTENTA MATERIALELOR 1. Ce este modulul de rezistenţă? Exemplificaţi pentru o secţiune dreptunghiulară, respectiv dublu T. RĂSPUNS Modulul de rezistenţă este o caracteristică geometrică a secţiunii

Διαβάστε περισσότερα

Esalonul Redus pe Linii (ERL). Subspatii.

Esalonul Redus pe Linii (ERL). Subspatii. Seminarul 1 Esalonul Redus pe Linii (ERL). Subspatii. 1.1 Breviar teoretic 1.1.1 Esalonul Redus pe Linii (ERL) Definitia 1. O matrice A L R mxn este in forma de Esalon Redus pe Linii (ERL), daca indeplineste

Διαβάστε περισσότερα

Subiecte Clasa a VIII-a

Subiecte Clasa a VIII-a Subiecte lasa a VIII-a (40 de intrebari) Puteti folosi spatiile goale ca ciorna. Nu este de ajuns sa alegeti raspunsul corect pe brosura de subiecte, ele trebuie completate pe foaia de raspuns in dreptul

Διαβάστε περισσότερα

Seminar 5 Analiza stabilității sistemelor liniare

Seminar 5 Analiza stabilității sistemelor liniare Seminar 5 Analiza stabilității sistemelor liniare Noțiuni teoretice Criteriul Hurwitz de analiză a stabilității sistemelor liniare În cazul sistemelor liniare, stabilitatea este o condiție de localizare

Διαβάστε περισσότερα

a n (ζ z 0 ) n. n=1 se numeste partea principala iar seria a n (z z 0 ) n se numeste partea

a n (ζ z 0 ) n. n=1 se numeste partea principala iar seria a n (z z 0 ) n se numeste partea Serii Laurent Definitie. Se numeste serie Laurent o serie de forma Seria n= (z z 0 ) n regulata (tayloriana) = (z z n= 0 ) + n se numeste partea principala iar seria se numeste partea Sa presupunem ca,

Διαβάστε περισσότερα

Laborator 11. Mulţimi Julia. Temă

Laborator 11. Mulţimi Julia. Temă Laborator 11 Mulţimi Julia. Temă 1. Clasa JuliaGreen. Să considerăm clasa JuliaGreen dată de exemplu la curs pentru metoda locului final şi să schimbăm numărul de iteraţii nriter = 100 în nriter = 101.

Διαβάστε περισσότερα

Asist. Dr. Oana Captarencu. otto/pn.html.

Asist. Dr. Oana Captarencu.  otto/pn.html. Reţele Petri şi Aplicaţii p. 1/45 Reţele Petri şi Aplicaţii Asist. Dr. Oana Captarencu http://www.infoiasi.ro/ otto/pn.html otto@infoiasi.ro Reţele Petri şi Aplicaţii p. 2/45 Evaluare Nota finala: 40%

Διαβάστε περισσότερα

Capitolul 14. Asamblari prin pene

Capitolul 14. Asamblari prin pene Capitolul 14 Asamblari prin pene T.14.1. Momentul de torsiune este transmis de la arbore la butuc prin intermediul unei pene paralele (figura 14.1). De care din cotele indicate depinde tensiunea superficiala

Διαβάστε περισσότερα

riptografie şi Securitate

riptografie şi Securitate riptografie şi Securitate - Prelegerea 21.2 - Sistemul de criptare ElGamal Adela Georgescu, Ruxandra F. Olimid Facultatea de Matematică şi Informatică Universitatea din Bucureşti Cuprins 1. Scurt istoric

Διαβάστε περισσότερα

Subiecte Clasa a VII-a

Subiecte Clasa a VII-a lasa a VII Lumina Math Intrebari Subiecte lasa a VII-a (40 de intrebari) Puteti folosi spatiile goale ca ciorna. Nu este de ajuns sa alegeti raspunsul corect pe brosura de subiecte, ele trebuie completate

Διαβάστε περισσότερα

Măsurări în Electronică şi Telecomunicaţii 3. Osciloscopul

Măsurări în Electronică şi Telecomunicaţii 3. Osciloscopul 3. Osciloscopul 3.6 Sistemul de sincronizare şi baza de timp Caracteristici generale Funcţionarea în modul Y(t) în acest caz osciloscopul reprezintă variaţia în timp a semnalului de intrare. n y u y C

Διαβάστε περισσότερα

Examen AG. Student:... Grupa: ianuarie 2016

Examen AG. Student:... Grupa: ianuarie 2016 16-17 ianuarie 2016 Problema 1. Se consideră graful G = pk n (p, n N, p 2, n 3). Unul din vârfurile lui G se uneşte cu câte un vârf din fiecare graf complet care nu-l conţine, obţinându-se un graf conex

Διαβάστε περισσότερα

2. Sisteme de forţe concurente...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...3

2. Sisteme de forţe concurente...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...3 SEMINAR 2 SISTEME DE FRŢE CNCURENTE CUPRINS 2. Sisteme de forţe concurente...1 Cuprins...1 Introducere...1 2.1. Aspecte teoretice...2 2.2. Aplicaţii rezolvate...3 2. Sisteme de forţe concurente În acest

Διαβάστε περισσότερα

11.3 CIRCUITE PENTRU GENERAREA IMPULSURILOR CIRCUITE BASCULANTE Circuitele basculante sunt circuite electronice prevăzute cu o buclă de reacţie pozitivă, folosite la generarea impulsurilor. Aceste circuite

Διαβάστε περισσότερα

Capitolul ASAMBLAREA LAGĂRELOR LECŢIA 25

Capitolul ASAMBLAREA LAGĂRELOR LECŢIA 25 Capitolul ASAMBLAREA LAGĂRELOR LECŢIA 25 LAGĂRELE CU ALUNECARE!" 25.1.Caracteristici.Părţi componente.materiale.!" 25.2.Funcţionarea lagărelor cu alunecare.! 25.1.Caracteristici.Părţi componente.materiale.

Διαβάστε περισσότερα

prin egalizarea histogramei

prin egalizarea histogramei Lucrarea 4 Îmbunătăţirea imaginilor prin egalizarea histogramei BREVIAR TEORETIC Tehnicile de îmbunătăţire a imaginilor bazate pe calculul histogramei modifică histograma astfel încât aceasta să aibă o

Διαβάστε περισσότερα

Laborator 1: INTRODUCERE ÎN ALGORITMI. Întocmit de: Claudia Pârloagă. Îndrumător: Asist. Drd. Gabriel Danciu

Laborator 1: INTRODUCERE ÎN ALGORITMI. Întocmit de: Claudia Pârloagă. Îndrumător: Asist. Drd. Gabriel Danciu INTRODUCERE Laborator 1: ÎN ALGORITMI Întocmit de: Claudia Pârloagă Îndrumător: Asist. Drd. Gabriel Danciu I. NOŢIUNI TEORETICE A. Sortarea prin selecţie Date de intrare: un şir A, de date Date de ieşire:

Διαβάστε περισσότερα

SIGURANŢE CILINDRICE

SIGURANŢE CILINDRICE SIGURANŢE CILINDRICE SIGURANŢE CILINDRICE CH Curent nominal Caracteristici de declanşare 1-100A gg, am Aplicaţie: Siguranţele cilindrice reprezintă cea mai sigură protecţie a circuitelor electrice de control

Διαβάστε περισσότερα

CIRCUITE LOGICE CU TB

CIRCUITE LOGICE CU TB CIRCUITE LOGICE CU T I. OIECTIVE a) Determinarea experimentală a unor funcţii logice pentru circuite din familiile RTL, DTL. b) Determinarea dependenţei caracteristicilor statice de transfer în tensiune

Διαβάστε περισσότερα

Geometrie computationala 2. Preliminarii geometrice

Geometrie computationala 2. Preliminarii geometrice Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Geometrie computationala 2. Preliminarii geometrice Preliminarii geometrice Spatiu Euclidean: E d Spatiu de d-tupluri,

Διαβάστε περισσότερα

Conice. Lect. dr. Constantin-Cosmin Todea. U.T. Cluj-Napoca

Conice. Lect. dr. Constantin-Cosmin Todea. U.T. Cluj-Napoca Conice Lect. dr. Constantin-Cosmin Todea U.T. Cluj-Napoca Definiţie: Se numeşte curbă algebrică plană mulţimea punctelor din plan de ecuaţie implicită de forma (C) : F (x, y) = 0 în care funcţia F este

Διαβάστε περισσότερα

COLEGIUL NATIONAL CONSTANTIN CARABELLA TARGOVISTE. CONCURSUL JUDETEAN DE MATEMATICA CEZAR IVANESCU Editia a VI-a 26 februarie 2005.

COLEGIUL NATIONAL CONSTANTIN CARABELLA TARGOVISTE. CONCURSUL JUDETEAN DE MATEMATICA CEZAR IVANESCU Editia a VI-a 26 februarie 2005. SUBIECTUL Editia a VI-a 6 februarie 005 CLASA a V-a Fie A = x N 005 x 007 si B = y N y 003 005 3 3 a) Specificati cel mai mic element al multimii A si cel mai mare element al multimii B. b)stabiliti care

Διαβάστε περισσότερα

11.2 CIRCUITE PENTRU FORMAREA IMPULSURILOR Metoda formării impulsurilor se bazează pe obţinerea unei succesiuni periodice de impulsuri, plecând de la semnale periodice de altă formă, de obicei sinusoidale.

Διαβάστε περισσότερα

4. Măsurarea tensiunilor şi a curenţilor electrici. Voltmetre electronice analogice

4. Măsurarea tensiunilor şi a curenţilor electrici. Voltmetre electronice analogice 4. Măsurarea tensiunilor şi a curenţilor electrici oltmetre electronice analogice oltmetre de curent continuu Ampl.c.c. x FTJ Protectie Atenuator calibrat Atenuatorul calibrat divizor rezistiv R in const.

Διαβάστε περισσότερα

Componente şi Circuite Electronice Pasive. Laborator 3. Divizorul de tensiune. Divizorul de curent

Componente şi Circuite Electronice Pasive. Laborator 3. Divizorul de tensiune. Divizorul de curent Laborator 3 Divizorul de tensiune. Divizorul de curent Obiective: o Conexiuni serie şi paralel, o Legea lui Ohm, o Divizorul de tensiune, o Divizorul de curent, o Implementarea experimentală a divizorului

Διαβάστε περισσότερα

SERII NUMERICE. Definiţia 3.1. Fie (a n ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0

SERII NUMERICE. Definiţia 3.1. Fie (a n ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0 SERII NUMERICE Definiţia 3.1. Fie ( ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0 şirul definit prin: s n0 = 0, s n0 +1 = 0 + 0 +1, s n0 +2 = 0 + 0 +1 + 0 +2,.......................................

Διαβάστε περισσότερα

CURS 3. Modelare cu Retele Petri

CURS 3. Modelare cu Retele Petri CURS 3 Modelare cu Retele Petri Sisteme cu Evenimente Discrete Un Sistem cu Evenimente Discrete (SED) este un sistem cu stari discrete, care evolueaza prin evenimente, adica evolutia sa depinde in intregime

Διαβάστε περισσότερα

Capitolul 4 PROPRIETĂŢI TOPOLOGICE ŞI DE NUMĂRARE ALE LUI R. 4.1 Proprietăţi topologice ale lui R Puncte de acumulare

Capitolul 4 PROPRIETĂŢI TOPOLOGICE ŞI DE NUMĂRARE ALE LUI R. 4.1 Proprietăţi topologice ale lui R Puncte de acumulare Capitolul 4 PROPRIETĂŢI TOPOLOGICE ŞI DE NUMĂRARE ALE LUI R În cele ce urmează, vom studia unele proprietăţi ale mulţimilor din R. Astfel, vom caracteriza locul" unui punct în cadrul unei mulţimi (în limba

Διαβάστε περισσότερα

Stabilizator cu diodă Zener

Stabilizator cu diodă Zener LABAT 3 Stabilizator cu diodă Zener Se studiază stabilizatorul parametric cu diodă Zener si apoi cel cu diodă Zener şi tranzistor. Se determină întâi tensiunea Zener a diodei şi se calculează apoi un stabilizator

Διαβάστε περισσότερα

R R, f ( x) = x 7x+ 6. Determinați distanța dintre punctele de. B=, unde x și y sunt numere reale.

R R, f ( x) = x 7x+ 6. Determinați distanța dintre punctele de. B=, unde x și y sunt numere reale. 5p Determinați primul termen al progresiei geometrice ( b n ) n, știind că b 5 = 48 și b 8 = 84 5p Se consideră funcția f : intersecție a graficului funcției f cu aa O R R, f ( ) = 7+ 6 Determinați distanța

Διαβάστε περισσότερα

FLUXURI MAXIME ÎN REŢELE DE TRANSPORT. x 4

FLUXURI MAXIME ÎN REŢELE DE TRANSPORT. x 4 FLUXURI MAXIME ÎN REŢELE DE TRANSPORT Se numeşte reţea de transport un graf în care fiecărui arc îi este asociat capacitatea arcului şi în care eistă un singur punct de intrare şi un singur punct de ieşire.

Διαβάστε περισσότερα

Seminariile Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reziduurilor

Seminariile Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reziduurilor Facultatea de Matematică Calcul Integral şi Elemente de Analiă Complexă, Semestrul I Lector dr. Lucian MATICIUC Seminariile 9 20 Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reiduurilor.

Διαβάστε περισσότερα

Curs 2 DIODE. CIRCUITE DR

Curs 2 DIODE. CIRCUITE DR Curs 2 OE. CRCUTE R E CUPRN tructură. imbol Relația curent-tensiune Regimuri de funcționare Punct static de funcționare Parametrii diodei Modelul cu cădere de tensiune constantă Analiza circuitelor cu

Διαβάστε περισσότερα

SEMINAR 14. Funcţii de mai multe variabile (continuare) ( = 1 z(x,y) x = 0. x = f. x + f. y = f. = x. = 1 y. y = x ( y = = 0

SEMINAR 14. Funcţii de mai multe variabile (continuare) ( = 1 z(x,y) x = 0. x = f. x + f. y = f. = x. = 1 y. y = x ( y = = 0 Facultatea de Hidrotehnică, Geodezie şi Ingineria Mediului Matematici Superioare, Semestrul I, Lector dr. Lucian MATICIUC SEMINAR 4 Funcţii de mai multe variabile continuare). Să se arate că funcţia z,

Διαβάστε περισσότερα

2.1 Sfera. (EGS) ecuaţie care poartă denumirea de ecuaţia generală asferei. (EGS) reprezintă osferă cu centrul în punctul. 2 + p 2

2.1 Sfera. (EGS) ecuaţie care poartă denumirea de ecuaţia generală asferei. (EGS) reprezintă osferă cu centrul în punctul. 2 + p 2 .1 Sfera Definitia 1.1 Se numeşte sferă mulţimea tuturor punctelor din spaţiu pentru care distanţa la u punct fi numit centrul sferei este egalăcuunnumăr numit raza sferei. Fie centrul sferei C (a, b,

Διαβάστε περισσότερα

Erori si incertitudini de măsurare. Modele matematice Instrument: proiectare, fabricaţie, Interacţiune măsurand instrument:

Erori si incertitudini de măsurare. Modele matematice Instrument: proiectare, fabricaţie, Interacţiune măsurand instrument: Erori i incertitudini de măurare Sure: Modele matematice Intrument: proiectare, fabricaţie, Interacţiune măurandintrument: (tranfer informaţie tranfer energie) Influente externe: temperatura, preiune,

Διαβάστε περισσότερα

Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane

Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane Subspatii ane Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane Oana Constantinescu Oana Constantinescu Lectia VI Subspatii ane Table of Contents 1 Structura de spatiu an E 3 2 Subspatii

Διαβάστε περισσότερα

Problema a II - a (10 puncte) Diferite circuite electrice

Problema a II - a (10 puncte) Diferite circuite electrice Olimpiada de Fizică - Etapa pe judeţ 15 ianuarie 211 XI Problema a II - a (1 puncte) Diferite circuite electrice A. Un elev utilizează o sursă de tensiune (1), o cutie cu rezistenţe (2), un întrerupător

Διαβάστε περισσότερα

Aparate de măsurat. Măsurări electronice Rezumatul cursului 2. MEE - prof. dr. ing. Ioan D. Oltean 1

Aparate de măsurat. Măsurări electronice Rezumatul cursului 2. MEE - prof. dr. ing. Ioan D. Oltean 1 Aparate de măsurat Măsurări electronice Rezumatul cursului 2 MEE - prof. dr. ing. Ioan D. Oltean 1 1. Aparate cu instrument magnetoelectric 2. Ampermetre şi voltmetre 3. Ohmetre cu instrument magnetoelectric

Διαβάστε περισσότερα

Principiul incluziunii si excluziunii. Generarea şi ordonarea permutărilor. Principiul porumbeilor. Pri

Principiul incluziunii si excluziunii. Generarea şi ordonarea permutărilor. Principiul porumbeilor. Pri Generarea şi ordonarea permutărilor. Principiul porumbeilor. Principiul incluziunii si excluziunii Recapitulare din cursul trecut Presupunem că A este o mulţime cu n elemente. Recapitulare din cursul trecut

Διαβάστε περισσότερα

TRANSFORMATOARE MONOFAZATE DE SIGURANŢĂ ŞI ÎN CARCASĂ

TRANSFORMATOARE MONOFAZATE DE SIGURANŢĂ ŞI ÎN CARCASĂ TRANSFORMATOARE MONOFAZATE DE SIGURANŢĂ ŞI ÎN CARCASĂ Transformatoare de siguranţă Este un transformator destinat să alimenteze un circuit la maximum 50V (asigură siguranţă de funcţionare la tensiune foarte

Διαβάστε περισσότερα

Εμπορική αλληλογραφία Ηλεκτρονική Αλληλογραφία

Εμπορική αλληλογραφία Ηλεκτρονική Αλληλογραφία - Εισαγωγή Stimate Domnule Preşedinte, Stimate Domnule Preşedinte, Εξαιρετικά επίσημη επιστολή, ο παραλήπτης έχει ένα ειδικό τίτλο ο οποίος πρέπει να χρησιμοποιηθεί αντί του ονόματος του Stimate Domnule,

Διαβάστε περισσότερα

Laborator 6. Integrarea ecuaţiilor diferenţiale

Laborator 6. Integrarea ecuaţiilor diferenţiale Laborator 6 Integrarea ecuaţiilor diferenţiale Responsabili: 1. Surdu Cristina(anacristinasurdu@gmail.com) 2. Ştirbăţ Bogdan(bogdanstirbat@yahoo.com) Obiective În urma parcurgerii acestui laborator elevul

Διαβάστε περισσότερα

2CP Electropompe centrifugale cu turbina dubla

2CP Electropompe centrifugale cu turbina dubla 2CP Electropompe centrifugale cu turbina dubla DOMENIUL DE UTILIZARE Capacitate de până la 450 l/min (27 m³/h) Inaltimea de pompare până la 112 m LIMITELE DE UTILIZARE Inaltimea de aspiratie manometrică

Διαβάστε περισσότερα

Câmp de probabilitate II

Câmp de probabilitate II 1 Sistem complet de evenimente 2 Schema lui Poisson Schema lui Bernoulli (a bilei revenite) Schema hipergeometrică (a bilei neîntoarsă) 3 4 Sistem complet de evenimente Definiţia 1.1 O familie de evenimente

Διαβάστε περισσότερα

LUCRARE DE LICENŢĂ. Algoritmi de planificare a resurselor in sisteme de operare de timp real

LUCRARE DE LICENŢĂ. Algoritmi de planificare a resurselor in sisteme de operare de timp real Universitatea Politehnica Bucureşti Facultatea de Automatică şi Calculatoare Departamentul de Automatică şi Ingineria Sistemelor LUCRARE DE LICENŢĂ Algoritmi de planificare a resurselor in sisteme de operare

Διαβάστε περισσότερα

Exemple de probleme rezolvate pentru cursurile DEEA Tranzistoare bipolare cu joncţiuni

Exemple de probleme rezolvate pentru cursurile DEEA Tranzistoare bipolare cu joncţiuni Problema 1. Se dă circuitul de mai jos pentru care se cunosc: VCC10[V], 470[kΩ], RC2,7[kΩ]. Tranzistorul bipolar cu joncţiuni (TBJ) este de tipul BC170 şi are parametrii β100 şi VBE0,6[V]. 1. să se determine

Διαβάστε περισσότερα

Componente şi Circuite Electronice Pasive. Laborator 4. Măsurarea parametrilor mărimilor electrice

Componente şi Circuite Electronice Pasive. Laborator 4. Măsurarea parametrilor mărimilor electrice Laborator 4 Măsurarea parametrilor mărimilor electrice Obiective: o Semnalul sinusoidal, o Semnalul dreptunghiular, o Semnalul triunghiular, o Generarea diferitelor semnale folosind placa multifuncţională

Διαβάστε περισσότερα

Curs 2 Şiruri de numere reale

Curs 2 Şiruri de numere reale Curs 2 Şiruri de numere reale Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Convergenţă şi mărginire Teoremă Orice şir convergent este mărginit. Demonstraţie Fie (x n ) n 0 un

Διαβάστε περισσότερα

Sisteme liniare - metode directe

Sisteme liniare - metode directe Sisteme liniare - metode directe Radu T. Trîmbiţaş 27 martie 2016 1 Eliminare gaussiană Să considerăm sistemul liniar cu n ecuaţii şi n necunoscute Ax = b, (1) unde A K n n, b K n 1 sunt date, iar x K

Διαβάστε περισσότερα

13. Grinzi cu zăbrele Metoda izolării nodurilor...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...

13. Grinzi cu zăbrele Metoda izolării nodurilor...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate... SEMINAR GRINZI CU ZĂBRELE METODA IZOLĂRII NODURILOR CUPRINS. Grinzi cu zăbrele Metoda izolării nodurilor... Cuprins... Introducere..... Aspecte teoretice..... Aplicaţii rezolvate.... Grinzi cu zăbrele

Διαβάστε περισσότερα

TEMA 9: FUNCȚII DE MAI MULTE VARIABILE. Obiective:

TEMA 9: FUNCȚII DE MAI MULTE VARIABILE. Obiective: TEMA 9: FUNCȚII DE MAI MULTE VARIABILE 77 TEMA 9: FUNCȚII DE MAI MULTE VARIABILE Obiective: Deiirea pricipalelor proprietăţi matematice ale ucţiilor de mai multe variabile Aalia ucţiilor de utilitate şi

Διαβάστε περισσότερα

Definiţia generală Cazul 1. Elipsa şi hiperbola Cercul Cazul 2. Parabola Reprezentari parametrice ale conicelor Tangente la conice

Definiţia generală Cazul 1. Elipsa şi hiperbola Cercul Cazul 2. Parabola Reprezentari parametrice ale conicelor Tangente la conice 1 Conice pe ecuaţii reduse 2 Conice pe ecuaţii reduse Definiţie Numim conica locul geometric al punctelor din plan pentru care raportul distantelor la un punct fix F şi la o dreaptă fixă (D) este o constantă

Διαβάστε περισσότερα

VII.2. PROBLEME REZOLVATE

VII.2. PROBLEME REZOLVATE Teoria Circuitelor Electrice Aplicaţii V PROBEME REOVATE R7 În circuitul din fiura 7R se cunosc: R e t 0 sint [V] C C t 0 sint [A] Se cer: a rezolvarea circuitului cu metoda teoremelor Kirchhoff; rezolvarea

Διαβάστε περισσότερα

Activitatea A5. Introducerea unor module specifice de pregătire a studenţilor în vederea asigurării de şanse egale

Activitatea A5. Introducerea unor module specifice de pregătire a studenţilor în vederea asigurării de şanse egale Investeşte în oameni! FONDUL SOCIAL EUROPEAN Programul Operaţional Sectorial pentru Dezvoltarea Resurselor Umane 2007 2013 Axa prioritară nr. 1 Educaţiaşiformareaprofesionalăînsprijinulcreşteriieconomiceşidezvoltăriisocietăţiibazatepecunoaştere

Διαβάστε περισσότερα

Realizat de: Ing. mast. Pintilie Lucian Nicolae Pentru disciplina: Sisteme de calcul în timp real Adresă de

Realizat de: Ing. mast. Pintilie Lucian Nicolae Pentru disciplina: Sisteme de calcul în timp real Adresă de Teorema lui Nyquist Shannon - Demonstrație Evidențierea conceptului de timp de eșantionare sau frecvență de eșantionare (eng. sample time or sample frequency) IPOTEZĂ: DE CE TIMPUL DE EȘANTIONARE (SAU

Διαβάστε περισσότερα

Analiza funcționării și proiectarea unui stabilizator de tensiune continuă realizat cu o diodă Zener

Analiza funcționării și proiectarea unui stabilizator de tensiune continuă realizat cu o diodă Zener Analiza funcționării și proiectarea unui stabilizator de tensiune continuă realizat cu o diodă Zener 1 Caracteristica statică a unei diode Zener În cadranul, dioda Zener (DZ) se comportă ca o diodă redresoare

Διαβάστε περισσότερα

3. Momentul forţei în raport cu un punct...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...4

3. Momentul forţei în raport cu un punct...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...4 SEMINAR 3 MMENTUL FRŢEI ÎN RAPRT CU UN PUNCT CUPRINS 3. Momentul forţei în raport cu un punct...1 Cuprins...1 Introducere...1 3.1. Aspecte teoretice...2 3.2. Aplicaţii rezolvate...4 3. Momentul forţei

Διαβάστε περισσότερα

Sortare. 29 martie Utilizarea şi programarea calculatoarelor. Curs 16

Sortare. 29 martie Utilizarea şi programarea calculatoarelor. Curs 16 Sortare 29 martie 2005 Sortare 2 Sortarea. Generalitǎţi Sortarea = aranjarea unei liste de obiecte dupǎ o relaţie de ordine datǎ (ex.: pentru numere, ordine lexicograficǎ pt. şiruri, etc.) una din clasele

Διαβάστε περισσότερα

TAD Stiva (STACK) Observaţii: 1. sunt aşezate ordonat unele peste altele. Un element nou se adaugă în stivă deasupra elementului cel mai recent

TAD Stiva (STACK) Observaţii: 1. sunt aşezate ordonat unele peste altele. Un element nou se adaugă în stivă deasupra elementului cel mai recent TAD Stiva (STACK) Observaţii: 1. În limbajul uzual cuvântul stivă referă o grămadă în care elementele constitutive sunt aşezate ordonat unele peste altele. Un element nou se adaugă în stivă deasupra elementului

Διαβάστε περισσότερα

Capitolul 4. Integrale improprii Integrale cu limite de integrare infinite

Capitolul 4. Integrale improprii Integrale cu limite de integrare infinite Capitolul 4 Integrale improprii 7-8 În cadrul studiului integrabilităţii iemann a unei funcţii s-au evidenţiat douăcondiţii esenţiale:. funcţia :[ ] este definită peintervalînchis şi mărginit (interval

Διαβάστε περισσότερα

Metode Runge-Kutta. 18 ianuarie Probleme scalare, pas constant. Dorim să aproximăm soluţia problemei Cauchy

Metode Runge-Kutta. 18 ianuarie Probleme scalare, pas constant. Dorim să aproximăm soluţia problemei Cauchy Metode Runge-Kutta Radu T. Trîmbiţaş 8 ianuarie 7 Probleme scalare, pas constant Dorim să aproximăm soluţia problemei Cauchy y (t) = f(t, y), a t b, y(a) = α. pe o grilă uniformă de (N + )-puncte din [a,

Διαβάστε περισσότερα

* K. toate K. circuitului. portile. Considerând această sumă pentru toate rezistoarele 2. = sl I K I K. toate rez. Pentru o bobină: U * toate I K K 1

* K. toate K. circuitului. portile. Considerând această sumă pentru toate rezistoarele 2. = sl I K I K. toate rez. Pentru o bobină: U * toate I K K 1 FNCȚ DE ENERGE Fie un n-port care conține numai elemente paive de circuit: rezitoare dipolare, condenatoare dipolare și bobine cuplate. Conform teoremei lui Tellegen n * = * toate toate laturile portile

Διαβάστε περισσότερα

5.1. Noţiuni introductive

5.1. Noţiuni introductive ursul 13 aitolul 5. Soluţii 5.1. oţiuni introductive Soluţiile = aestecuri oogene de două sau ai ulte substanţe / coonente, ale căror articule nu se ot seara rin filtrare sau centrifugare. oonente: - Mediul

Διαβάστε περισσότερα