Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεPetrus Boer Τροποποιήθηκε πριν 6 χρόνια
1
Sisteme de operare Real-Time; Planificarile in Real-Time
Aldea Olga Grupa IISC
2
Sisteme de operare Real-time
Managementul sarcinilor Sisteme TT (Time-Triggered) Sisteme ET (Event-Triggered) Comunicarea intre procese Semafoare Managementul timpului Sincronizarea de ceas Detectarea erorilor Monitorizarea timpilor de executie a sarcinilor Monitorizarea intreruperilor Watchdog
3
Sisteme de operare Real-Time
Trebuie sa puna la dispozitie servicii predictibile Trebuie cunoscuta intarzierea pentru scenariul cel mai prost Analiza analitica a serviciilor dinamice Creare dinamina de sarcini Managementul memoriei virtuale Managementul stivei dinamice UNIX
4
Sisteme TT(Time-Triggered)
Control temporal al sarcinilor stabilit offline Dispecer activat de ceasul sincronizat Diagrama starilor pentru o sarcina cu intreruperi
5
Sisteme ET (Event-Triggered)
Programatorul decide la rulare care din sarcini se va executa mai departe
6
Comunicarea intre procese
Necesara pentru schimbarea informatiei intre sarcini concurente Comunicare bazata pe mesaje => alegere intre evenimente si stari Sistemul de operare implementeaza un mecanism de stare a mesajelor Semafoare Mecanism de fortare a executiei mutual exclusive a sectiunii critice (sincronizare explicita). Solicita memorie Daca un proces ajunge la un semafor blocat, procesul este pus in coada si intarziat pana cand sectiunea critica este eliberata. Apoi procesul este scos din coada si se executa.
7
Sincronizarea de ceas Serviciu esential in sisteme de timp real
Implementat in sistemul de operare daca nu este implementat in sistemul de comunicatie Implementarea la nivel de sistem de operare este mai buna ca implementarea la nivel de aplicatie
8
Detectarea erorilor Trebuie cunoscuta limita maxima de rulare in cazul cel mai defavorabil Executia operatiei se poate opri cu eroare sau succes. Sarcinile ulterioare sunt informate de aparitia erorilor O întrerupere externă eronată poate duce la întreruperea controlului temporal Perioadele minime dintre două întreruperi trebuie cunoscute pentru a determina vârful încărcării ce trebuie gestionată de sistemul de operare Semnalul de watchdog ar trebui produs periodic la momente de timp cunoscute. Un observator dinafară poate detecta eșecul nodului în momentul în care semnalul de watchdog dispare.
9
Planificarile in Real-Time
Problema planificarii Clasificarea algoritmilor de planificare Test de programabilitate Argumentul oponent Planificarea dinamica Planificarea independenta a sarcinilor Protocolul cu limitarea prioritatii
10
Clasificarea algoritmilor de planificare
Programator Dinamic (online) - mai flexibil Static (offline) – decizii de planificare la compilare Planificare de timp real Soft Hard Dinamic Static Preemptivă Nonpreemptivă
11
Test de programabilitate
Test ce determina daca un set de sarcini poate fi planificat astfel incat sa atinga deadline-ul Teste de programabilitate Exact Necesar Suficient Planificator optimal – exista un plan pentru un test de programabilitate exact
12
Argumentul oponent Cerere de timp – momentul de timp in care o sarcina cere executarea Sarcini: Periodice Sporadice . Fie un set de sarcini {Ti} al unei sarcini periodice cu perioada pi, intervalul de deadline di și timpul de execuție ci Un test de programabilitate necesar pentru un set de sarcini periodice arată că suma de utilizare a factorilor: trebuie să fie mai mică sau egală cu n, unde n este numărul de procesoare disponibile.
13
Planificarea independenta a sarcinilor
Se face daca se respecta urmatoarele: Toate sarcinile din setul {Ti} pentru care există deadline-uri, sunt periodice Toate sarcinile sunt independente una față de alta. Nu există contrângeri de precedență și nici constrângeri de excludere reciprocă. Intervalul de deadline al sarcinii Ti este egal cu perioada pi. Timpul maxim de calcul pentru fiecare sarcină ci este cunoscut dinainte și este constant. Timpul de schimbare al contextului poate fi ignorat. Suma factorilor de folosire μ a celor n sarcini este dată de Algoritmi: Earliest-Deadline-First (EDF), Least-Laxity (LL)
14
Protocolul cu limitarea prioritatii
Eveniment Acțiune 1 T3 începe execuția 2 T3 blochează S3 3 T2 este pornit și întrerupe T3 4 T2 devine blocat când încearcă să acceseze S3 din moment ce T2 nu are prioritate mai mare decât prioritatea limitată a lui S3 blocat. T3 reia execuția secțiunii critice cu prioritatea moștenită a lui T2. 5 T1 este inițiat la blocarea lui T3 6 T1 blochează semaforul S1. Prioritatea T1 este mai mare decât prioritatea limitată a tuturor semafoarelor blocate 7 T1 deblochează semaforul S1 8 T1 termină execuția. T3 continuă cu prioritatea moștenită a lui T2. 9 T3 blochează semaforul S2 10 T3 deblochează S2 11 T3 deblochează S3 și se întoarce cu prioritatea cea mai mică. În acest moment T2 poate bloca S2. 12 T2 lochează S3 13 T2 deblochează S3 14 T2 deblochează S2 15 T2 se termină. T3 reia activitatea. 16 T3 se termină. Timp Eveniment: Sarcina 1 Sarcina 2 Sarcina 3 Secvența de comandă: T1: .., P(S1), .., V(S1), .. (prioritatea cea mai înaltă) T2: .., P(S2), .., P(S3), .., V(S3), .., V(S2), .. (prioritate medie) T3: .., P(S3), ..,P(S2), ..,V(S2), ..,V(S3), .. (cea mai mică prioritate) Secțiune critică protejată de: S1(înalt) S2 (înalt) S3 (mediu)
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.