Sunteți pe pagina 1din 14

SISTEME DE OPERARE REAL-TIME; PLANIFICARILE IN REAL-TIME

Aldea Olga Grupa IISC

SISTEME DE OPERARE REAL-TIME

Managementul sarcinilor

Sisteme TT (Time-Triggered) Sisteme ET (Event-Triggered)


Semafoare Sincronizarea de ceas

Comunicarea intre procese

Managementul timpului

Detectarea erorilor

Monitorizarea timpilor de executie a sarcinilor Monitorizarea intreruperilor Watchdog

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

SISTEME TT(TIME-TRIGGERED)
Control temporal al sarcinilor stabilit offline Dispecer activat de ceasul sincronizat

Diagrama starilor pentru o sarcina cu intreruperi

SISTEME ET (EVENT-TRIGGERED)

Programatorul decide la rulare care din sarcini se va executa mai departe

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.

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

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 vrful ncrcrii ce trebuie gestionat de sistemul de operare Semnalul de watchdog ar trebui produs periodic la momente de timp cunoscute. Un observator dinafar poate detecta eecul nodului n momentul n care semnalul de watchdog dispare.

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

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

Preemptiv

Nonpreemptiv

10

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

11

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 execuie 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 numrul de procesoare disponibile.

12

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 contrngeri de preceden i nici constrngeri 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)


13

PROTOCOLUL CU LIMITAREA PRIORITATII


Eveniment 1 2 3 Aciune Secvena de comand: T1: .., P(S1), .., V(S1), .. (prioritatea cea mai nalt) T3 ncepe execuia T3 blocheaz S3 T2: .., P(S2), .., P(S3), .., V(S3), .., V(S2), .. (prioritate medie) T2 este pornit i ntrerupe T3 T2 devine blocat cnd ncearc s acceseze S3 T3: .., P(S3), ..,P(S2), ..,V(S2), ..,V(S3), .. (cea mai mic prioritate) din moment ce T2 nu are prioritate mai mare dect prioritatea limitat a lui S3 blocat. T3 reia execuia seciunii critice cu prioritatea motenit a lui T2. T1 este iniiat la blocarea lui T3 T1 blocheaz semaforul S1. Prioritatea T1 este mai mare dect prioritatea limitat a tuturor Sarcina semafoarelor blocate T1 deblocheaz semaforul S1 3 T1 termin execuia. T3 continu cu prioritatea motenit a lui T2. Sarcina T3 blocheaz semaforul S2 2 T3 deblocheaz S2 T3 deblocheaz S3 i se ntoarce cu prioritatea Sarcina cea mai mic. n acest moment T2 poate bloca Timp 1 S2. T2 locheaz S3 4 5 6 7 8 9 10 11 12 13 14 15 16 T2 deblocheaz S3 Eveniment: 1 2 3 T2 deblocheaz S2 T2 se termin. T3 reia activitatea. Seciune critic protejat de: S1(nalt) S2 (nalt) S3 (mediu) T3 se termin.

5 6 7 8

9 10
11 12 13 14 15 16

14

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